Go Down

Topic: projet de surveillance frigo avec alarme (Read 750 times) previous topic - next topic

ldcm83

bonjours

mon projet a pour objectif la surveillance de 2 frigo et 1 congélateur ( 1 autre frigo par la suite) : j'utilise des capteurs de températures DS1820

les température seront lisible sur un lcd

1 led par son qui s'allumera en cas  de dépassement d'un seuil de température

voila le projet de base
et j'aimerai par la suite ajouter un module Ethernet pour faire une relevé de température et une alerte mail en cas de problème 8-)

voila, actuellement la parti physique est monté sur une plaque d'essai :) ,
et la je m'attaque a la phase programmation....  :-/

BBye


ldcm83

Bonsoir
voici mon code
il n'est surement pas parfait mais avec mais maigre notion c'est tout ce que je suis arrive a faire, en piochant a droite et a gauche  :-[
Code: [Select]
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>

// Data wire is plugged into pin 9 on the Arduino

#define ONE_WIRE_BUS 10

int LED = 13;

// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

// Pass our oneWire reference to Dallas Temperature.

DallasTemperature sensors(&oneWire);


void setup(void)
{
lcd.begin(16, 2);
Serial.begin(9600);
sensors.begin();

//set up frequency of 9 & 10 pin on 32MHz
TCCR1B = TCCR1B & 0b11111000 | 0x01;
}

void loop(void)
{
float temp1=0, temp2=0, temp3=0;
Serial.print("Requesting temperatures...");
sensors.requestTemperatures();
delay(250);

Serial.println("DONE");
lcd.clear();
lcd.setCursor(0,0);
temp1=sensors.getTempCByIndex(0);
lcd.print(temp1);
Serial.println(temp1);

lcd.setCursor(8,0);
temp2=sensors.getTempCByIndex(1);
lcd.print(temp2);
Serial.println(temp2);

lcd.setCursor(0,1);
temp3=sensors.getTempCByIndex(2);
lcd.print(temp3);
Serial.println(temp3);

if ( temp1 > 6 || temp2 > 6|| temp3 > -15)
   {
   digitalWrite(LED, HIGH);
   lcd.setCursor(8,1);
   lcd.print("ALARME");
   }
else
   {
   digitalWrite(LED, LOW);
   lcd.setCursor(8,1);
   lcd.print("OK");
   }
delay(500);
}


ce que je pense qui est a améliore
c'est faire la relève des températures avec l'adresse du capteur

Voila
;)
Bonne nuit

Go Up