Hashtag più usati
1 | #include |
2 | #drone |
3 | #ets2 |
4 | #eurotrucksimulator2 |
5 | #dlcitalia |
6 | #arduino |
7 | #xiaomi |
8 | #aukey |
9 | #farmingsimulator |
Ultimi argomenti attivi
» Comunicazione termine servizio Arduino BT ControlDa Admin Mar Mag 10, 2022 12:55 pm
» Robot aspirapolvere per Alexa: Dreame D9
Da Admin Mar Feb 09, 2021 9:42 am
» Come costruire un robot smart con Arduino
Da Admin Mar Nov 17, 2020 12:15 pm
» TOPPS Trading Cards Match Attax Champsion League/Europa League 2020/21
Da Admin Mar Nov 10, 2020 3:21 pm
» Guida per utilizzare Arduino BT Control v1.2
Da Admin Gio Lug 09, 2020 12:01 pm
» Recensione Umidigi A3 Pro - Smartphone sotto i 100€
Da Admin Gio Apr 04, 2019 12:22 pm
» [Arduino] aiuto programma
Da Glak Mar Mar 12, 2019 9:30 am
» ERRORE NELLA COMPILAZIONE NEXTION
Da papat Mar Feb 26, 2019 7:11 am
» Comandare la Smart TV con Alexa senza broadlink (gratis)
Da Admin Mar Feb 19, 2019 4:31 pm
I postatori più attivi del mese
Nessun utente |
Come funziona RTC del Fishino - Codice
Come funziona RTC del Fishino - Codice
Il modulo RTC è già integrato nel Fishino e questo ci permette di aver la possibilità di avere un orario sempre in funzione, anche a scheda spenta. Per un corretto funzionamento dell'RTC è consigliato inserire la batteria già inclusa quando comprate un Fishino Uno:
Inserita la batteria, dobbiamo scaricare la libreria che viene utilizzata da Arduino per la Shield RTC. L'RTC presente nel retro del Fishino UNO funziona allo stesso modo e potete scaricare questa libreria gratuitamente da qui sotto:
Download RTClib: qui.
Inclusa anche la libreria nell'IDE, possiamo realizzare il nostro orologio sfruttando un display con interfaccia I2C. Non preoccupatevi, se non sapete come funziona trovate qui una guida dettagliata. Adesso siamo pronti a scrivere il codice! Lo sketch è il seguente (commentato!):
Inserita la batteria, dobbiamo scaricare la libreria che viene utilizzata da Arduino per la Shield RTC. L'RTC presente nel retro del Fishino UNO funziona allo stesso modo e potete scaricare questa libreria gratuitamente da qui sotto:
Download RTClib: qui.
Inclusa anche la libreria nell'IDE, possiamo realizzare il nostro orologio sfruttando un display con interfaccia I2C. Non preoccupatevi, se non sapete come funziona trovate qui una guida dettagliata. Adesso siamo pronti a scrivere il codice! Lo sketch è il seguente (commentato!):
- Codice:
#include <Wire.h> //libreria per interfacciare i2c e rtc
#include "RTClib.h" //libreria rtc
#include <LiquidCrystal_I2C.h> //libreria display i2c
//////////////////////addr, en,rw,rs,d4,d5,d6,d7,bl, blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //impostazione indirizzo del display e pin del display LCD collegati all'i2c
RTC_DS1307 rtc; //nome rtc
//array nomi giorni
char daysOfTheWeek[7][12] = {"Dom.", "Lun.", "Mar.", "Mer.", "Gio.", "Ven.", "Sab."};
void setup () {
Serial.begin(57600); //inizializzazione serial monito
lcd.begin(16,2); //inizializzazione lcd
if (! rtc.begin()) { //verifico la presenza dell'RTC
Serial.println("Impossibile trovare RTC");
while (1);
}
if (! rtc.isrunning()) { //verifico funzionamento dell'RTC
Serial.println("RTC non è in funzione!");
//inserisce l'orario del computer durante la compilazione
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// Se vuoi un orario personalizzato, togli il commento alla riga successiva
// l'orario: ANNO, MESE, GIORNI, ORA, MINUTI, SECONDI
//rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}
}
void loop () {
DateTime now = rtc.now(); //creo istanza ora/data
Serial.print(now.year(), DEC); //stampo anno in decimale
Serial.print('/');
Serial.print(now.month(), DEC); //stampo mese in decimale
Serial.print('/');
Serial.print(now.day(), DEC); //stampo giorno in decimale
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]); //stampo nome giorno
Serial.print(") ");
Serial.print(now.hour(), DEC); //stampo ora in decimale
Serial.print(':');
Serial.print(now.minute(), DEC); //stampo minuto in decimale
Serial.print(':');
Serial.print(now.second(), DEC); //stampo secondi in decimale
Serial.println();
lcd.clear(); //pulisce lo schermo
lcd.setCursor(0,0); //imposta il cursore nella prima riga e colonna,
lcd.print(now.day(), DEC); //stampo giorno numero in decimale
lcd.print('/');
lcd.print(now.month(), DEC); //stampo mese in decimale
lcd.print('/');
lcd.print(now.year(), DEC); //stampo anno in decimale
lcd.print(' ');
lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
lcd.setCursor(0,1); //imposta il cursore nella seconda riga e prima colonna.
//stampo orario in decimale
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
delay(1000);
/* //rimuovi questo commento se vuoi...
Serial.print(" since midnight 1/1/1970 = "); //..sapere quanti secondi sono passati da questa data
Serial.print(now.unixtime());
Serial.print("s = ");
Serial.print(now.unixtime() / 86400L); //.. sapere i giorni passati dal 1/1/1970
Serial.println("d");
// calculate a date which is 7 days and 30 seconds into the future
DateTime future (now + TimeSpan(7,12,30,6)); //imposta quanto deve andare nel futuro
//imposta una data/ora del futuro:
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);
*/
}
Argomenti simili
» Cos'è Fishino UNO
» Quale IDE usa Fishino UNO?
» Widget Empires And Allies per fare richieste ad altri giocatori
» Cos'è e come funziona la breadboard
» allarme antincendio non funziona
» Quale IDE usa Fishino UNO?
» Widget Empires And Allies per fare richieste ad altri giocatori
» Cos'è e come funziona la breadboard
» allarme antincendio non funziona
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.