miky94x
September 15, 2017, 11:05pm
#1
Salve ho un errore quando faccio una comparazione tra due valori, uno preso dall’RTC e uno mio
sarà sicuramenteuna stupidaggine ma non capisco
void CheckHour()
{
if (hour > 6) // <-----Errore qui
{
digitalWrite(led, LOW);
}
else
{
digitalWrite(led, HIGH);
}
}
Mi dice:
invalid operands of types ‘’ and ‘int’ to binary ‘operator>’
mi da errore anche se faccio hour.toInt oppure ((int)hour)
Grazie per un’eventuale risposta
Credo che hour sia una funzione, ergo:
hour()
uwefed
September 16, 2017, 7:25am
#3
Vuoi che facciamo i veggenti ( io personalmente sono uno pessimo) o vuoi che Ti aiutiamo?
Dacci lo sketch completo!! e i link alle librerie usate.
Ciao Uwe
miky94x
September 16, 2017, 8:14am
#4
SukkoPera:
Credo che hour sia una funzione, ergo:
hour()
Grazie proprio quello, non mi ci trovo tanto con c usando vb.net
Lo sketch completo non l’ho postato perchè le altre parti non centrano o si collegano con questa e avrei solo postato roba in più inutile, comunque le librerie erano:
#include <Time.h>
#include <TimeLib.h>
#include <TimeAlarms.h>
#include <DS3232RTC.h>
Grazie a tutti, ho risolto con le due parentesi
uwefed
September 16, 2017, 11:12am
#5
Lo sketch completo non l'ho postato perchè le altre parti non centrano o si collegano con questa e avrei solo postato roba in più inutile, comunque le librerie erano:
Lascia decidere a noi cosa serve per trovare l' errore. Delle biblioteche ce ne facciamo niente se non sappiamo l'origine per guardare il codice di esse.
Allora perché ci chiedi aiuto?
miky94x
September 17, 2017, 1:36pm
#6
Perchè rispondere in questo modo? non mi sembra il caso
La libreria Time e TimeAlarm QUI
Codice completo
#include <Time.h>
#include <TimeLib.h>
#include <TimeAlarms.h>
#include <DS3232RTC.h>
#define RELAY1 4
void setup() {
Serial.begin(9600);
setSyncProvider(RTC.get);
Alarm.timerRepeat(60, CheckHour);
if (timeStatus() != timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC ok");
pinMode(RELAY1, OUTPUT);
CheckHour();
}
void loop() {
Alarm.delay(100);
}
void CheckHour() {
if (hour() < 6)
{
digitalWrite(RELAY1, LOW);
Serial.println("spento");
}
else
{
digitalWrite(RELAY1, HIGH);
Serial.println("acceso");
}
}
Vorrei sapere a cosa serviva il resto dello sketch