Recensisci!
Diventa un recensore per ricevere prodotti gratuiti o scontati!
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Amazon
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Meglio Android o iOS? Video spiegazione
Da Admin Ven Nov 17, 2017 9:52 pm

» Primo gameplay Platinum Edition - Farming Simulator 2017
Da Admin Ven Nov 17, 2017 9:47 pm

» Errore sketch braccio robotico
Da papat Mer Nov 15, 2017 3:39 pm

» Miglior smartphone sotto i €150 - 2017
Da Admin Sab Nov 11, 2017 10:50 am

» Miglior smartphone sotto i €100 - 2017
Da Admin Ven Nov 10, 2017 10:10 pm

» Recensione protettore RFID
Da Entop Dom Ott 29, 2017 10:01 pm

» Presentati al forum
Da Entop Dom Ott 29, 2017 9:40 pm

» Formato delle recensioni Amazon consigliato
Da Admin Dom Ott 29, 2017 4:12 pm

» Come localizzare in diretta i propri contatti di Whatsapp
Da Admin Sab Ott 28, 2017 9:35 pm

I postatori più attivi del mese
Admin
 
papat
 

Arduino ed rtc, come impostarlo?

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Arduino ed rtc, come impostarlo?

Messaggio Da Dock il Sab Giu 18, 2016 6:34 pm

Un ciao a tutti volevo porre un quesito.. io ho questo sketch che comanda un motorino passo passo
che a sua volta apre e chiude una porticina ora voorei per esempio far aprire ad arduino la porta alla 7 e chiuderla alle 20..
Quindi come faccio ad inserire nel codice l'orario tramite il modulo rtc?
Codice:
#include <Stepper.h>
    #define STEPS  100  
    Stepper small_stepper(STEPS, 2, 4, 3, 5);
    int  Steps2Take;
    void setup()  
    {
    }

    void loop()  
    {
      small_stepper.setSpeed(200);  
      Steps2Take  =  20048;  
      // Rotate CW For a complete rotation
      // Change this number for change the degrees of the rotation
      small_stepper.step(Steps2Take);
      delay(2000);
      small_stepper.setSpeed(200);  
      // Change this for change the speed
      Steps2Take  =  -20048;  // Rotate CCW
      small_stepper.step(Steps2Take);
      delay(2000);}

Chiaramente arduino alle 7 mi deve far funzionare
Codice:
Steps2Take  =  -20048;
mentre alle 20
Codice:
Steps2Take  =  20048;
Questo perchè il motorino inverte la corsa avete qualche idea? un grazie in anticipo..
avatar
Dock
Livello uno
Livello uno

Messaggi Messaggi : 14
Crediti Crediti : 23
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 01.03.16
Età Età : 37

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Arduino ed rtc, come impostarlo?

Messaggio Da Admin il Sab Giu 18, 2016 7:13 pm

Ciao,

Sinceramente ancora non ho provato il modulo RTC ma penso di farlo prima o poi. Anche sul Fishino c'è quindi devo proprio provarlo non appena possibile! Comunque dando un'occhiata ho visto che bisogna scaricare una libreria che ti permette di facilitare l'utilizzo di questo modulo.

Qual è il modello del tuo RTC? Ciao!
avatar
Admin
♔ Amministratore

Messaggi Messaggi : 4224
Crediti Crediti : 11792
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
Località Località : Brescia

Vedi il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Re: Arduino ed rtc, come impostarlo?

Messaggio Da Dock il Sab Giu 18, 2016 7:29 pm

Grazie per la risposta il modulo è il rtc ds1307 ho scaricato le librerie iol modulo funziona bene, ma ora come inserisco ora inizio e ora fine del singolo ciclo? No No
avatar
Dock
Livello uno
Livello uno

Messaggi Messaggi : 14
Crediti Crediti : 23
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 01.03.16
Età Età : 37

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Arduino ed rtc, come impostarlo?

Messaggio Da Admin il Sab Giu 18, 2016 8:36 pm

Devi allora scaricarti la libreria RTCLib e dare un'occhiata a questo classico esempio di codice:

Codice:
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
 
#include <Wire.h>
#include "RTClib.h"
 
RTC_DS1307 RTC;
 
void setup () {
    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 () {
    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");
   
    // calculate a date which is 7 days and 30 seconds into the future
    DateTime future (now.unixtime() + 7 * 86400L + 30);
   
    Serial.print(" now + 7d + 30s: ");
    Serial.print(future.year(), DEC);
    Serial.print('/');
    Serial.print(future.month(), DEC);
    Serial.print('/');
    Serial.print(future.day(), DEC);
    Serial.print(' ');
    Serial.print(future.hour(), DEC);
    Serial.print(':');
    Serial.print(future.minute(), DEC);
    Serial.print(':');
    Serial.print(future.second(), DEC);
    Serial.println();
   
    Serial.println();
    delay(3000);
}

Alla fine ti basterà fare qualche if però bisogna prima capire come l'orario viene stampato Ciao!
avatar
Admin
♔ Amministratore

Messaggi Messaggi : 4224
Crediti Crediti : 11792
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
Località Località : Brescia

Vedi il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum