Gigi600 il 4/5/2016, 10:18
Modifica a semplice termostato
Buongiorno a tutti
Posto la Mia prima creatura con arduino 
Ho realizzato un semplice termostato copiando  da  LINK
e adattato con alcune Mie esigenze ( lcd a 16 caratteri aggiunto il ° e % e piccole modifiche ) .
Ho collegato al pin 13 una scheda relè con materiale da recupero 
Ora vorrei inserire due pulsanti per variare la temperatura impostata senza che sia fissa

// setto il limite di temperatura minore o uguale a 20 gradi
if (t <= 20) {

Come modifico lo sketch e hardware ?
Grazie

// carico le librerie
#include <LiquidCrystal.h>
#include "HT.h"
// definisco il pin del sensore
#define DHTPIN 8
// definisco il tipo di sensore
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
// definisco a quali pin � connesso il display
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// definisco che il pin 13 � quello a cui � connesso il led
const int ledPin = 13;
void setup() {
// setto il tipo di display (colonne, righe)
lcd.begin(16, 2);
// scrivo sul display le parole fisse
lcd.print("Tempera");
lcd.setCursor(0,1);
lcd.print("Umidita");
lcd.setCursor(10,0);
lcd.print((char)223);
lcd.setCursor(12,0);
lcd.print("Cald");
pinMode(ledPin, OUTPUT);
}
void loop() {
int t = dht.readTemperature();
int h = dht.readHumidity();
// posiziono il cursore alla colonna 12 e riga 0
lcd.setCursor(8, 0);
lcd.print(t);
lcd.setCursor(8, 1);
lcd.print(h);
// setto il limite di temperatura minore o uguale a 20 gradi
if (t <= 20) {
//
digitalWrite(ledPin, HIGH);
lcd.setCursor(10, 1);
lcd.print("% Acce");
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
lcd.setCursor(10, 1);
lcd.print("% Spen");
}
}
 


Allegati:
termostato_Mio.jpg

LCD_bb.png

danye il 4/5/2016, 11:52
Re: Modifica a semplice termostato
Prova così  ;)

Partendo da una impostazione di 20 gradi, ad ogni pressione dei pulsanti avrai un incremento o decremento della temperatura impostata di 1 grado.


// carico le librerie
#include <LiquidCrystal.h>
#include "HT.h"
// definisco il pin del sensore
#define DHTPIN 8
// definisco il tipo di sensore
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
// definisco a quali pin � connesso il display
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// definisco che il pin 13 � quello a cui � connesso il led
const int ledPin = 13;
const int tempDw= 0;
const int tempUp = 1;
int setTemp = 20;

void setup() {
  // setto il tipo di display (colonne, righe)
  lcd.begin(16, 2);
  // scrivo sul display le parole fisse
  lcd.print("Tempera");
  lcd.setCursor(0, 1);
  lcd.print("Umidita");
  lcd.setCursor(10, 0);
  lcd.print((char)223);
  lcd.setCursor(12, 0);
  lcd.print("Cald");
  pinMode(ledPin, OUTPUT);
  pinMode(tempUp, INPUT);
  pinMode(tempDw, INPUT);
}
void loop() {
  int t = dht.readTemperature();
  int h = dht.readHumidity();
  // posiziono il cursore alla colonna 12 e riga 0
  lcd.setCursor(8, 0);
  lcd.print(t);
  lcd.setCursor(8, 1);
  lcd.print(h);
  // setto il limite di temperatura minore o uguale a 20 gradi
  if(digitalRead(tempUp))
  {
    setTemp = setTemp+1;
  }
    if(digitalRead(tempDw))
  {
    setTemp = setTemp-1;
  }
  delay(100);
  if (t <= setTemp) {
    //
    digitalWrite(ledPin, HIGH);
    lcd.setCursor(10, 1);
    lcd.print("% Acce");
  }
  else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
    lcd.setCursor(10, 1);
    lcd.print("% Spen");
  }
}

Dovrebbe andare non l'ho testato.

Allegati:
pulsanti.jpg

Gigi600 il 5/5/2016, 10:52
Re: Modifica a semplice termostato
Ho provato ma non funziona 
Mi sono accorto che bisognerebbe avere anche un riscontro nel display del valore che si va a impostare 



danye il 5/5/2016, 19:36
Re: Modifica a semplice termostato
ho sbagliato lo schema dei pulsanti praticamente i due pezzettini di filo rosso vanno al buco subito sotto sul positivo praticamente. Prova se diende da quello

Gigi600 il 5/5/2016, 20:59
Re: Modifica a semplice termostato
lo avevo intuito  ;) e per logica il filo rosso lo avevo collegato al positivo ma non funziona .
sempre per logica ad ogni volta che pigio il pulsante dovrebbe accendersi il led del tx o rx ma non lo fa 

danye il 5/5/2016, 21:52
Re: Modifica a semplice termostato
Mmm possibile che a me non funziona mai nienteeeeeee???? appena posso lo metto su e provo.



TOP100-SOLAR Galleria Immagini EnergiAlternativa