Go Down

Topic: software che funziona in base all'ora (Read 3830 times) previous topic - next topic

leo72


steveborty

Ahhhh,okk. Si lo ho fatto e mi dava quel ;

leo72


steveborty

non ho ancora capito il problema...

leo72

Il problema è che con i copia-e-incolla non si va da nessuna parte.
Se non ti metti davanti ad una tastiera e non inizi a scrivere un po' di codice, stiamo qui mesi a parlare del più e del meno  ;)
Se avessi compilato il codice che hai postato avresti visto che c'era anche questo errore.
if (rtc.getHours() == 00 && tyc.getMinutes() == 00) ;
hai scritto tyc al posto di rtc. Siccome in 2 giorni non me lo hai detto quale era l'errore che c'era, presumo che tu in 2 giorni o non hai provato a scrivere nulla oppure ti sia dimenticato della cosa. Spero la seconda  ]:)

Inoltre il problema logico risiede nel fatto che tale codice, arrivato alle 00:00 di un qualsiasi giorno, tenterà di accendere per 1 minuto esatto il led sul pin 13. Quest perché non hai poi messo nessun flag per far eseguire l'operazione 1 sola volta. E nessun controllo per resettare il flag una volta che siano passate le 00:00 (alle 00:01 tale flag deve essere rimesso a 0 perché sennò la prossima volta che sono le 00:00 non verrà eseguito nulla).

Scusa se sono rude ma la parte software si basa sulla logica, se non impari a ragionare esaminando tutte le possibili implicazioni di quello che scrivi i tuoi sketch avrai sempre problemini banali che però ti rompono un sacco le scatole  ;)

steveborty

ma se al posto di usare la libreria usassi solo la funzione delay (300000)   quindi 5 min. e metto in successione i led da accendere...e` un po' elaborioso ma piu` semplice no?

pablos

Leo io direi che lo può fare tranquillamente con un delay .... Tu che dici?   :D
no comment

leo72


Leo io direi che lo può fare tranquillamente con un delay .... Tu che dici?   :D


Sì...  :smiley-sweat: :smiley-sweat:

steveborty

io ho un coso che sembra uno shiftout...sopra c'e` scritto L293ONE.e` shiftout o in?

BrainBooster

L'altra cosa che dovresti fare prima di scrivere e saper cercare e capire un datasheet. :smiley-roll:
http://www.datasheetcatalog.org/datasheet/texasinstruments/l293d.pdf

steveborty

#55
Feb 24, 2013, 09:54 am Last Edit: Feb 24, 2013, 11:07 am by leo72 Reason: 1
ecco  il codice completo.





Code: [Select]
//l'orologio e` a 12h


void setup() {
       pinMode(1,OUTPUT);
       pinMode(2,OUTPUT);
       pinMode(3,OUTPUT);
       pinMode(4,OUTPUT);
       pinMode(5,OUTPUT);
       pinMode(6,OUTPUT);
       pinMode(7,OUTPUT);
       pinMode(8,OUTPUT);
       pinMode(9,OUTPUT);
       pinMode(10,OUTPUT);
       pinMode(11,OUTPUT);
       pinMode(12,OUTPUT);
}

void loop() {
 
 digitalWrite(6,HIGH);      //il programma viene attivato alle 6:00 am o pm
 delay(3600000);            //aspetta 1h
 digitalWrite(6,LOW);
 digitalWrite(7,HIGH);
 delay(3600000);
 digitalWrite(7,LOW);
 digitalWrite(8,HIGH);
 delay(3600000);
 digitalWrite(8,LOW);
 digitalWrite(9,HIGH);
 delay(3600000);
 digitalWrite(9,LOW);
 digitalWrite(10,HIGH);
 delay(3600000);
 digitalWrite(10,LOW);
 digitalWrite(11,HIGH);
 delay(3600000);
 digitalWrite(11,LOW);
 digitalWrite(12,HIGH);
 delay(3600000);
 digitalWrite(12,LOW);
 digitalWrite(1,HIGH);
 delay(3600000);
 digitalWrite(1,LOW);
 digitalWrite(2,HIGH);
 delay(3600000);
 digitalWrite(2,LOW);
 digitalWrite(3,HIGH);
 delay(3600000);
 digitalWrite(3,LOW);
 digitalWrite(4,HIGH);
 delay(3600000);
 digitalWrite(4,LOW);
 digitalWrite(5,HIGH);
 delay(3600000);
 digitalWrite(5,LOW);
 
}                    

edit by mod: per favore includi il codice usando gli appositi tag

leo72

Il programma non può partire alle 6:00 a meno che tu non accenda l'Arduino a quell'ora, dato che non c'è nessun controllo sull'orario (mediante RTC esterno o interno).


steveborty

e` quello che intendevo con parte alle 6:00  :)

Go Up