Go Down

Topic: Effetto alba e tramonto (Read 5425 times) previous topic - next topic

Davidesbela

Buongiorno, dovrei ricreare l effetto alba tramonto e luce lunare in ambiente acquaristico..
Io sono del tutto inesperto di elettronica e programmazione, ma ci proviamo..

Vorrei pilotare i led completamente con Arduino, Arduino dovrebbe quindi essere sempre collegato alla corrente, e da quanto leggevo mi serve un rtc, che xò nn so nemmeno cosa sia 

-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

Cosa mi serve precisamente pezzo x pezzo per ottenere questi 3 punti?

Inizio con il prendere i pezzi ed assemblarli, poi chiederò per la programmazione..
Diciamo cmq che alla veloce, dovrà essere all incirca così:
ore:

11.00 alba che dovrà durare circa 30 minuti
11,30 inizio pieno giorno che sarà al 100% nel giro di 30 minuti
18.00 accensione altra striscia led come sopra..
e poi a decrementare, ma scriverò poi gli orari con precisione quando sarà il tempo..


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?
Grazie in anticipo, spero in una buona collaborazione!
Saluti, Davide

Federico

Mi pare che questo topic nel forum sia italiano sia internazionale sia gia' stato trattato parecchie volte. Hai svolto delle ricerche? F
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

Davidesbela

la mia ignoranza nella lingua inglese mi impedisce di guardare nel forum internazionale, senò non avrei aperto un "inutile" post..
Ho fatto una ricerca e letto 30 pagine senza trovare ciò che serve a me..
ok effetto alba tramonto l ho trovata, molto blandamente xò!
A me servono linee separate....

Davidesbela

...e qualcuno che con tanta pazienza mi dica come e dove mettere le mani.. non siamo tutti ferrati di elettronica..Se nn trovo le info e la persona tanto paziente bè allora vorrà dire che continuerò con i vecchi timer..

pelletta


...e qualcuno che con tanta pazienza mi dica come e dove mettere le mani.. non siamo tutti ferrati di elettronica..Se nn trovo le info e la persona tanto paziente bè allora vorrà dire che continuerò con i vecchi timer..


Un consiglio un pò rude: continua con i timer almeno per ora, anche se solo con questi non farai la dissolvenza.
Questo non per dirti di abbandonare il mondo arduino, evitiamo fraintendimenti: comincia piano piano ad imparare come funziona arduino, fare qualche piccolo esperimento. Ad esempio potresti prendere il tuo progetto, suddividerlo a moduli e cercare di far funzionare una cosa per volta. Quando riesci a far funzionare le parti singole quindi orologio, dissolvenza dei led, display, pulsanti, ecc allora prova ad unire tutto insieme.
Quello che cerchi ora visto che dici di non saper programmare e fare circuiti è una persona che ti fa tutto il progetto e ti passa il compito...
Comunque anche se non hai mai fatto un circuito non ti devi affatto spaventare, se cerchi come far funzionare un pulsante, oppure come far variare la luminosità di uno o più led le informazioni si trovano in rete, difficilmente troverai tutto il progetto che hai in mente bello e pronto.
Dai, metti un pò di coraggio e vedrai che pian piano lo facciamo sto crepuscolare però serve anche un pò di impegno da parte tua... hai già arduino ed altri componenti per iniziare a fare le prime prove?
Spero di non averti demotivato, ciao

Davidesbela

Pelletta, nn so se ho scritto male io oppure in questo forum si trova poca gente semplice e disposta a dare una mano, che, x quello che devo fare io, x molti di voi sarà sicuramente una sciocchezza... Io di solito sono abituato ad aiutare sempre gli altri, se vedo clima ostile faccio retromarcia, ma nn vedo il xchè cmq, in un forum creato apposta x aiutare utenti inesperti con Arduino, si debba fare i saccenti dando risposte "usa la ricerca" o altro..
Ma vabbè ci riprovo a spiegare più in breve magari si capiscie meglio..

Io non ho mai chiesto di farmi il progetto, se si legge con normale attenzione il mio post, si dovrebbe dedurre che io sto SEMPLICEMENTE chiedendo che pezzi esattamente dovrei prendere x soddisfare i "3 punti" che ho descritto sopra...

Oltretutto, mi spiace, ma anche se mi piacerebbe, non ho proprio il tempo materiale x mettermi li a sperimentare pezzetto x pezzetto  :smiley-eek-blue: io ho bisogno di sapere i pezzi esatti da acquaistare, e dopo aver preso i pezzi, un aiuto sulla compilazione! chiedo troppo?

MauroTec

Quote
Oltretutto, mi spiace, ma anche se mi piacerebbe, non ho proprio il tempo materiale x mettermi li a sperimentare pezzetto x pezzetto  smiley-eek-blue io ho bisogno di sapere i pezzi esatti da acquaistare, e dopo aver preso i pezzi, un aiuto sulla compilazione! chiedo troppo?


No, ma se non hai ricevuto risposte soddisfacenti si vede che non c'è nessuno al momento che sappia risponderti in modo esauriente.

Io non ho la risposta in tasca non ho un'acquario e sono estraneo alla tua necessità. La lista della spesa che proponi mi richiede di immergermi in problemi che non ho affrontato mai e quindi tempo che non ho da dedicare.

Quote
Oltretutto, mi spiace, ma anche se mi piacerebbe, non ho proprio il tempo materiale x mettermi li a sperimentare pezzetto x pezzetto

E richiesto questo tempo da parte tua se non lo hai lascia perdere la realizzazione da zero e cerca sul forum o sulla rete qualcosa che sia già stata fatta e di sicuro funzionamento. Poi se vuoi apportare delle modifiche a ciò che hai funzionante posta e si vede se si possono fare. Questa è la strada più semplice che mi sento di consigliarti.

Quote

Pelletta, nn so se ho scritto male io oppure in questo forum si trova poca gente semplice e disposta a dare una mano, che, x quello che devo fare io, x molti di voi sarà sicuramente una sciocchezza... Io di solito sono abituato ad aiutare sempre gli altri, se vedo clima ostile faccio retromarcia, ma nn vedo il xchè cmq, in un forum creato apposta x aiutare utenti inesperti con Arduino, si debba fare i saccenti dando risposte "usa la ricerca" o altro..
Ma vabbè ci riprovo a spiegare più in breve magari si capiscie meglio..

Lascia giudicare a questi cosa è una sciocchezza per loro e cosa richiede impegno, certamente non avendo le conoscenze informatiche ed elettroniche sei la persona meno adatta a giudicare.

Ti posso assicurare in buona fede che non è così semplice, ovviamente se qui c'è un'utente che ha già affrontato le tue problematiche è vuole mostrarle e discuterle io sono il primo ad invitarlo  qui.

Non prenderla così, è il modo sbagliata e te ne accorgi se leggi i vecchi post, vedi come funziona e capisci che nulla e dovuto e se ci sono dei contenuti interessanti nascono spontaneamente.

Ciao.


AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Federico


-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
Cosa mi serve precisamente pezzo x pezzo per ottenere questi 3 punti?


Ad ogni modo, per la mera lista di componenti, io utilizzerei dei mosfet per pilotare le linee di luce, IRF520, uno per ogni linea che ti occorre. Tieni conto che per ogni linea della quale vuoi pilotare la quantita' di luce, e non solo l'acceso-spento, andrai ad utilizzare un pin su arduino marchiato PWM.

Per il display devi prendere un display LCD che sia basato sul circuito Hitachi HD44780 http://arduino.cc/en/Reference/LiquidCrystal?from=Tutorial.LCDLibrary

Per accendere manualmente ti occorrerà un relè, e pulsanti. Segui questo schema e relativa lista di componenti per cosa ti serve, ANCHE se, avendo il display puoi farne a meno. Potresti avere un menu, che scorri sul display con pulsanti che ti permette di eseguire tutte le tue regolazioni

Schema relè: www.arduino.cc/playground/uploads/Main/relays.pdf



Spero ti possa essere utile per iniziare. La comunità del forum è molto disponibile però è anche pratica e quindi noi lo sappiamo che per uno che non ha mai fatto un lavoro di questo tipo non sarà facile ad esempio fare il menu del video, e altre amenità...

Fede
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

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
Cosa mi serve precisamente pezzo x pezzo per ottenere questi 3 punti?


Ad ogni modo, per la mera lista di componenti, io utilizzerei dei mosfet per pilotare le linee di luce, IRF520, uno per ogni linea che ti occorre. Tieni conto che per ogni linea della quale vuoi pilotare la quantita' di luce, e non solo l'acceso-spento, andrai ad utilizzare un pin su arduino marchiato PWM.

Per il display devi prendere un display LCD che sia basato sul circuito Hitachi HD44780 http://arduino.cc/en/Reference/LiquidCrystal?from=Tutorial.LCDLibrary

Per accendere manualmente ti occorrerà un relè, e pulsanti. Segui questo schema e relativa lista di componenti per cosa ti serve, ANCHE se, avendo il display puoi farne a meno. Potresti avere un menu, che scorri sul display con pulsanti che ti permette di eseguire tutte le tue regolazioni

Schema relè: www.arduino.cc/playground/uploads/Main/relays.pdf



Spero ti possa essere utile per iniziare. La comunità del forum è molto disponibile però è anche pratica e quindi noi lo sappiamo che per uno che non ha mai fatto un lavoro di questo tipo non sarà facile ad esempio fare il menu del video, e altre amenità...

Fede



Grazie mille, gentilissimo! inizio a segnarmi i pezzi e "codici" che mi hai scritto e mi informo su questi..

Diciamo che, se inizio prendendo

Un Arduino duemilanove
Un RTC (dico giusto? in quanto mi serve che gestisce l ora, se si, quale RTC?)
5 Mosfet (in quanto ho 5 linee giusto? x la cronaca, ogni linea richiede 1.5A sui 12V devo utilizzare dei mosfet particolari x l amperaggio?)
Un Display
e una scheda millefori (?)

dovrei teoricamente avere tutto?

X il discorso "menù" o "pulsanti" bè ovvio, che il primo mi alletta molto di più, deduco che mi servirà cmq un joistick o qualcosa di simile x entrare e girare all interno del menù!?


X Risp a Maurotec, probabilmente hai frainteso il mio post, nn volevo far intendere quello che hai capito tu..
Io sono un grafico pubblicitario, qualcosa di elettronica pc mac ecc ci capisco ma ho veramente poco tempo da dedicare a queste cose, ciò nn vuol dire che devo lasciar perdere, ciò vuol dire che devo captare tutte le info più preziose e utili senza perdita di tempo, e penso che questo sia il posto più giusto.. L illuminazione del mio acquario la sto studiando da un anno e mezzo, tempo passato a studiare i led migliori ecc, ora che ho trovato la quadra giusta, vorrei gestirli con Arduino.. il discorso "acquariofilia" può anche nn centrare, mettila sul piano elettronico e basta..
Oltretutto con la frase "x molti di voi sarà sicuramente una sciocchezza..." che tu hai inteso come "giudizio" x me voleva essere un complimento, cioè, del tipo, se tu vieni in un forum dove io sono un "esperto" sarà ovvio che, cose x te complicate all inzio, saranno semplici x me.. saluti  :D

MatteoG


Quote
L illuminazione del mio acquario la sto studiando da un anno e mezzo, tempo passato a studiare i led migliori ecc, ora che ho trovato la quadra giusta, vorrei gestirli con Arduino.. il discorso "acquariofilia" può anche nn centrare, mettila sul piano elettronico e basta..


Anche a me interessa questo thread perchè anche io ho un acquario e poche conoscenze di elettronica/programmazione.
Perchè non posti più dettagli su quanto sopra? A me per esempio piacerebbe poter controllare lo stato dell'acquario via internet perchè mi capita regolarmente di non essere a casa per qualche settimana e non lo posso tenere sotto controllo. So che è già stato fatto, ho visto molti post ma per ora sono lontano.
Nel frattempo sto imparando arduino e company passo a passo, con lo scopo finale di unire tutto e fare qualcosa di utile XD
Dai gente fatevi sotto XD

Gli IRF520 li ho e precisamente in questo periodo sto cercando di capire come farli funzionare senza friggere tutto.

Domanda x gli esperti: esiste il sistema per far funzionare arduino come timer giornaliero, cioè che si auto resetti ogni 24 ore in modo da non andare in overflow? così non dovrebbe servire un clock esterno.
Ciao, Matteo.

PaoloP

#10
Jan 24, 2012, 05:00 pm Last Edit: Jan 24, 2012, 05:02 pm by PaoloP Reason: 1

Domanda x gli esperti: esiste il sistema per far funzionare arduino come timer giornaliero, cioè che si auto resetti ogni 24 ore in modo da non andare in overflow? così non dovrebbe servire un clock esterno.


C'è la fantastica libreria swRTC di Leo. --> http://arduino.cc/forum/index.php/topic,73496.0.html
Se poi hai intenzione di collegare il tutto ad internet puoi anche sincronizzare il tempo con i server NTP: http://it.wikipedia.org/wiki/Network_Time_Protocol

Ricordo, inoltre, che qualcuno stava lavoranto ad un progetto per dare da mangiare ai pesci.  8)

MatteoG



Domanda x gli esperti: esiste il sistema per far funzionare arduino come timer giornaliero, cioè che si auto resetti ogni 24 ore in modo da non andare in overflow? così non dovrebbe servire un clock esterno.


C'è la fantastica libreria swRTC di Leo. --> http://arduino.cc/forum/index.php/topic,73496.0.html
Se poi hai intenzione di collegare il tutto ad internet puoi anche sincronizzare il tempo con i server NTP: http://it.wikipedia.org/wiki/Network_Time_Protocol

Ricordo, inoltre, che qualcuno stava lavoranto ad un progetto per dare da mangiare ai pesci.  8)



Grazie, interessantissssimo XD
adesso mi ci vorrà una settimana per leggere tutte le 44 pagine del thread per capire ... XD XD
Ciao, Matteo.

Federico

Oppure utilizzi un RTC esterno. ( real time clock)
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

MatteoG

Mah, per me sono cose nuove tutte e due.  XD
Provo prima con la libreria, anche perchè l'HW RTC non ce l'ho.
Alla fine non penso di aver bisogno di una grande precisione, poco importa ai pesci di mangiare 5 minuti prima o dopo. L'importante è che il timer si ripeta ogni 24 ore, almeno per 4 settimane, senza problemi.
Ciao, Matteo.

Matteo301

#14
Oct 05, 2012, 04:07 pm Last Edit: Oct 05, 2012, 07:16 pm by UweFederer Reason: 1
Ciao sono Matteo sono nuovo nel forum

sono giorni che mi leggo i vari problemi nel realizzare un effetto alba tramonto. Io ho provato diversi modi ma non riesco a capire quale funzione sia più adatta al mio progetto. Sono un elettrotecnico e programmatore di plc ma arduino è molto diverso.

Ho realizzato un effetto alba tramonto pilotando dei mosfet IRF 540n con le uscite PW 3,5,6 una per ogni serie di led bianco, blu e rosso.
Per pilotare il tutto ho in ingresso un timer digitale esterno con contatto a deviatore, lo uso per inizio alba e inizio tramonto,
conatto chiuso inizio alba e contatto aperto inizio tramonto, mi funziona tutto ma di continuo, se il contatto e chiuso mi ripete sempre l'alba e se è chiuso di continuo il tramonto. Ho anche messo dei led per indicare qundo inizia e finisce una funzione. Il progetto è in loop ho provato a metterlo anche in setup ma poi per farlo ripartire devo resettarlo perche altrimenti lo legge una volta sola. Vi allego il codice, se qualcuno può darmi un consiglio. :~
Ho provato ad usare anche il controllo switch, while, do... al posto di if e else.


Code: [Select]
int ledBianco =3;    // Dichiara il PIN led BIANCO di arduino incaricato di gestire il fading
int ledBlu =5;  // Dichiara il PIN led BLU di arduino incaricato di gestire il fading
int ledRosso =6;   // Dichiara il PIN led ROSSO di arduino incaricato di gestire il fading
int InizioAlba =7; // spia inizio alba
int FineAlba =8;   // spia fine alba
int InizioTramonto =12; // spia inizio tramonto
int FineTramonto =13;   // spia fine tramonto

const int Switch =1;
int StatoSwitch =0;


void setup()  {
 pinMode(3, OUTPUT);
 pinMode(5, OUTPUT);
 pinMode(6, OUTPUT);
 
 pinMode(7, OUTPUT);
 pinMode(8, OUTPUT);
 pinMode(12, OUTPUT);
 pinMode(13, OUTPUT);
pinMode(Switch, INPUT); // ingresso timer esterno per inizio ciclo alba contatto chiuso tramonto contatto aperto

}

void loop(){

StatoSwitch= digitalRead(Switch);

if(StatoSwitch==0){
 
 digitalWrite(7, HIGH); // SPIA INIZIO ALBA
 digitalWrite(13, LOW); // SPENGO SPIA FINE TRAMONTO PER INIZIO CICLO
 // inizio alba con bianco lento seguito dal blu
 // Esegue un aumento progressivo della luminosità  da 0 a 255 (massimo) con step di 1 punti
 for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=1) {
   // Invia il valore al mosfet (0-255):
   analogWrite(ledBianco, fadeValue);        
   // tempo in millisecondi per poter visualizzare l'effetto di dimmeraggio
   delay(4500); // 300 millisecondi corrispondono a 1 minito circa con incremento 1                          
 }
 
 // Esegue un aumento progressivo della luminosità  da 0 a 255 (massimo) con step di 1 punti
 for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=1) {
   // Invia il valore al mosfet (0-255):
   analogWrite(ledBlu, fadeValue);        
   // tempo in millisecondi per poter visualizzare l'effetto di dimmeraggio
   delay(3000);
 }
  digitalWrite(8, HIGH); // SPIA FINE ALBA
}  


else {

 digitalWrite(12, HIGH); // SPIA INIZIO TRAMONTO
 
// inizio tramonto led BIANCO scende lento inizio salita led ROSSO lento fino al massimo poi inizio discesa led BLU e ROSSO(più veloce del BLU) per arrivare alla luce lunare.
 // Esegue una diminuzione progressiva della luminosità  da 255 a 20 con step di -1 punti
 for(int fadeValue = 255 ; fadeValue >= 20; fadeValue -=1) {
   // Invia il valore al mosfet (0-255):
   analogWrite(ledBianco, fadeValue);        
   // tempo in millisecondi per poter visualizzare l'effetto di dimmeraggio
   delay(3000);                          
 }
 // Esegue un aumento progressivo della luminosità  da 0 a 255 (massimo) con step di 1 punti
 for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=1) {
   // Invia il valore al mosfet (0-255):
   analogWrite(ledRosso, fadeValue);        
   // tempo in millisecondi per poter visualizzare l'effetto di dimmeraggio
   delay(1500);
 }
    // Esegue una diminuzione progressiva della luminosità  da 255 a 40 (intensità  50) con step di -1 punti
 for(int fadeValue = 255 ; fadeValue >= 40; fadeValue -=1) {
   // Invia il valore al mosfet (0-255):
   analogWrite(ledBlu, fadeValue);        
   // Attende 30 millisecondi prima in modo da poter visualizzare l'effetto di dimmeraggio
   delay(3000);  
}
 // Esegue una diminuzione progressiva della luminosità  da 255 a 0 (INTENSITA 20) con step di -1 punti
 for(int fadeValue = 255 ; fadeValue >= 20; fadeValue -=1) {
   // Invia il valore al mosfet (0-255):
   analogWrite(ledRosso, fadeValue);        
   // Attende 30 millisecondi prima in modo da poter visualizzare l'effetto di dimmeraggio
   delay(1500);
 
}

// Esegue una diminuzione progressiva della luminosità  da 20 a 0 (SPENTO) con step di -1 punti
 for(int fadeValue = 20 ; fadeValue >= 0; fadeValue -=1) {
   // Invia il valore al mosfet (0-255):
   analogWrite(ledBianco, fadeValue);
   analogWrite(ledRosso, fadeValue);    
   // Attende 30 millisecondi prima in modo da poter visualizzare l'effetto di dimmeraggio
   delay(900);
 
}

// Esegue una diminuzione progressiva della luminosità  da 50 a 1 (luce lunare 1) con step di -1 punti
 for(int fadeValue = 50 ; fadeValue >= 1; fadeValue -=1) {
   // Invia il valore al mosfet (0-255):
   analogWrite(ledBlu, fadeValue);        
   // Attende 30 millisecondi prima in modo da poter visualizzare l'effetto di dimmeraggio
   delay(3000);
 
}
digitalWrite(13, HIGH); // SPIA FINE TRAMONTO
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(12, LOW);

Go Up