Termostato con Arduino con sonda ds18b20,display I2C,relè non rileva la temperatura
Questo è lo sketch:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
int reading = 0;
int sensorPin = A0;
int relay =7;
void setup() {
lcd.begin(16, 2);
pinMode(relay,OUTPUT);
}
void loop() {
reading = analogRead(sensorPin);
int celsius = reading/2;
lcd.setCursor(0, 0);
lcd.print("Temperatura: ");
lcd.setCursor(0,1);
lcd.print(celsius, DEC);
lcd.print((char)223);
lcd.print("C");
if (celsius >28) {
//modificare la temperatura desiderata,
//inserire > se attivo superiore a 28C°
//e < se attivo inferiore a 28C°
digitalWrite(7,HIGH);
lcd.print(" ON");
} else {
digitalWrite(7,LOW);
lcd.print(" OFF");
}
delay(500);
lcd.clear();
}
Nello sketch è presente il sensore LM35 che non rileva lo stesso temperatura bensì la rileva ma da valori altissimi per favore nello sketch sostituite LM35 con la sonda ds18b20
Questo termostato a me serve che appena arriva a la temperatura prescelta scatta il relè
Prima che passi un mod a sgridarti ... dovresti cortesemente presentarti nell'apposita sezione del forum, e poi secondo il regolamento, editare il post chiudendo la parte del programma negli appositi tag code ... (perche' altrimenti il forum puo trasformare alcune sequenze di caratteri in altre o in faccine, rendendolo dificile da comprendere)
>MatteoGabrieleFiorentino: essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO …
… poi, in conformità al suddetto regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More → Modify che si trova in basso a destra del tuo post) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra). Grazie,
Dopo che ti sei presentato e hai messo il codice dentro i tag CODE (con l'editor avanzato) ti diamo la soluzione, che è banale. Tu hai copiato il codice da un progetto diverso.
>MatteoGabrieleFiorentino: in conformità al REGOLAMENTO, punto 13, il cross-posting è proibito (anche tra lingue diverse) per cui, il tuo post con stesso argomento in area Software è stato cancellato e, per il futuro, ti prego di fare più attenzione al rispetto del suddetto regolamento. Grazie.
Il codice di questa pagina http://www.mauroalfieri.it/elettronica/ds18b20-temperatura-lcd.html funziona però posso visualizzare i valori solo da monitor seriale come faccio ad aggiungere il display I2C e il relè
il relè deve scattare quando arriva alle temperatura scelta.
>MatteoGabrieleFiorentino: ... ti prego di considerare che, purtroppo qui NON funziona così ...
... qui nessuno scrive software per conto terzi (o realizza schemi su ordinazione), ma si aiuta chi viene qui a correggere/ottimizzare il software che lui scrive (o gli schemi chelui realizza)
Ora, dato che mi sembra che ha te manchino proprio le BASI : e stai solo facendo dei copia/incolla, ti suggersico di cominciare con lo studiareQUESTO proseguire con QUESTO e/o acquistare qualche buon libro (es. QUESTO) ... verdai che poi sarai più produttivo e capirai come fare molte cose.