Buongiorno ho un arduino 2560 con wiznet 5100, vorrei comandare un rele da web server.
Riesco a vedere la pagina via web e anche i comandi per accendere e spegnere il relè, ma quando schiaccio dice off ma in verita non si accende e manco si spegne come posso fare? ho usato questo:
http://ismanettoneblog.altervista.org/blog/lezione-14-come-accendere-lampada-remoto-arduino/
questo è il mio codice:
#include <Time.h>
#include <DS3232RTC.h>
#include <PCF8574_HD44780_I2C.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <RTClib.h>
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip( 192,168,1,6 );
IPAddress gateway( 192,168,1,1 );
IPAddress subnet( 255,255,255,0 );
EthernetServer server(80);
PCF8574_HD44780_I2C lcd(0x3F, 20, 4);
int oraAlba = 9;
int minAlba = 10;
long albas;
int durataAlbas = 720;
int oraTramonto = 17;
int minTramonto = 10;
long tramontos;
int durataTramontos = 720;
long nows;
int delayR = 0;
int delayG = 120;
int delayB = 240;
int delayUV = 360;
int delayW = 360;
int pinR = 2;
int pinG = 3;
int pinB = 4;
int pinW = 5;
int pinUV = 6;
//rele
float rele1 = 35;
float rele2 = 37;
int rele3 = 39;
int rele4 = 41;
int rele5 = 43;
int rele6 = 45;
char buffer1[20];
char buffer2[20];
float riscaldatore = 22.0; // allerta temperatura acqua bassa
float alertacqua = 27.0; // ventola tangenziale
float alertplafo = 44.0; // alerta plafoniera temperatura troppo alta
float tempSoglia = 38.0; //temperatura ventole plafo
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress tmp_address;
float temp0=0;
float temp1=0;
int numberOfDevices;
#define VENTOLA 35
#define TANG 37
#define SKIM 39
#define PUMP 41
#define NOTTE 43
#define RISC 45
void setup()
{
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
setSyncProvider(RTC.get); // the function to get the time from the RTC
if(timeStatus() != timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
lcd.init(); // LCD Initialization
lcd.backlight( ); // Backlight ON
lcd.clear(); // Clear the display
numberOfDevices = 1;
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
Wire.begin();
sensors.begin();
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinW, OUTPUT);
pinMode(pinUV, OUTPUT);
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
pinMode(rele3, OUTPUT);
pinMode(rele4, OUTPUT);
pinMode(rele5, OUTPUT);
pinMode(VENTOLA, OUTPUT);
pinMode(TANG, OUTPUT);
pinMode(RISC, OUTPUT);
pinMode(SKIM, OUTPUT);
pinMode(PUMP, OUTPUT);
pinMode(NOTTE, OUTPUT);
digitalWrite( rele1, LOW);
digitalWrite( rele2, LOW);
digitalWrite( rele3, LOW );
digitalWrite( rele4, LOW );
digitalWrite(rele5, LOW);
delay(3000);
}
#include <Time.h>
#include <DS3232RTC.h>
#include <PCF8574_HD44780_I2C.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <RTClib.h>
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip( 192,168,1,6 );
IPAddress gateway( 192,168,1,1 );
IPAddress subnet( 255,255,255,0 );
EthernetServer server(80);
PCF8574_HD44780_I2C lcd(0x3F, 20, 4);
int oraAlba = 9;
int minAlba = 10;
long albas;
int durataAlbas = 720;
int oraTramonto = 17;
int minTramonto = 10;
long tramontos;
int durataTramontos = 720;
long nows;
int delayR = 0;
int delayG = 120;
int delayB = 240;
int delayUV = 360;
int delayW = 360;
int pinR = 2;
int pinG = 3;
int pinB = 4;
int pinW = 5;
int pinUV = 6;
//rele
float rele1 = 35;
float rele2 = 37;
int rele3 = 39;
int rele4 = 41;
int rele5 = 43;
int rele6 = 45;
char buffer1[20];
char buffer2[20];
float riscaldatore = 22.0; // allerta temperatura acqua bassa
float alertacqua = 27.0; // ventola tangenziale
float alertplafo = 44.0; // alerta plafoniera temperatura troppo alta
float tempSoglia = 38.0; //temperatura ventole plafo
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress tmp_address;
float temp0=0;
float temp1=0;
int numberOfDevices;
#define VENTOLA 35
#define TANG 37
#define SKIM 39
#define PUMP 41
#define NOTTE 43
#define RISC 45
void setup()
{
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
setSyncProvider(RTC.get); // the function to get the time from the RTC
if(timeStatus() != timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
lcd.init(); // LCD Initialization
lcd.backlight( ); // Backlight ON
lcd.clear(); // Clear the display
numberOfDevices = 1;
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
Wire.begin();
sensors.begin();
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinW, OUTPUT);
pinMode(pinUV, OUTPUT);
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
pinMode(rele3, OUTPUT);
pinMode(rele4, OUTPUT);
pinMode(rele5, OUTPUT);
pinMode(VENTOLA, OUTPUT);
pinMode(TANG, OUTPUT);
pinMode(RISC, OUTPUT);
pinMode(SKIM, OUTPUT);
pinMode(PUMP, OUTPUT);
pinMode(NOTTE, OUTPUT);
digitalWrite( rele1, LOW);
digitalWrite( rele2, LOW);
digitalWrite( rele3, LOW );
digitalWrite( rele4, LOW );
digitalWrite(rele5, LOW);
delay(3000);
}
void loop()
{
if (millis() > 500000)
{
digitalWrite(SKIM, HIGH);
}
//ethernet
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected())
{
if (client.available())
{
char c = client.read();
Serial.print(c);
// if you've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so you can send a reply
if (c == '\n')
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("ARDUINO");
client.println();
client.println("<meta charset=UTF-8>"); // serve per inserire i caretteri speciali
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head> <TITLE>Arduino</TITLE> </head>"); // Viene creato il Titolo
client.println("<body> <h1> Benvenuto nel Webserver Arduino </h1>"); // Viene inserito del testo
client.println("<h3> Attraverso questa pagina è possibile accendere e spegnere un LED </h3>");
client.println("</body>");
client.println("</html>");
break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
client.print(now.day(), DEC);
client.print('/');
client.print(now.month(), DEC);
client.print('/');
client.print(now.year(), DEC);
client.print(' ');
client.print(now.hour(), DEC);
client.print(':');
client.print(now.minute(), DEC);
client.println(" ");
client.print("pagina di marco");
client.println(" ");
client.print("acqua");
client.println(" ");
client.print(temp0);
client.println(" ");
client.println("plafo");
client.print(temp1);
Ma cosa diavolo hai postato ??
Ci sono, pare, due programmi, 2 setup, linee che seguono l'ultima graffa messe a cavolo. :o
E poi dicci quali sono i sensori collegati.
Hai una Arduino Leonardo ? No, parli di Mega2650, allora perchè lasci questo pezzo, c'e' pure scritto.
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
ah quindi devo togliere la riga del Leonardo e poi? quali sono i due errori del setup che non capisco ?
Ci prendi in giro ? Hai controllato cosa hai postato ?
Un programma per Arduino inizia con le eventuali #include, poi dichiari variabili, poi UNA sola volta la setup() e poi UNA sola volta la loop()
Tu hai ben due setup() e inoltre alla fine della loop() ci sono delle righe messe a ca...so :o
ho sbagliato a copiare ora rimetto il codice giusto scusate
Prima di postarlo, usa CTRL+T nell'IDE, lo indenta un pò meglio.
#include <Time.h>
#include <DS3232RTC.h>
#include <PCF8574_HD44780_I2C.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <RTClib.h>
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip( 192,168,1,6 );
IPAddress gateway( 192,168,1,1 );
IPAddress subnet( 255,255,255,0 );
EthernetServer server(80);
PCF8574_HD44780_I2C lcd(0x3F, 20, 4);
int oraAlba = 9;
int minAlba = 10;
long albas;
int durataAlbas = 720;
int oraTramonto = 17;
int minTramonto = 10;
long tramontos;
int durataTramontos = 720;
long nows;
int delayR = 0;
int delayG = 120;
int delayB = 240;
int delayUV = 360;
int delayW = 360;
int pinR = 2;
int pinG = 3;
int pinB = 4;
int pinW = 5;
int pinUV = 6;
//rele
float rele1 = 35;
float rele2 = 37;
int rele3 = 39;
int rele4 = 41;
int rele5 = 43;
int rele6 = 45;
char buffer1[20];
char buffer2[20];
float riscaldatore = 22.0; // allerta temperatura acqua bassa
float alertacqua = 27.0; // ventola tangenziale
float alertplafo = 44.0; // alerta plafoniera temperatura troppo alta
float tempSoglia = 38.0; //temperatura ventole plafo
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress tmp_address;
float temp0=0;
float temp1=0;
int numberOfDevices;
#define VENTOLA 35
#define TANG 37
#define SKIM 39
#define PUMP 41
#define NOTTE 43
#define RISC 45
void setup()
{
Serial.begin(9600);
setSyncProvider(RTC.get); // the function to get the time from the RTC
if(timeStatus() != timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
lcd.init(); // LCD Initialization
lcd.backlight( ); // Backlight ON
lcd.clear(); // Clear the display
numberOfDevices = 1;
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
Wire.begin();
sensors.begin();
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinW, OUTPUT);
pinMode(pinUV, OUTPUT);
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
pinMode(rele3, OUTPUT);
pinMode(rele4, OUTPUT);
pinMode(rele5, OUTPUT);
pinMode(VENTOLA, OUTPUT);
pinMode(TANG, OUTPUT);
pinMode(RISC, OUTPUT);
pinMode(SKIM, OUTPUT);
pinMode(PUMP, OUTPUT);
pinMode(NOTTE, OUTPUT);
digitalWrite( rele1, LOW);
digitalWrite( rele2, LOW);
digitalWrite( rele3, LOW );
digitalWrite( rele4, LOW );
digitalWrite(rele5, LOW);
delay(3000);
}
void loop()
{
if (millis() > 500000)
{
digitalWrite(SKIM, HIGH);
}
//ethernet
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected())
{
if (client.available())
{
char c = client.read();
Serial.print(c);
// if you've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so you can send a reply
if (c == '\n')
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("ARDUINO");
client.println();
client.println("<meta charset=UTF-8>"); // serve per inserire i caretteri speciali
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head> <TITLE>Arduino</TITLE> </head>"); // Viene creato il Titolo
client.println("<body> <h1> Benvenuto nel Webserver Arduino </h1>"); // Viene inserito del testo
client.println("<h3> Attraverso questa pagina è possibile accendere e spegnere un LED </h3>");
client.println("</body>");
client.println("</html>");
break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
client.print(now.day(), DEC);
client.print('/');
client.print(now.month(), DEC);
client.print('/');
client.print(now.year(), DEC);
client.print(' ');
client.print(now.hour(), DEC);
client.print(':');
client.print(now.minute(), DEC);
client.println(" ");
client.print("pagina di marco");
client.println(" ");
client.print("acqua");
client.println(" ");
client.print(temp0);
client.println("plafo");
client.print(temp1);
client.println(" ");
// Se l'utente ha premuto l'icona per accendere il LED
if(postText.indexOf("?on") >0){
digitalWrite(pinLED,HIGH);
Serial.println("Accendi LED");
acceso = true;
}
// Se l'utente ha premuto l'icona per spegnere il LED
if(postText.indexOf("?off") >0 ){
digitalWrite(pinLED,LOW);
Serial.println("Spegni LED");
acceso = false;
}
// Viene cambiata la pagina WEB a seconda che il LED sia spento, oppure acceso
if(acceso){
client.println("<a href=\"./?off\"> <img src = \"http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/03/led-red.png\"alt = \"Spegni\" ></a>");
client.println("<h3> Il LED è accesa </h3>");
}else{
client.println("<a href=\"./?on\"> <img src = \"http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/03/led-green.png\"alt = \"Accendi\" ></a>");
client.println("<h3> Il LED è spento </h3>");
}
delay(1);
// Viene chiusta la connessione
client.stop();
Serial.println("client disconnected");
}
}
spero che ora si capisca
Impossibile che ti funzioni, anzi non compila neppure.
Il led che vuoi pilotare fai digitalWrite(pinLED,HIGH) ma pinLED NON esiste nel codice ed inoltre non lo setti nella setup() come pin di output con la pinMode
Bel macello stai facendo. Metti cose a caso ? Un fracco di librerie, variabili che non vengono usate.
Poi dei pezzi che non hanno senso:
if (millis() > 500000)
Questa ha senso solo come differenza di un tempo di una millis() memorizzata in precedenza (vedi esempio BlinkWithoutDelay) usata così funziona solo una volta da quando resetti l'Arduino. Millis parte da zero e va avanti all'infinito. A meno che non resetti l'Arduino.
infatti io li ho cambiati con rele 5 e rele 6 che sono quelli che mi interessano
#include <Time.h>
#include <DS3232RTC.h>
#include <PCF8574_HD44780_I2C.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <RTClib.h>
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip( 192, 168, 1, 6 );
IPAddress gateway( 192, 168, 1, 1 );
IPAddress subnet( 255, 255, 255, 0 );
EthernetServer server(80);
//RTC_Millis RTC;
//RTC_DS3231 RTC;
PCF8574_HD44780_I2C lcd(0x3F, 20, 4);
boolean acceso = false;
int oraAlba = 9;
int minAlba = 10;
long albas;
int durataAlbas = 720;
int oraTramonto = 17;
int minTramonto = 10;
long tramontos;
int durataTramontos = 720;
long nows;
int delayR = 0;
int delayG = 120;
int delayB = 240;
int delayUV = 360;
int delayW = 360;
int pinR = 2;
int pinG = 3;
int pinB = 4;
int pinW = 5;
int pinUV = 6;
//rele
float rele1 = 35;
float rele2 = 37;
int rele3 = 39;
int rele4 = 41;
int rele5 = 43;
int rele6 = 45;
char buffer1[20];
char buffer2[20];
float riscaldatore = 22.0; // allerta temperatura acqua bassa
float alertacqua = 27.0; // ventola tangenziale
float alertplafo = 44.0; // alerta plafoniera temperatura troppo alta
float tempSoglia = 38.0; //temperatura ventole plafo
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress tmp_address;
float temp0 = 0;
float temp1 = 0;
int numberOfDevices;
#define VENTOLA 35
#define TANG 37
#define SKIM 39
#define PUMP 41
#define NOTTE 43
#define RISC 45
void setup()
{
Serial.begin(9600);
setSyncProvider(RTC.get); // the function to get the time from the RTC
if (timeStatus() != timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
lcd.init(); // LCD Initialization
lcd.backlight( ); // Backlight ON
lcd.clear(); // Clear the display
numberOfDevices = 1;
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
Wire.begin();
sensors.begin();
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinW, OUTPUT);
pinMode(pinUV, OUTPUT);
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
pinMode(rele3, OUTPUT);
pinMode(rele4, OUTPUT);
pinMode(rele5, OUTPUT);
pinMode(VENTOLA, OUTPUT);
pinMode(TANG, OUTPUT);
pinMode(RISC, OUTPUT);
pinMode(SKIM, OUTPUT);
pinMode(PUMP, OUTPUT);
pinMode(NOTTE, OUTPUT);
digitalWrite( rele1, LOW);
digitalWrite( rele2, LOW);
digitalWrite( rele3, LOW );
digitalWrite( rele4, LOW );
digitalWrite(rele5, LOW);
delay(3000);
}
void loop()
{
if (millis() > 500000)
{
digitalWrite(SKIM, HIGH);
}
// prendo ora attuale
DateTime now = RTC.get();
sprintf(buffer1, "%02d:%02d:%02d", now.hour(), now.minute(), now.second());
lcd.setCursor(0, 0);
lcd.print( buffer1 );
sprintf(buffer2, "%02d/%02d/%d", now.day(), now.month(), now.year());
lcd.setCursor(0, 1);
lcd.print( buffer2 );
Serial.println(buffer1);
Serial.println(buffer2);
// Richiesta temperatura
sensors.requestTemperatures(); // Comando per misurare la temp.
temp0 = sensors.getTempCByIndex(0);
lcd.setCursor(0, 2); // Colonna 0, Riga 0
lcd.print("acqua:");
lcd.setCursor (6, 2);
lcd.print(temp0);
temp1 = sensors.getTempCByIndex(1);
lcd.setCursor (0, 3); //Colonna 0, Riga 1
lcd.print("plafo:");
lcd.setCursor (6, 3);
lcd.print(temp1);
//ethernet
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// Finisce una richiesta HTTP
boolean currentLineIsBlank = true;
String postText ="";
while (client.connected()){
if (client.available()){
char c = client.read();
if(postText.length()<10){
postText +=c;
}
Serial.print(c);
// Se viene completato l'invio della richiesta HTTP, allora il server invia la risposta
if (c == '\n' && currentLineIsBlank) {
// Viene fatta una risposta HTTP, in pratica viene creata una pagina WEB in
client.println("HTTP/1.1 200 OK");
client.println("ARDUINO");
client.println();
client.println("<meta charset=UTF-8>"); // serve per inserire i caretteri speciali
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head> <TITLE>Arduino</TITLE> </head>"); // Viene creato il Titolo
client.println("<body> <h1> Benvenuto nel Webserver Arduino </h1>"); // Viene inserito del testo
client.println("<h3> Attraverso questa pagina è possibile accendere e spegnere un LED </h3>");
client.println("</body>");
client.println("</html>");
break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
client.print(now.day(), DEC);
client.print('/');
client.print(now.month(), DEC);
client.print('/');
client.print(now.year(), DEC);
client.print(' ');
client.print(now.hour(), DEC);
client.print(':');
client.print(now.minute(), DEC);
client.println(" ");
client.print("pagina di marco");
client.println(" ");
client.print("acqua");
client.println(" ");
client.print(temp0);
client.println(" ");
client.println("plafo");
client.print(temp1);
// Se l'utente ha premuto l'icona per accendere il LED
if(postText.indexOf("?on") >0){
digitalWrite(rele5,HIGH);
Serial.println("Accendi LED");
acceso = true;
}
// Se l'utente ha premuto l'icona per spegnere il LED
if(postText.indexOf("?off") >0 ){
digitalWrite(rele5,LOW);
Serial.println("Spegni LED");
acceso = false;
}
// Viene cambiata la pagina WEB a seconda che il LED sia spento, oppure acceso
if(acceso){
client.println("<a href=\"./?off\"> <img src = \"http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/03/led-red.png\"alt = \"Spegni\" ></a>");
client.println("<h3> Il LED è accesa </h3>");
}else{
client.println("<a href=\"./?on\"> <img src = \"http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/03/led-green.png\"alt = \"Accendi\" ></a>");
client.println("<h3> Il LED è spento </h3>");
}
delay(1);
// Viene chiusta la connessione
client.stop();
}
}
il millis e per lo skimemr del mioa cquarioche si deve accendere dopo 5 minuti che è ritornata corrente
#include <Time.h>
#include <DS3232RTC.h>
#include <PCF8574_HD44780_I2C.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <RTClib.h>
Ma a cosa serve tutta sta roba? Hai un RTC? Hai un display?? Hai un sensore di temperatura Dallas???
Non mettere codice a caso, cerca di capire almeno vagamente cosa stai facendo .
la libreria time è per il ds3231,one wire perche ho due sonde di temperatura sullo stesso bus, rtclib serve per il ds3231
Beh, allora hai un po' più di un Arduino e un relé, magari era il caso di dirlo subito...
PS: 5 minuti non sono 500000 millisecondi... E un numero del genere ti conviene scriverlo con UL in fondo, se vuoi che sia gestito correttamente dal compilatore.
mi esce questo :
qui c'e un pallino verde da pèremere
Accendi
Il LED è spento
26/10/2015 16:7 pagina di marco acqua 25.44 plafo 39.50, ma schiaccio e non accende ne spegne nulla
dove sbaglio?
ho questa scheda rele cmq spero sia utile per aiutarmi grazie a tutti :
marco3020:
dove sbaglio?
Non stai rispondendo alle domande, non stai facendo un passo alla volta ... ti consiglio di ricominciare da capo rispondendo a quello che ti viene chiesto, o non arrivi da nessuna parte ne te ne noi.
Ma a cosa serve tutta sta roba?
- Hai un RTC?
2)Hai un display??
3)Hai un sensore di temperatura Dallas???
RISPOSTE
1 si ho un ds3231
-
si ho un display 20x4
-
si ho due sensori di temperatura uno per sapere il calore della plafoneira e uno epr sapere l'acqua, spero di esseere stato esaustivo, se avete altre domande fate pure,