Effetto alba e tramonto

Davidesbela:
-Ho esigenza di pilotare 4 linee distinte di led + una linea per la luce lunare quindi in tutto 5 linee.. Ognuna dovrà avere le sue fasi, e magari avere la possibilità di aggiungere altre linee facilmente..
-Vorrei inserire anche un display che mi comunichi lo stato dei led (accesi spenti quali percentuale ecc)
-Vorrei inserire pulsantini x ogni linea in modo, in caso serva, poter accendere/spegnere i led manualmente

Premetto che i led attualmente sono alimentati da un alimentatore stabilizzato 12V da 8A, Arduino potrà essere collegato a questo alimentatore oppure avrà un alimentatore suo?

Provo a risponderti, ma tieni presente che ho iniziato con Arduino 2 anni fa, completamente a digiuno di elettronica e con scarse basi di programmazione:

  • Inizialmente per progettare e testare tutto, sia il sofware che i circuiti, una o più breadboard sono secondo me fondamentali, vedi le mie che ti metto in allegato.
  • Nel mio progetto, piloto i led utilizzando gli irf540, sono robutsi come carico di corrente che possono sopportare e li ho testati sia con strip led lunghe 5m da 12Vdc che da 24Vdc, nel mio progetto però gestisco due linee luci e basta, una per la luce diurna ed uno per la luce lunare, tu perché ne vuoi usare addirittura 5, quindi un irf a linea, ma come mai 5 linee?
  • Come display, uso un 20x4 con controller hd44780, collegato ad Arduino via I2c utilizzando un pcf8574, cerca nel forum e trovi sia circuito che componenti, via software ti serve la libreria "LiquidCrystal_I2C"
  • Io uso un RTC esterno, perché in caso di blackout con la sua batteria è in grado mantenendo l'ora di far ripartire Arduino dal punto giusto, li trovi sia assemblati che non, sta a te decidere, puoi usare come libreria si la "DS1307" che la "Time" quest'ultima forse è migliore, io ho iniziato ad usarla da poco.
  • I pulsanti, io li uso per gestire il software che ho scritto, ne uso 5 : "su/giu" o "inc/dec" a secondo di dove mi trovo nei menù e nelle impostazioni, "dx/sx" per muovermi nei menù, "ok"; anche questi li ho collegati ad un pcf8574 e li leggo via I2c, puoi usare sia la libreria "Wire" che la libreria "IOexp", quest'ultima è un po' più comoda da usare. A questo punto puoi accendere e spengere direttamente via software
  • Per alimentare arduino, io uso un alimentatorino separato da 12v, utile per far funzionare anche una scheda relé anchessi da 12v che uso per accendere e spengere luci ed altri accessori dell'acquario (riscaldatore, elettrovavole per il cambio automatico ed altro), i 12v poi con un lm7805 li trasformo in 5v per alimentare sia il display che gli altri ic (i 5v di arduino non ce la fanno a fare tutto), per il circuito del lm7805 nel datasheet trovi quello basic, ma su google ce ne sono di più sofisticati, sta a te decidere
  • Per la scheda relè che accende e spenge le varie cose/accessori dell'acquario, ho usato il circuito della Ardupower (googla), solo che ho usato un ULN2803 per avere 8 canali/relè che piloto utilizzando uno shift register 74hc595, i relè che uso sono i finder 40.52 con zoccolino, quest'ultimo ha la lingueta di tenuta, utile se i relé lavorano in verticale, questi relé sono a doppio contatto per poter staccare tutte e due le fasi.
  • Ti serviranno resistenze di vari valori, ad esempio 1,5k per il pullup della linea I2C, 10k per il pullup dei pulsanti, condensatori da 100nF per il disaccopiiamento degli IC ed altro ancora, la domanda che hai posto è molto articolata....
  • Ti serve prima di ogni altra cosa secondo me uno starter kit ed un buon libro, usare Arduino non è difficile ma come in tutte le cose è meglio partire dall'ABC.

Non è facile risponderti, primo perché la domanda che hai fatto è molto articolata, poi perché in elettronica e con il software, le possibili soluzioni sono infinite, ad ogni modo io ho iniziato prima scrivendo poche righe e leggendo i risultati sul seria monitor, poi ho imparato ad usare il display, poi ho attaccato l'rtc e via così, in pratica un passo alla volta, ti consiglio di fare la stessa cosa, proprio perché hai poco tempo, e così facendo non ti ingolfi cercando di far funzionare tutto insieme... 8)

Ora devo andare.
Spero di esserti stato utile.

Ciao Riccardo.