PDA

Visualizza Versione Completa : Arduino plafoniera led



iz1yqy
08-11-2015, 14:53
Ciao a tutti,
come da consiglio di niko apro una nuova discuusione,
ho modificato il codice di niko per l'acquisizione dell'ora da un modulo rtc, ma dalle prove fatte sembra in ritardo di due ore dall'ora impostata, allego il codice, così potete dare un'occhiata dov'è l'errore



#include "Plafo.h"
// includo la librerie rtc e wire
#include <Wire.h>
#include "RTClib.h"
#include <DS1307RTC.h>
//includo la libreria time
#include <Time.h>

Plafo plafo;
//struttura time elements
TimeElements te;

void setup(void) {
//Channel,startHour,startMinute,endHour,endMinute,fa deLen,maxPWM,pin
plafo.setChannel(blue,10,15,23,0,60,5,6);//Dalle 18.00 alle 4.00, alba/tramonto 30 minuti, pwm massimo 180, pin 7
plafo.setChannel(white,10,20,13,40,60,255,9);//Dalle 18.15 alle 3.45, alba/tramonto 75 minuti
plafo.setChannel(uv,10,20,06,18,60,255,10);//Dalle 19.30 alle 2.30, accensione immediata, pin 22 (digitale)
plafo.setChannel(moon,9,49,22,40,1,50,11);//Dalle 4.10 alle 7.00
//legge rtc
Serial.begin(9600);
delay(1000);
//imposto l’ora e la data
//ora 09:44
//data 08/11/2015
//setTime(13,36,00,8,11,2015);
}

void loop(void) {
//legge del modulo RTC
if (RTC.read(te))
{
Serial.print("Tempo RTC = ");
Serial.print(te.Hour);
Serial.write(',');
Serial.print(te.Minute);
Serial.write(',');
Serial.print(te.Second);
Serial.println();
}
//leggi ogni secondo
delay(1000);


//Sostituire "hour","minute", "second" con le variabili dichiarate sul vostro progetto, che contengono rispettivamente l'ora, i minuti e i secondi correnti.
plafo.perform(te.Hour,te.Minute,te.Second);

}


- - - Aggiornato - - -

chiaramente ho deselezionato la prima volta la voce setTime

HkK.2003
08-11-2015, 14:54
Ma l'ora come l'hai impostata la prima volta?

Sent from my MI 2S using Tapatalk

billykid591
08-11-2015, 16:18
Guardati questo tutorial sull'uso di un RTC basta una sola libreria oltre alla wire

http://www.mauroalfieri.it/elettronica/rtc-ds1307.html

il settaggio dell'ora sull'RTC avviene in automatico alla prima compilazione e lo prende dal clock del computer....o,altrimenti lo inserisci mnaualmente nella riga commentata.

HkK.2003
08-11-2015, 17:07
billykid591 è più o meno al punto in cui arrivare ma volevo passare per gradi in modo da ricostruire eventuali errori commessi.

Sent from my MI 2S using Tapatalk

billykid591
08-11-2015, 19:51
Fra l'altro l'uso della funzione delay non e' il massimo perche' crea ritardi superiori a quanto settato e' meglio leggere dall'RTC ad ogni ciclo della funzione
loop

iz1yqy
08-11-2015, 23:04
Risolto, modificato come da vostri consigli ora funziona tutto alla perfezione
Siete grandi, grazie a tutti, posto poi qualche foto appena ho completato il tutto

Inviato dal mio SM-G388F utilizzando Tapatalk

billykid591
09-11-2015, 10:24
Ottimo...aspettiamo le foto della tua realizzazione

iz1yqy
09-11-2015, 23:27
ecco il codice ripulito e corretto 177686 177686



#include "Plafo.h"
// includo la librerie rtc e wire
#include <Wire.h>
#include "RTClib.h"

Plafo plafo;
// carico rtc
RTC_DS1307 RTC;


void setup(void) {
//Channel,startHour,startMinute,endHour,endMinute,fa deLen,maxPWM,pin
plafo.setChannel(blue,06,40,21,00,60,100,6);//Dalle 6.40 alle 21.00, alba/tramonto 60 minuti, pwm massimo 100, pin 6
plafo.setChannel(rosso,06,30,21,30,60,100,9);//Dalle 6.30 alle 21.30, alba/tramonto 60 minuti
plafo.setChannel(verde,06,40,21,00,60,100,10);//Dalle 6.40 alle 21.00
plafo.setChannel(bianco,06,30,21,10,60,100,11);//Dalle 6.30 alle 21.10
plafo.setChannel(blue,21,40,23,59,60,50,6); //Dalle 21.40 alle 23.59 luce lunare

//impostazioni RTC
Serial.begin(57600);
Wire.begin();
RTC.begin();

if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(__DATE__, __TIME__));
}
}

void loop(void) {

//lettura ora da rtc
DateTime now = RTC.now();

Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();

Serial.print(" since midnight 1/1/1970 = ");
Serial.print(now.unixtime());
Serial.print("s = ");
Serial.print(now.unixtime() / 86400L);
Serial.println("d");

Serial.println();
delay(1000);

plafo.perform(now.hour(),now.minute(),now.second() );

}

iz1yqy
10-12-2015, 23:16
18974

iz1yqy
10-12-2015, 23:18
18975

iz1yqy
10-12-2015, 23:25
18976

HkK.2003
11-12-2015, 00:10
Una shield con 4 transistor, immagino che sia per avere un uscita di potenza a 12 volt o superiore, ma non capisco dove hai l'input della tensione....

Sent from my MI 2S using Tapatalk

billykid591
11-12-2015, 11:51
Una shield con 4 transistor, immagino che sia per avere un uscita di potenza a 12 volt o superiore, ma non capisco dove hai l'input della tensione....

Sent from my MI 2S using Tapatalk

se non sbaglio l'input e il 3° morsetto partendo dal basso....

HkK.2003
11-12-2015, 12:37
Bha, senza schema elettrico non ne vengo a capo.

Il PCB credo sia un doppi afaccia o perlomento richiedere dei riporti che non sono segnati, quindi posso solo ipotizzare.

I 4 morsetti credo siano l'output per 4 canali.

In ogni caso non so.

é la prima volta che vedo questo 3D da piccì, e non mi ero reso conto che iz1yqy abita quì vicino ....

iz1yqy
11-12-2015, 22:32
Come promesso il file aggiornato19007

HkK.2003
11-12-2015, 22:44
billykid591 non ci abbiamo preso nessuno dei due :)
iz1yqy Dove lo fai fare il PCB?

iz1yqy
11-12-2015, 22:45
Li faccio io con il plotter

iz1yqy
11-12-2015, 22:46
19012

billykid591
11-12-2015, 23:12
Li faccio io con il plotter

Mediante fresatura o prima stampi e poi vai di fotoincisione?

iz1yqy
12-12-2015, 00:14
Plotto direttamente sul rame, poi via in acido

HkK.2003
12-12-2015, 00:53
Molto interessante......

Quasi quasi ti chiederò una consulenza per quando dovrò fare la base per i driver per il mio progettino..... Io avevo intenzione di mettere tutto su una millefori .... O di provare ad allestire una ciruiteria modulare stile aquastyleonline, tanto contavo di usare i meanwell ldd che hanno l'ingresso dimmer a 5 volt, quindi perfetto per arduino....

Sent from my MI 2S using Tapatalk

billykid591
12-12-2015, 10:29
Molto interessante......

Quasi quasi ti chiederò una consulenza per quando dovrò fare la base per i driver per il mio progettino..... Io avevo intenzione di mettere tutto su una millefori .... O di provare ad allestire una ciruiteria modulare stile aquastyleonline, tanto contavo di usare i meanwell ldd che hanno l'ingresso dimmer a 5 volt, quindi perfetto per arduino....

Sent from my MI 2S using Tapatalk

io ho già realizzato dei circuiti stampati per gli LDD dipende quanti ne vuoi usare....gli schemi li ho...

HkK.2003
12-12-2015, 11:02
Io non ho mai usato orcad, circad o simili.
Breadboard per i test e poi millefori....

Di base la mia plafoniera avrà 3 canali ma non cedo di riuscire a gestire ogni canale con un solo LCD se non passando a 48 volt, ma la cosa non mi aggrada.
Piuttosto pensavo di utilizzarne 6 dividendi due canali a metà in modo da poter lavorare a 24 volt.

Dovrò provare se riesco a mandare il segnale pwm di un Arduino a due ldd senza perdere la sincronia.

Prima o poi rimetterò mano al progetto e lo porterò avanti.

La necessità di raddoppiare i driver è data anche dal desiderio di contenere le dimensioni dei singoli alimentatori. Le potenze in gioco sono decisamente elevate, non so se te lo ricordi ma il mio è un progetto alquanto ambizioso per una ridicola vasca 55*55*55 :)

Sent from my MI 2S using Tapatalk

billykid591
12-12-2015, 14:44
Io non ho mai usato orcad, circad o simili.
Breadboard per i test e poi millefori....

Di base la mia plafoniera avrà 3 canali ma non cedo di riuscire a gestire ogni canale con un solo LCD se non passando a 48 volt, ma la cosa non mi aggrada.
Piuttosto pensavo di utilizzarne 6 dividendi due canali a metà in modo da poter lavorare a 24 volt.

Dovrò provare se riesco a mandare il segnale pwm di un Arduino a due ldd senza perdere la sincronia.

Prima o poi rimetterò mano al progetto e lo porterò avanti.

La necessità di raddoppiare i driver è data anche dal desiderio di contenere le dimensioni dei singoli alimentatori. Le potenze in gioco sono decisamente elevate, non so se te lo ricordi ma il mio è un progetto alquanto ambizioso per una ridicola vasca 55*55*55 :)

Sent from my MI 2S using Tapatalk

allora ricapitolando con una uscita PWM di Arduino puoi tranquillamente pilotare (in parallelo) molti driver LDD (10 15 almeno) invece non capisco perché non usare un alimentatore da 48 volt potresti sfruttare gli LDD che reggono fino a 56 volt in entrata...con 48 volt potresti pilotare serie di 12 - 14 led a 700 mA (circa i famosi 3 watt) o anche 1000 mA se il LED li regge.....il costo fra un 24 e un 48 volt di pari potenza è lo stesso...ma risparmieresti sui driver (ogni LDD costa dai 5 agli 8 euro dipende dove li prendi)...sul numero di alimentatori. e sulla complessità del cablaggio.

HkK.2003
12-12-2015, 17:28
Eticamente non voglio utilizza il 48 volt perché si andrebbe a ricadere nella normativa ad alta tensione e non più a bassa.
Secondariamente, mi trovo per lavoro ad avere facile accesso ad alimentatori a 12 e 24 volt, anche stagni, di potenze variabili tra i 15 watt e i 200 watt percui per un discorso di reperibilità mi oriento su quelli.

Di fondo la mia idea era di utilizzare tutti componenti con i pin ad iniziare da un Arduino nano, proseguendo con i driver meanwell con i pin, un RTC, un 7812 per alimentare il tutto, magari qualche led di stato da parallelare alle uscite.
Contavo di aggiungere 2 pulsanti, uno per un accensione della plafoniera fuori orario a tutta luce e uno per un accensione d'emergenza notturna con un veloce fade in all blu per eventuali controlli di emergenza o caccia a predatori vari. Il tutto racchiuso in una scatola di metacrilato.
Di questo però ne parlerò poi approfonditamente nel mio post perché non mi pare il caso di sporcare ulteriormente un thred non nostro ;)

Scusa iz1yqy per la pesante intromissione

Sent from my MI 2S using Tapatalk

iz1yqy
12-12-2015, 18:10
Nessun problema, si impara sempre qualche cosa

billykid591
12-12-2015, 18:28
Eticamente non voglio utilizza il 48 volt perché si andrebbe a ricadere nella normativa ad alta tensione e non più a bassa.
Secondariamente, mi trovo per lavoro ad avere facile accesso ad alimentatori a 12 e 24 volt, anche stagni, di potenze variabili tra i 15 watt e i 200 watt percui per un discorso di reperibilità mi oriento su quelli.

Di fondo la mia idea era di utilizzare tutti componenti con i pin ad iniziare da un Arduino nano, proseguendo con i driver meanwell con i pin, un RTC, un 7812 per alimentare il tutto, magari qualche led di stato da parallelare alle uscite.
Contavo di aggiungere 2 pulsanti, uno per un accensione della plafoniera fuori orario a tutta luce e uno per un accensione d'emergenza notturna con un veloce fade in all blu per eventuali controlli di emergenza o caccia a predatori vari. Il tutto racchiuso in una scatola di metacrilato.
Di questo però ne parlerò poi approfonditamente nel mio post perché non mi pare il caso di sporcare ulteriormente un thred non nostro ;)

Scusa iz1yqy per la pesante intromissione

Sent from my MI 2S using Tapatalk

aspettiamo il tuo post, fra breve (spero visto che sono quasi in dirittura di arrivo) farò il mio sulla nuova plafo LED

HkK.2003
12-12-2015, 18:40
Il mio è un post vecchio, lo trovi quì (http://www.reefbastards.it/showthread.php?8103-Plafo-led%3Cimg)e mi avevi anche risposto.

Vado avanti a tempo perso, ma tra lavoro, bimba e ristrutturazione ne ho veramente poco poco....

Sent from my MI 2S using Tapatalk

iz1yqy
20-12-2015, 19:23
https://uploads.tapatalk-cdn.com/20151220/d3bb279e82978a213444e1aa7c4be9f4.jpg

HkK.2003
20-12-2015, 22:28
Ma usi delle strisce led?

Sent from my MI 2S using Tapatalk

iz1yqy
21-12-2015, 01:57
5 m bianca e 5m rgb, per ora sembra che funzioni

HkK.2003
21-12-2015, 02:31
Gli rgb sono sicuramente dei 5050 e non riescono a penetrare abbastanza la colonna d'acqua, spero almeno che quelli bianchi siano 3650.

In ogni caso che dimensioni ha la vasca?

Sent from my MI 2S using Tapatalk

iz1yqy
21-12-2015, 07:56
1000*45*h50

HkK.2003
21-12-2015, 08:20
Con 50 cm di colonna d'acqua, arrivi a fondo vasca?
Che animali hai in vasca?

Sent from my MI 2S using Tapatalk

iz1yqy
21-12-2015, 08:30
Questa sera ti posto le foto con la luce al 50%, così ho più luce che con i 2 neon da 30w di prima

HkK.2003
21-12-2015, 08:32
Questo è scontato, ma per una vasca come la tua non so se è una luce sufficiente.
Che animali allevi?

Sent from my MI 2S using Tapatalk

iz1yqy
21-12-2015, 19:42
https://uploads.tapatalk-cdn.com/20151221/11ff1252ac5c6bd86dc3aca51e5fd732.jpg
A me la luce sembra sufficiente poi non sono un esperto di acquari

iz1yqy
21-12-2015, 19:43
Oops è al rovescio

billykid591
21-12-2015, 19:49
Per un dolce va sicuramente bene.......

HkK.2003
21-12-2015, 19:58
Scusa, pensavo fosse una vasca Reef.... Concordo

Sent from my MI 2S using Tapatalk