Ciao a tutti ,comincio subito a rompervi le scatole con due domande.
La prima:
sto costruendo una plafoniera con led da 3 watt ( comandata in PWM ) , ho collegato tutto e ho scritto il codice ( rimasugli di c++ e ricerca on line ) e vorrei sapere se è giusto oppure ho commesso qualche errore ( devo ancora capire come metterlo a tendina ):
int led1 = 9; // Dichiara il PIN (PWM) di arduino incaricato di gestire iled blue e royal blue
int led2 = 10; // Dichiara il PIN (PWM) di arduino incaricato di gestire i led 10000K
int led3 = 11; // Dichiara il PIN (PWM) di arduino incaricato di gestire i led 20000K
void setup()
{
pinMode(led1, OUTPUT); // imposta il pin digitale come output
pinMode(led2, OUTPUT); // imposta il pin digitale come output
pinMode(led3, OUTPUT); // imposta il pin digitale come output
}
void loop() {
// Esegue un aumento progressivo della luminosità da 0 a 255 (massimo) con step di 1 punti
for(int fadeValue = 0 ; fadeValue <= 145; fadeValue +=1) { // Invia il valore al mosfet (0-145):
analogWrite(led1, fadeValue);
delay(24828); // Con 24828 millisencondi, considerando che i cicli 145 avrai un ora perchè l'intensità arrivi al massimo
}
delay(36000000); // Questa pausa corrisponde a 10 ore, le luci rimarranno accese 10 ore per poi passare allo spegnimento
// Esegue una diminuzione progressiva della luminosità da 145 a 0 (massimo) con step di -1 punti
for(int fadeValue = 145 ; fadeValue >= 0; fadeValue -=1) {
// Invia il valore al mosfet (145-0):
analogWrite(led1, fadeValue);
delay(24828); // impiegherà un ora per spegnere i led
analogWrite(led1, LOW);
}
for(int fadeValue = 0 ; fadeValue <= 164; fadeValue +=1) { // Invia il valore al mosfet (0-164):
analogWrite(led2, fadeValue);
delay(10976); // Con 10976 millisencondi, considerando che i cicli sono 164 avrai 30 min perchè l'intensità arrivi al massimo
}
delay(36000000); // Questa pausa corrisponde a 10 ore, le luci rimarranno accese 10 ore per poi passare allo spegnimento
// Esegue una diminuzione progressiva della luminosità da 164 a 0 (massimo) con step di -1 punti
for(int fadeValue = 164 ; fadeValue >= 0; fadeValue -=1) {
// Invia il valore al mosfet (0-164):
analogWrite(led2, fadeValue);
delay(10976); // impiegherà 30 min per spegnere i led
analogWrite(led2, LOW);
}
for(int fadeValue = 0 ; fadeValue <= 185; fadeValue +=1) { // Invia il valore al mosfet (0-185):
analogWrite(led3, fadeValue);
delay(4865); // Con 4865 millisencondi, considerando che i cicli sono 185 avrai 15 min perchè l'intensità arrivi al massimo
}
delay(36000000); // Questa pausa corrisponde a 10 ore, le luci rimarranno accese 10 ore per poi passare allo spegnimento
// Esegue una diminuzione progressiva della luminosità da 185 a 0 (massimo) con step di -1 punti
for(int fadeValue = 185 ; fadeValue >= 0; fadeValue -=1) {
// Invia il valore al mosfet (0-185):
analogWrite(led3, fadeValue);
delay(4865); // impiegherà 15min per spegnere i led
analogWrite(led3, LOW);
}
}
seconda domanda:
volendo impostare l'ora di accensione per ognuno dei codici devo ovviamente utilizzare un RTC ( l'ho gia comprato e montato ma devo installare le librerie e settarlo con data e ora corretta ) il codice ( che devo ancora scrivere ) lo devo inserire all'interno di quello postato oppure è possibile scriverlo a parte e poi includerlo come libreria ? Inoltre , qualche suggerimento da cui partire ????
grazie a tutti