tag:blogger.com,1999:blog-3357841112927133214.post5682038216023088802..comments2024-03-01T11:40:48.291+01:00Comments on Il Plastico Modulare: Un pannello di controllo per scambi per sistemi Xpressnet© con Arduino NanoStefano Fagnanihttp://www.blogger.com/profile/05072236073750652443noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-3357841112927133214.post-51972928614887776362021-05-20T10:10:45.034+02:002021-05-20T10:10:45.034+02:00vorrei provare a costruire il modulo ma non capisc...vorrei provare a costruire il modulo ma non capisco alcune cose.....vorrei far almentare arduino dai 12 v del cavo expressnet inserendolo in vin e questo mi sembra di vederlo nello schema dei collegamenti, non capisco i due connettori vicino a vin e gnd che si trovano a detra,a sinistra di quei 2 ci sono 2 connessioni segnate con A e B, oltre che nel max 845 dove vanno anche?giacomo chianesehttps://www.blogger.com/profile/05120698191695210516noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-10960196100061720712021-02-03T23:05:21.634+01:002021-02-03T23:05:21.634+01:00Benissimo! Benissimo! Stefano Fagnanihttps://www.blogger.com/profile/05072236073750652443noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-6091413139804754692021-02-02T07:36:57.421+01:002021-02-02T07:36:57.421+01:00Bene! ricorda di cambiare l' indirizzo Xnet ne...Bene! ricorda di cambiare l' indirizzo Xnet nello sketch:<br /><br />#define XNetAddress 29 //Adress on XpressNet bus<br /><br />ciao!antogarhttps://www.blogger.com/profile/05341230020295782571noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-15485776049794118722021-02-01T17:36:54.904+01:002021-02-01T17:36:54.904+01:00Si in realtà si, anche con la delay funziona; ho i...Si in realtà si, anche con la delay funziona; ho impostato l'iterval.<br />Vi confermo che ora il colloquio sia con Il Multimouse che con il decoder DCC Arduino funziona perfettamente.<br />Next step: verificare che il colloquio con un Sinottico-XpressNet configurato come secondo Slave funzioni.<br />Anonymoushttps://www.blogger.com/profile/05907350187389263296noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-71410998591777529872021-02-01T13:47:15.602+01:002021-02-01T13:47:15.602+01:00Bene. Per quanto riguarda lo sketch, hai usato la ...Bene. Per quanto riguarda lo sketch, hai usato la tua versione con la funzione delay() ?antogarhttps://www.blogger.com/profile/05341230020295782571noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-59693902187405002862021-02-01T11:06:19.320+01:002021-02-01T11:06:19.320+01:00Allora:
Relativamente a ERR13 ho fatto un inversio...Allora:<br />Relativamente a ERR13 ho fatto un inversione dei pin A e B al cavo che va allo slave.<br />QUindi il cavo che collega questo dispositivo allo slave del booster Roco e': GND-A-B-Vcc da una parte e GND-B-A-VCC dall'altra (supposto il cavo a 4 poli). Interessante capire come comportarsi per uno slòave aggiuntivo.. SArà il mio prossimo espoerimento.<br />Relaivamente alla trasmissione.. era problema di Arduino (usavo una versione col processore DIP cambiuandolo ha funzionato).<br />Ho risolto anche un problema sul turnout: https://www.h0-modellbahnforum.de/t343805f19606-Tastenstellpult-am-Xpressnet.html qui trovate delle info per risolvere problemi di compatibilità con Lenz e Roco. Sono ai test finali, vi aggiorno!Anonymoushttps://www.blogger.com/profile/05907350187389263296noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-34059471197012604062021-02-01T08:31:44.859+01:002021-02-01T08:31:44.859+01:00No, non è normale.
Come ho avuto modo di dire in u...No, non è normale.<br />Come ho avuto modo di dire in uno dei miei commenti, nello sketch che tu hai postato il pin di controllo del MAX485 è indicato come D5:<br /><br />#define XNetSRPin 5 //Max485 Busdriver Send/Receivepin - DO NOT CHANGE!<br /><br />mentre nel mio schema (e nello sketch pubblicato) il pin è D2:<br /><br />#define XNetSRPin 2 //Max485 Busdriver Send/Receivepin - DO NOT CHANGE!<br /><br />tale pin di controllo va collegato alla coppia di pin (2 e 3) del MAX485: nel tuo circuito montato, quale pin di Arduino hai usato ?<br /><br />Come hai eliminato l' ERR13: hai cambiato cavo ? hai usato lo sketch che ho postato io ?antogarhttps://www.blogger.com/profile/05341230020295782571noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-5428184898111744112021-01-31T19:46:07.745+01:002021-01-31T19:46:07.745+01:00Ciao Ragazzi. Grazie dell'aiuto. Ho eliminato ...Ciao Ragazzi. Grazie dell'aiuto. Ho eliminato l'errore ERR13.<br />Purtroppo anche cosi non riesco. Ho provato a usare un altro arduino come "sniffer" di segnale DCC (vedi progetto decoder dcc arduino)e vedo sempre FF 0 FF ovvero nessun messaggio viene trasmesso. <br />Mi viene un dubbio: ma è normale che i pin TX e RX NON lampeggino durante la trasmissione serial a MAX485?<br />Anonymoushttps://www.blogger.com/profile/05907350187389263296noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-20087814665142806122021-01-30T07:52:20.241+01:002021-01-30T07:52:20.241+01:00void loop() {
XpressNet.receive();
if ( (mil...void loop() {<br /><br /> XpressNet.receive();<br /><br /> if ( (millis() - temporizzatore) > 2000) {<br /> temporizzatore = millis();<br /> switchState = !switchState;<br /> if (switchState) {<br /> XpressNet.setTrntPos(0, address_switch + address_offset, B1000);<br /> flashled ();<br /> }<br /> else {<br /> XpressNet.setTrntPos(0, address_switch + address_offset, B0000);<br /> flashled ();<br /> }<br /> }<br /><br />}antogarhttps://www.blogger.com/profile/05341230020295782571noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-18228562438895444552021-01-30T07:51:50.075+01:002021-01-30T07:51:50.075+01:00void flashled () {
for (int a = 0; a<nflash; ...void flashled () {<br /> for (int a = 0; a<nflash; a++) {<br /> ledState = !ledState;<br /> digitalWrite (13, ledState);<br /> delay (flashduration);<br /> }<br /> digitalWrite (13, LOW);<br /> ledState = 0;<br />}<br />// INIT<br /><br />void setup() {<br /><br /> flashled ();<br /> XpressNet.start(XNetAddress, XNetSRPin); //Initialisierung XNet-Bus<br />}antogarhttps://www.blogger.com/profile/05341230020295782571noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-53956115102608731492021-01-30T07:51:21.683+01:002021-01-30T07:51:21.683+01:00#include
XpressNetClass XpressNet;
#define XNet...#include <br />XpressNetClass XpressNet;<br /><br />#define XNetAddress 29 //Adress on XpressNet bus<br />#define XNetSRPin 5 //Max485 Busdriver Send/Receivepin - DO NOT CHANGE! <br />#define interval 8500 // Parametro interno alla libreria - NON CANCELLARE<br /><br />boolean ledState = 0, switchState = 0;<br />int address_offset = 3;<br />int address_switch;<br /><br />int long temporizzatore = 0;<br /><br />const int nflash = 5; // set number of flashes for led on pin 13<br />const int flashduration = 60; // duration of flash pulse<br />antogarhttps://www.blogger.com/profile/05341230020295782571noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-46415001664393517802021-01-30T07:48:27.348+01:002021-01-30T07:48:27.348+01:00Provo a pubblicare lo sketch in più parti perchè s...Provo a pubblicare lo sketch in più parti perchè supera il limite massimo di caratteri consentiti...antogarhttps://www.blogger.com/profile/05341230020295782571noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-54517134644084620562021-01-29T20:05:01.804+01:002021-01-29T20:05:01.804+01:00A proposito verifica che il circuito che hai reali...A proposito verifica che il circuito che hai realizzato sia coerente con la dichiarazione:<br />#define XNetSRPin 5 //Max485 Busdriver Send/Receivepin - DO NOT CHANGE!<br />ovvero che t abbia collegato D5 di Arduino ai pin 2 e 3 del MAX485<br /><br />antogarhttps://www.blogger.com/profile/05341230020295782571noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-21122967949969297572021-01-29T19:53:00.748+01:002021-01-29T19:53:00.748+01:00Questo commento è stato eliminato dall'autore.antogarhttps://www.blogger.com/profile/05341230020295782571noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-12684696057297964432021-01-29T19:47:16.374+01:002021-01-29T19:47:16.374+01:00Ciao David,
allora, hai un po' troppo semplifi...Ciao David,<br />allora, hai un po' troppo semplificato lo sketch. Ad esempio non puoi eliminare la dichiarazione della costante <br />#define interval 8500<br />poi non si deve usare la funzione delay() in quanto mette in halt il processore e di fatto blocca il bus. La funzione XpressNet.receive(); deve essere eseguita il più velocemente possibile.<br />Per far fare ad Arduino il lavoro occorre usare la funzione millis(), ho elaborato uno sketch che farebbe al caso tuo (non ho potuto provarlo sul plastico però) ma confido nel suo corretto funzionamento.<br /><br />antogarhttps://www.blogger.com/profile/05341230020295782571noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-74272399877192593182021-01-29T19:25:54.365+01:002021-01-29T19:25:54.365+01:00ERR13 indica che il mmouse è in modalità slave e n...ERR13 indica che il mmouse è in modalità slave e non trova master nel bus Xpressnet. Verifica che il mmouse sia collegato nella porta master con un cavo Rj12 a 6 conduttori, e non 4, questo è molto importante. Ovviamente i due dispositivi non devono avere lo stesso indirizzo. Collegando il solo mmouse funziona regolarmente? Stefano Fagnanihttps://www.blogger.com/profile/05072236073750652443noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-53515709592295956022021-01-29T15:33:54.674+01:002021-01-29T15:33:54.674+01:00Utlizzo il Multimouse agganciato al suo booster + ...Utlizzo il Multimouse agganciato al suo booster + questo sketch collegato all'ingresso slave del boosterAnonymoushttps://www.blogger.com/profile/05907350187389263296noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-3451986776954563232021-01-29T09:27:44.329+01:002021-01-29T09:27:44.329+01:00Buongiorno David, grazie per il commento. Che cent...Buongiorno David, grazie per il commento. Che centrale DCC utilizzi? Stefano Fagnanihttps://www.blogger.com/profile/05072236073750652443noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-48976076218854068052021-01-29T09:26:53.986+01:002021-01-29T09:26:53.986+01:00Di seguito lo sketch ipersemplificato. La libreria...Di seguito lo sketch ipersemplificato. La libreria usata è quella <br />in http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/XpressNet.zip<br /><br />#include "XpressNet.h" <br />XpressNetClass XpressNet;<br />#define XNetAddress 25 //Adress on XpressNet bus<br />#define XNetSRPin 5 //Max485 Busdriver Send/Receivepin - DO NOT CHANGE!<br /><br /><br /><br />byte address_offset = 0;<br />byte address_switch;<br /><br /><br />void setup() {<br /> <br /><br /> flashled ();<br /><br /> XpressNet.start(XNetAddress, XNetSRPin); //Initialisierung XNet-Bus<br /> <br />}<br /><br />void loop() {<br />delay(1000);<br /> XpressNet.receive();<br />delay(1000);<br /> address_switch = 0 ;<br /><br /> XpressNet.setTrntPos(0, address_switch + address_offset, B1000); //set output straight active <br /><br /> delay(2000);<br /> <br /> XpressNet.setTrntPos(0, address_switch + address_offset, B0000);// set output straight inactive <br /><br /> delay(2000);<br /><br /><br /> <br />}Davidl77noreply@blogger.comtag:blogger.com,1999:blog-3357841112927133214.post-11687578355932537802021-01-29T09:18:26.454+01:002021-01-29T09:18:26.454+01:00Ciao.
Graziue per il progetto è interessantissimo!...Ciao.<br />Graziue per il progetto è interessantissimo!<br />Sto però impazzendo con questo progetto. L ho semplificato ai fini di test in modo da chiudere e aprire uno scambio in maniera ciclica. Il problema è che appena connetto alla porta slave il multimouse mi fa err13. Questo errore è dovuto alla 0resenza di più master.. Ovvero sembra che il 'quadro scambi' si comporti come un master sulla xpressnet e non come slave. Ti è per caso capitato anche a te? Ti ringrazio per l aiuto perché ci sto impazzendo! Davidlnoreply@blogger.com