Show Posts
Pages: [1]
1  International / Generale / Re: Aiuto con TimeAlarmExample e .. on: February 04, 2011, 03:44:44 am
Ciao e grazie a tutti... con il Vs. aiuto ho capito come fare, ecco il codice "riunito"

Code:
#include <Time.h>
#include <TimeAlarms.h>

int voltaggio = 0; // per la tensione effettiva

void setup()
{
  pinMode (8, OUTPUT);
  pinMode (13, OUTPUT);
  Serial.begin(9600);   
  Serial.println("TimeAlarms Example");
  Serial.println();
 
  setTime(8,29,57,1,1,10); // imposto l'ora
  Alarm.alarmRepeat(8,30,0, ON);  // accendo il led tutti i gg alle 8.30
  Alarm.alarmRepeat(8,30,7,OFF);  // Spengo il led alle 8.30.7 sec
  Alarm.alarmRepeat(8,30,0, lettura);  // inizio lettura dal sensore
 
 }

void ON()
{
  Serial.println("Alarm: - accendo il led");
  digitalWrite (13, HIGH);
   
}
void OFF()
{
  Serial.println("Alarm: - spengo il led");
  digitalWrite (13, LOW);   
}
void lettura()
{
   voltaggio=analogRead (0); // ottiene la lettura analogica pin 0
   
     Serial.print ("voltaggio:");
     Serial.println(analogRead (0));

       if (voltaggio >= 930) // questa la potrei modificare con Voltaggio compreso tra..
       if (voltaggio <= 960)
      {
       Serial.print ("Accendo la luce");
       digitalWrite (8, HIGH);
       delay (5000);
       Serial.print ("Spengo la luce");
       delay (1000);
       digitalWrite (8, LOW);
       
      }
}

void  loop()

  digitalClockDisplay();
  Alarm.delay(1000); // wait one second between clock display
}

void digitalClockDisplay()
{
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.println();
}

void printDigits(int digits)
{
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

P.S. una cosa strana sul forum, ieri ho postato altri 2 post (reply a questo), ma oggi non ci sono... booo, qualche problema sul nuovo forum???

Comunque ecco, Praticamente è un codice che imposta un Timer giornaliero senza rtc... sono molto soddisfatto per questi primi passi di programmazione.

Una domanda "banale" sono bravo con il saldatore, vorrei costruire da solo l'rtc ds1307, su roboitaly se prendo i pz separati spendo poco di meno che prenderlo gia su shield... qualche link per i componenti??
Ancora uno permettemi, vorrei prendere anche un display, con meno pin possibili, magari 20*4, qualche consiglio??
Sempre grazie per l'assistenza, a presto.




2  International / Generale / Re: Aiuto con TimeAlarmExample e .. on: February 03, 2011, 05:07:59 am
Eccomi qui, pian piano mi sembra di fare qualche passo in +

ho semplificato al massimo gli sketch.. togliendo le operazioni che non mi servivano..

a questo punto ho inserito nell'1 il setup del 2, ma ho un grosso problema, come faccio a creare una funzione che mi dia il loop 2 e richiamarla nll'1??

Vi posto i 2 sketch:
Code:
#include <Time.h>
#include <TimeAlarms.h>

int voltaggio = 0; // per la tensione effettiva

void setup()
{
  pinMode (8, OUTPUT);
  pinMode (13, OUTPUT);
  Serial.begin(9600);   
  Serial.println("TimeAlarms Example");
  Serial.println();
 
  setTime(8,29,55,1,1,10); // set time to 8:29:40am Jan 1 2010

  Alarm.alarmRepeat(8,30,0, ON);  // accendo il led tutti i gg alle 8.30
  Alarm.alarmRepeat(8,30,10,OFF);  // Spengo il led alle 8.30.10 sec

 }

void ON()
{
  Serial.println("Alarm: - accendo il led");
  digitalWrite (13, HIGH);
   
}
void OFF()
{
  Serial.println("Alarm: - spengo il led");
  digitalWrite (13, LOW);   
}

void  loop()

  digitalClockDisplay();
  Alarm.delay(1000); // wait one second between clock display
}

void digitalClockDisplay()
{
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.println();
}

void printDigits(int digits)
{
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

IL secondo
Code:
int voltaggio = 0; // per la tensione effettiva

void setup ()
{
  pinMode (8, OUTPUT);
  Serial.begin (9600); // aprire la porta seriale per inviare i dati al computer a 9600 bps
}
 
 void loop ()
 {
   voltaggio=analogRead (0); // ottiene la lettura analogica pin 0
   
     Serial.print ("voltaggio:");
     Serial.println(analogRead (0));

       if (voltaggio >= 930) // questa la potrei modificare con Voltaggio compreso tra..
       if (voltaggio <= 960)
      {
       Serial.print ("Accendo la luce");
       digitalWrite (8, HIGH);
       delay (5000);
       Serial.print ("Spengo la luce");
       delay (1000);
       digitalWrite (8, LOW);
       
      }
 }
Se mi potete aiutare a capire un pochino...Grazie
3  International / Generale / Re: UNO, led e fotoresistenza... on: February 02, 2011, 03:40:18 pm
Ciao, sono nuovo anch'io ma ti posso rispondere, vai qui http://www.arduino.cc/playground/Italiano/Tutorials
vai sotto Guida lettura di un sensore con arduino..
c'è propio una fotoresistenza, inoltre se ha installato arduino, sotto esempi c'è lo sketch del blink, provalo ..
Io sono partito da li, molto divertente ed interessante.
4  International / Generale / Re: Aiuto con TimeAlarmExample e .. on: February 02, 2011, 03:21:24 pm
Grazie mille  Lesto, mi hai dato qualche briciolina in più...
domani provo a modificare il soft, ricontrollo meglio ed elimino/inserisco le funzioni che non mi servono seguendo le tue istruzioni
e grazie per il link, studierò un po',
Ma sicuramente avrò bisogno di aiuto


Vi chiedo un'altra cosa, non utilizzando un rtc esterno, le operazioni sono comunque affidabili, perchè tutti usano l'rtc??

Grazie, ciao

 

5  International / Generale / Re: Aiuto con TimeAlarmExample e .. on: February 02, 2011, 12:46:40 pm
Grazie Pitusso,
Quindi anche se "sommo" i 2 setup e i 2 loop  non funziona, giusto? (beh, però un po di copia/incolla lo faccio comunque)

devo perforza imparare il c++ per farlo?, l'operazione è talmente banale che credevo fosse piu semplice

sto cercando dei tutorial di timer, ma non trovo quelli semplici, senza display e rtc esterno, sapete darmi qualche link o aiutino..

Ciao
6  International / Generale / Aiuto con TimeAlarmExample e .. on: February 02, 2011, 12:06:25 pm
Ciao a tutti.
ho 2 sketch funzionanti (incredibile) smiley-lol
1 il time alarm example che accende o spegne un led all'ora che gli imposto (morning alarm)..
2 quest'altro sketch mi legge un impulso da analog0 in millivolt e mi accende/spegne un led al valore che gli imposto io..

Posso mettere insieme i 2 sketch per ricavarne uno che: alle ore xx mi faccia partire il secondo sketch?

Alla fine si tratta di un timer, ho guardato in giro, ma tutti usano un rtc esterno, io non ho bisogno di tanta precisione

Mi permetto di postarvi i 2 sk..
Code:
/*
 * TimeAlarmExample.pde
 *
 * This example calls alarm functions at 8:30 am and at 5:45 pm (17:45)
 * and simulates turning lights on at night and off in the morning
 *
 * A timer is called every 15 seconds
 * Another timer is called once only after 10 seconds
 *
 * At startup the time is set to Jan 1 2010  8:29 am
 */

#include <Time.h>
#include <TimeAlarms.h>

void setup()
{
  pinMode(13, OUTPUT);
  Serial.begin(9600);   
  Serial.println("TimeAlarms Example");
  Serial.println("Alarms are triggered daily at 8:30 am and 17:45 pm");
  Serial.println("One timer is triggered every 15 seconds");
  Serial.println("Another timer is set to trigger only once after 10 seconds");
  Serial.println();
 
  setTime(8,29,55,1,1,10); // set time to 8:29:40am Jan 1 2010

  Alarm.alarmRepeat(8,30,0, MorningAlarm);  // 8:30am every day
  Alarm.alarmRepeat(17,45,0,EveningAlarm);  // 5:45pm every day
 
  Alarm.timerRepeat(15, RepeatTask);            // timer for every 15 seconds   
  Alarm.timerOnce(10, OnceOnlyTask);            // called once after 10 seconds
}

void MorningAlarm()
{
  Serial.println("Alarm: - accendo il led");
  digitalWrite (13, HIGH); 
  delay(3000);
  digitalWrite (13, LOW); 
  delay(3000);

}

void EveningAlarm()
{
  Serial.println("Alarm: - turn lights on");           
}

void RepeatTask()
{
  Serial.println("15 second timer");         
}

void OnceOnlyTask()
{
  Serial.println("This timer only triggers once"); 
}

void  loop()

  digitalClockDisplay();
  Alarm.delay(1000); // wait one second between clock display
}

void digitalClockDisplay()
{
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.println();
}

void printDigits(int digits)
{
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

e l'altro
Code:
int voltage = 0; // per la tensione effettiva
int i = 0; // per i cicli float v2 = 0; // for voltage calculation float v2 = 0; / / per il calcolo della tensione
int del = 50; // per i ritardi tra i LED di accensione e spegnimento
float v2 = 0; // per il calcolo della tensione

void setup ()
{
  for (i=8;i<=12;i++)
 {
  pinMode (i, OUTPUT);
 }
 Serial.begin (9600); // aprire la porta seriale per inviare i dati al computer a 9600 bps
}
 
 void loop ()
 {
   voltage=analogRead (0); // ottiene la lettura analogica pin 0
    v2=voltage/102.3; 
     Serial.print ("voltage:");
     Serial.println (v2, 2); // turni v2 a due cifre decimali
     
      if (voltage <=10)
      {
        delay (del);
       
      }
       else if (voltage <= 102)
      {
       digitalWrite (8, HIGH);
       delay (15000);
       digitalWrite (8, LOW);
       
      }
 }

attendo le vostre considerazioni, grazie anticipatamente
7  Forum 2005-2010 (read only) / Italiano / Re: collegamento fai da me a sensore, tramite led di a on: January 20, 2011, 11:03:20 am
Allora, sono demoralizzato, credevo fosse meno complessa la cosa.
comunque il rivelatore funziona "ancora" ma il suo led di allarme no, le saldature sono ok, credo si sia bruciato qualcosa quando ho messo la massa in comune, è possibile? (il rivelatore è alimentato a 6V 300ma).
Ora col multimetro, dal led, ho una corrente di 0,03V che ha un impulso di circa 0,5 secondi.
Secondo voi con quest'impulso da 0,03V lo posso ancora utilizzare? dove entro in arduino analogico o digitale o vanno bene tutti gli ingressi.

questo sketch (tutoria accendere led con pulsante)come potrei modificarlo?

#define Led  13   // Il Pin del Led
#define Pulsante 7  // Il Pin di Input dove è collegato il pulsante
int Valore = 0;      // Valore servirà per conservare lo stato del Pin di Input
int Vecchio_Valore = 0;  // Questa variabile conserva il valore precedente di "Valore"
int Stato = 0;    // 0 = Led spento e 1 = Led acceso

void setup()
{
  pinMode(Led, OUTPUT);    // Indica ad Arduino che Led è un Output
  pinMode(Pulsante, INPUT);  // e che Pulsante è un Input
}
void loop()
{
  Valore = digitalRead(Pulsante); // Legge il valore dell'Input e lo conserva

  if ((Valore == HIGH) && (Vecchio_Valore == LOW)) // Controlla se è avvenuta una transizione
{
    Stato = 1 - Stato;
  }

  Vecchio_Valore = Valore;  // Memorizza il valore precedente di Valore

  if (Stato == 1)
{      
    digitalWrite(Led, HIGH); // Accende il Led
  }
 else
{
    digitalWrite(Led, LOW);
  }
}

sempre grazie, a presto
8  Forum 2005-2010 (read only) / Italiano / Re: collegamento fai da me a sensore, tramite led di a on: January 20, 2011, 09:38:25 am
provato, credo di aver bruciato qualcosa :'(, perchè dall'uscita del led non ho più corrente e ovviamente il led non va piu.... :-/

unica soluzione che mi rimane è: prendere la corrente dal beep...ma..boo

cerco sempre aiuto, ciao
9  Forum 2005-2010 (read only) / Italiano / Re: collegamento fai da me a sensore, tramite led di a on: January 20, 2011, 09:22:30 am
Intanto grazie, fammi capire.

metto in comune la massa di arduino con quella del rivelatore?

provo

secondo te, come mai quando il led del rivelatore è spento con un voltimetro rilevo corrente negativa?
GRAZIE
10  Forum 2005-2010 (read only) / Italiano / Re: collegamento fai da me a sensore, tramite led di a on: January 20, 2011, 08:57:08 am
Forse, non so, devo anche prendere i gnd?? :-?
11  Forum 2005-2010 (read only) / Italiano / collegamento fai da me a sensore, tramite led di a on: January 20, 2011, 08:42:20 am
Ciao a tutti...sono nuovo e sono appena capace di far accendere un led da un pulsante....quindi pazienza.

Ho un rivelatore di co2 che mi visualizza la co2 nell'aria, posso impostare, a seconda dei PPM, un allarme sonoro (beep) e anche un led che lampeggia.

La mia "ideona" è quella di prelevare dal polo + del led la corrente, mandarla in un imput di arduino e creare un loop che in out mi accenda una ventola (per adesso mi basterebbe accendere un altro led)

cosa ho gia fatto? ho saldato al + del led del visualizzatore un filo(prima ho misurato la corrente che arriva al led e mi da -0,18 a led spento e +1,8 a led acceso, lo faccio entrare in un imput digitale di arduino e pensavo che utilizzando il tutorial su come accendere un led con pulsante, fosse possibile, ma non funziona, mi potete aiutare??
Grazie a tutti anticipatamente. Ciao ;D
12  Forum 2005-2010 (read only) / Italiano / novizio, consiglio sensori temp, umidità e CO2 on: January 17, 2011, 04:49:34 am
Ciao a tutti sono nuovo e mi presento
Mi chiamo Stefano sono un fabbro.
Mi sta arrivando arduino1+breadboard, eseguirò subito i primi tutorial che ho trovato, accendere un led, farlo lampeggiare ecc.
appena fatti questi esperimenti, vorrei progettare un controller per serre ed acuario (miei hobby) ed un misuratore automatico per la mia troncatrice (che almeno arrivi a 4000mm con errore di 0.2,mm)
Mi sapete consigliare dove acquistare dei "buoni sensori" compatibili con arduino per CO2  umidità e temperatura.
Grazie Anticipatamente smiley-razz
Pages: [1]