Suddividerò il post in varie sezioni così potrete saltare i pezzi che non vi interessano!
PRESENTAZIONE:
Salve a tutti, sono un ragazzo di 16 anni. Sperimento con arduino da circa 2 anni, nello specifico sono partito con un bel progetto sin da subito e man mano che passa il tempo, faccio degli esperimenti che mi fanno capire bene come procedere con il progetto principale. Frequento un liceo Scientifico e pertanto non ho mai avuto delle basi scolastiche di elettronica o informatica, ma ritengo che ora ho delle buone basi, grazie al mio studio personale. Sono un autodidatta, le mie conoscenze e competenze derivano da molti corsi online, sia gratis sia a pagamento, ho un libro (Arduino trucchi e segreti - Paolo Aliverti)e ovviamente non mancano tutti i video tutorial su Youtube (Ringrazio in particolare Paolo Aliverti).
IL PROGETTO:
Sto sperimentando la comunicazione Seriale tra un Arduino Mega (Master) e un Arduino Uno (Slave).
Il progetto consiste che sull'Arduino Mega che d'ora in poi definirò come primo Arduino, ci sono 3 potenziometri, mentre sull'Arduino Uno, che sarà il secondo Arduino, c'è un led rgb e un display oled.
Il primo Arduino deve inviare i valori dei potenziometri al secondo Arduino, che riconoscerà e stamperà sull'oled i valori separandoli per i tre colori:rosso, verde, blu. Il progetto è dunque molto semplice.
IL PROBLEMA:
Se collego il secondo Arduino direttamente al computer e quindi uso il monitor seriale per comandare il led rgb, tutto funziona alla perfezione, mentre se collego i due arduini insieme, il secondo riceve ogni tanto i valori del led Rosso e quindi non funzionano gli altri led. Da questo è facile giungere alla conclusione che il problema si trova nel codice del primo Arduino, nella parte in cui invia i dati.
LA LOGICA DEL CODICE:
La logica è spiegata passo-passo con i commenti del codice. Spero di aver fatto un buon lavoro.
- Lo schema elettrico e il codice sono in allegato.
P.s. Ho seguito la procedura corretta sull'Arduino Uno: Ho scollegato TX e RX, ho caricato il codice, ho collegato i cavi e infine ho resettato la scheda.
P.s. Gli altri componenti che vedrete nello schema sono irrilevanti, nel codice sono solo impostati i loro pin, ancora non hanno una funzione.
GRAZIE A TUTTI IN ANTICIPO!
Sketch_x_Master.ino (6.71 KB)
Sketch_x_Slave.ino (6.83 KB)