Un saluto a tutti. è da un po' di tempo che mi scervello con questo problema: io ho caricato questi due sketch su due diversi arduino uno, sperando che si accendesse il led collegato sul pin appena collegavo l'rx di uno al tx dell'altro, ma così non è stato... Qualcheduno può trovarmi l'intoppo?
Ciao,
se posso darti un consiglio:
utilizza una connessione SoftwareSerial.
In questo modo puoi utilizzare il Serial monitor per inviare comandi all'altro Arduino e soprattutto per fare debug, facendoti stampare a video quello che arriva.
C'è un esempio che dovresti poter utilizzare direttamente (l'unica modifica che ti consiglio è di settare le velocità delel porte seriali sw e hw ugualmente):
Example -> SoftwareSerial -> SoftwareSerialExample
Te l'ho detto, devi verificare che dalla lettura, ottieni il 9, crei una variabile char e gli assegni il valore letto, poi verifichi se nella variabile c'è il 9, e di conseguenza accendi o spegni il led
E' vero, la compilazione non mi dà problemi, e rispetta le funzioni anche quando gliele invio da serial monitor; quando però gliele invio tramite il pin tx dell'altro arduino sull' rx del ricevente non dà segni di vita. Ho provato anche con uno sketch più semplice:
int incomingByte = 0; // for incoming serial data
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
void loop() {
// send data only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();
// say what you got:
Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
}
SUBSEA:
Purtroppo niente neanche così... Cosa può essere?
Allora dobbiamo usare un pò di logica debbugghiana
Colega sia il tx che l'rx al serial monitor dell'ide e vedi se comunicano bene, a questo punto potrebbe esserci qualcosa nel collegamento che cavi usi?
colleghi RX con TX e TX con RX?
Ragazzi,
se collegate 2 Arduino usando la seriale (pin 0 e 1), il serial monitor non vedrà mai nulla, perchè ogni Serial.print viene dirottato verso l'altra Arduino.
SUBSEA, riparti dal mio post precedente, almeno hai modo di verificare la comunicazione tra le due Arduino.
pitusso:
Ragazzi,
se collegate 2 Arduino usando la seriale (pin 0 e 1), il serial monitor non vedrà mai nulla, perchè ogni Serial.print viene dirottato verso l'altra Arduino.
infatti gli avevo detto di collegare prima l'arduino TX al pc e vedere se va e poi l'RX sapendo che gli sketch funzionano correttamente credo che ci sia qualcosa nei collegamenti che non va.
EVVIVA!!! CI SONO RIUSCITO!!! In poche parole ho scollegato l'arduino ricevente e attaccato tramite alimentatore e tutto funziona perfettamente! Ho pensato a quello che aveva scritto pitusso
Ragazzi,
se collegate 2 Arduino usando la seriale (pin 0 e 1), il serial monitor non vedrà mai nulla, perchè ogni Serial.print viene dirottato verso l'altra Arduino.
ed ho pensato che poteva essere vero il contrario, ovvero che se sono collegati sarà il serial monitor a prendersi le informazioni e a creare il problema. Quindi ho alimentato esternamente entrambe le schede e la connessione si è verificata. Vi ringrazio molto! XD
In pratica questo mi serviva per far connettere via infrarosso le due schede. sisi, so che c'è la libreria di shriff, ma mi andava di fare le cose diversamente. Tramite filo la cosa funziona, e anche usando il telecomando del tv. Però, appena ho provato a mettere il mio led IR attaccato a arduino si è cotto. Come è possibile alimentare il led, che penso sia da 3V con arduino che ne dà 5?
In pratica questo mi serviva per far connettere via infrarosso le due schede. sisi, so che c'è la libreria di shriff, ma mi andava di fare le cose diversamente.
credo di non capire: hai attaccato in IR alla porta seriale?