Pages: 1 2 3 [4]   Go Down
Author Topic: software che funziona in base all'ora  (Read 3177 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 328
Posts: 22755
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Cioè?

Perché se lo avessi fatto avresti visto gli errori. smiley-roll-sweat
Logged


Italia
Offline Offline
Newbie
*
Karma: 0
Posts: 48
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 328
Posts: 22755
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ahhhh,okk. Si lo ho fatto e mi dava quel ;
E l'altro.
Logged


Italia
Offline Offline
Newbie
*
Karma: 0
Posts: 48
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non ho ancora capito il problema...
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 328
Posts: 22755
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-wink
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  smiley-evil

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  smiley-wink
Logged


Italia
Offline Offline
Newbie
*
Karma: 0
Posts: 48
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3390
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Leo io direi che lo può fare tranquillamente con un delay .... Tu che dici?   smiley-grin
Logged

no comment

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 328
Posts: 22755
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Leo io direi che lo può fare tranquillamente con un delay .... Tu che dici?   smiley-grin

Sì...  smiley-sweat smiley-sweat
Logged


Italia
Offline Offline
Newbie
*
Karma: 0
Posts: 48
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Italia
Offline Offline
Newbie
*
Karma: 0
Posts: 48
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ecco  il codice completo.





Code:
//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
« Last Edit: February 24, 2013, 05:07:24 am by leo72 » Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 328
Posts: 22755
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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).

Logged


Italia
Offline Offline
Newbie
*
Karma: 0
Posts: 48
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

e` quello che intendevo con parte alle 6:00  smiley
Logged

Pages: 1 2 3 [4]   Go Up
Jump to: