Salve a tutti.
Mi sono appena iscritto per un ovvio motivo e spero di aver pubblicato il topic nello spazio giusto. Inanzitutto vi porto al corrente che possiedo una scheda Arduino Uno Rev 3, una tastiera 4x4, un display LCD 16x2 e due processori ATMega328 (con Bootloader) con quarzi e condensatori appositi. Dopo aver fatto qualche progettino da principiante ho messo da parte la scheda e ora voglio riprenderla per utilizzarla per attivare 9 relè tramite la tastiera 4x4. Vi spiego in dettaglio: una volta alimentata la scheda Arduino posso scegliere quale relè attivare attraverso i 9 tasti della tastiera (premendo 1 si attiva il relè 1, con il tasto 2 si attiva il relè 2 etc fino al tasto 9) e i relè rimangono attivati fin quando non si ripreme il tasto (premo il tasto 1 per attivare il relè 1 e rimane attivo fin quando non ripremo il tasto 1). Inoltre voglio visualizzare tramite il display LCD i relè che sono attivi (esempio: Relè attivi: 1,2,3). Con la stessa tastiera, premendo il tasto 0 si disattivano tutti i relè attivi e con i tasti A, B, C e D attivo 4 differenti uscite digitali per altri scopi e si disattivano sempre e soltanto con i rispettivi tasti.
Potete darmi una mano su come scrivere tutto il programma (perché non ricordo perfettamente) ?
Per quanto riguarda la parte hardware so cavarmela, mi basta avere i rispettivi segnali sulle rispettive uscite digitali e per i relè ci penso io (mi serve solo un aiutino sulla tastiera e sul display LCD).
Grazie mille.
Si, che sei stato chiaro.
Pero', visto che come hardware te la cavi, devi capire come collegare il tutto
tastiera = 8 pin
Lcd = 6 pin
rele' = 9 pin
altri scopi = 4 pin
Aspetta, non mi tornano i conti ... la uno, se non sbaglio, ha in tutto 14 pin "usabili" come uscite digitali, fra standard e PWM ... ora tu vuoi pilotare 9 rele, piu 4 uscite digitali, in piu collegare la tastiera 4x4 (altri 8 fili), piu il display LCD (mi pare come minimo servano altri 7 fili) ... 9+4+8+7 fa 28 ... e credo che il 28 nel 14 non ci stia ...
mi sa che se vuoi usare la uno, dovrai costruirti almeno un'espansione a shift register ...
Sono alle prime armi e un progetto simile interesserebbe anche a me... Sarebbe fattibile con modulo i2c per lcd, shift in (74HC165)per tastiera e shift out(74HC595)per i relè? Sempre su un arduino uno?
Dovrebbe ... il modulo I2C richiede due fili (non conto ovviamente le alimentazioni :P), e le espansioni shift register, sia gli ingressi con gli HC165 che le uscite con gli HC595, come minimo 3 (se non si usa il clear, altrimenti 4) ... anche volendo essere pignoli e usare i clear, sono comunque al massimo 10 pin (8 senza i clear) per tutto quanto ...
Etemenanki:
Dovrebbe ... il modulo I2C richiede due fili (non conto ovviamente le alimentazioni :P), e le espansioni shift register, sia gli ingressi con gli HC165 che le uscite con gli HC595, come minimo 3 (se non si usa il clear, altrimenti 4) ... anche volendo essere pignoli e usare i clear, sono comunque al massimo 10 pin (8 senza i clear) per tutto quanto ...
Giusto... allora, togliendo il display LCD mi serviranno 17 porte digitali.. che non ho.. se dividiamo i compiti a più processori? Cioè il primo si occupa dei primi cinque relè e l'altro degli altri 4 (utilizzando la stessa tastiera) ?
Dimenticavo gli altri 5 tasti (0,A,B,C,D). Allora al primo diamo il compito di accendere i primi d relè più i tasti 0,A e B mentre all'altro facciamo accendere gli altri quattro relè più i tasti C e D.
A questo punto, se vuoi usare due unità, ti conviene farti una standalone con due ATmega328 o usare una Mega.
Se scegli la strada delle due unità, ti conviene secondo me che una gestisca tastiera ed LCD e l'altra i relè.
Le colleghi con I2C e sei a posto.
Scusa, ma perche' non usi gli shift register, invece che due micro ?
Ad esempio, questa era una shield che avevo progettato tempo fa per la UNO, permette 16 ingressi protetti e 16 uscite a collettore aperto (con gli ULN2803), e avanza ancora qualche pin ... fare una cosa simile per quello che ti serve (magari anche piu semplificata) non dovrebbe essere molto diffficile, a livello hardware ... Varie "shield" casalinghe, possono servire ? - #30 by Etemenanki - Generale - Arduino Forum
Ne avevo postate altre, quindi dai un'occhiata ai vari post e vedi che e' possibile fare un bel po di roba, usando semplicemente un paio di shift registers
Oppure, visto che possiamo collegare in I2C sia tastiera che LCD ( ci sono pure librerie ) rimarrebbero a disposizione 18 pin ( dato che l'I2C usa solo due pin )
In allegato lo schema costruttivo, se poi non sei in grado di montarlo ci sono pure schedine già pronte
Si.. So montarlo ma mi spieghi bene come funziona il tutto? Cioè io collego questo circuitino ad arduino alle due porte analogiche A5 e A4 e quando premo i pulsanti sulla tastiera cosa succede?