Bon voilà, après une petite absence du a une surcharge de travail et quelques soucis bénins mais chronophage me voici de retour.
J'ai délaissé le brassage durant ses périodes chaude et j'en ai profité pour fabriquer quelque petit trucs.
Le premier que je vous présente est un régulateur de température pour frigo ou congelé afin de gérer les températures de fermentation.
Il n'est pas encore fini et évoluera, je vous partagerais bien évidement tout cela.
Le tout est réalisé à base d'Arduino.
Le projet est de pouvoir gérer 2 unités et afficher la température extérieure.
Pour chaque sonde la temperature pourra être choisi a l'aide d'un menu.
Des leds afficheront l'état du relais.
Ce qu'il reste a faire:
Rajouter le deuxième relais.
Rajouter les sonde du deuxième relais et de la température extérieure.
Rajouter les les d'état.
Rajouter un interrupteur principale.
Rajouter une alimentation interne pour l'Arduino afin de n'avoir qu'une seule prise.
Completer et optimiser le code.
Organiser l'installation et le câblage à l'intérieur du boitier.
La liste du matériel utilisé (je n'ai mis que les carte principale, pour les consommables je vous laisse chercher
Arduino mega : https://www.velleman.eu/products/view/?id=418064
Ecran LCD avec bouton : http://www.velleman.eu/products/view/?c ... &id=435510
Carte de relais : https://www.velleman.eu/products/view/?id=435558
Sonde ds18b20 (1wire): http://www.tme.eu/fr/details/sf-sen-110 ... nlEALw_wcB
Le code (je precise que je suis total débutant et que j'ai BIEN galéré! il est donc ouvert a l'optimisation
Code : Tout sélectionner
// Je charge les librairies
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
int relais = 51; //Ont assigne le relais a la broche 51
int temp_sensor = 53; //Ont assigne la sonde a la broche 53
float temperature = 0; //Ont creer les variable
int lowerLimit = 18;
OneWire oneWirePin(temp_sensor);
DallasTemperature sensors(&oneWirePin);
// select the pins used on the LCD panel
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup(void)
{
lcd.begin(16, 2);
lcd.setCursor(1, 0);
lcd.print ("HELLO");
pinMode(relais, OUTPUT);
sensors.begin();
}
void loop() {
sensors.requestTemperatures();
temperature = sensors.getTempCByIndex(0);
//AFFICHAGE TEMPERATURE LCD
lcd.setCursor(1, 0);
lcd.print ("Temp: ");
lcd.setCursor(7, 0);
lcd.print(temperature);
//AFFICHAGE LCD ETAT RELAIS
if (temperature > lowerLimit) {
lcd.setCursor(1, 1);
lcd.print("Relais ON");
}
else if (temperature < lowerLimit ) {
lcd.setCursor(1, 1);
lcd.print("Relais OFF");
}
//GESTION DU RELAIS
if (temperature > lowerLimit) {
digitalWrite(relais, HIGH);
}
else if (temperature < lowerLimit ) {
digitalWrite(relais, LOW);
}
}
Les photos, désolé pour la qualité mais mon objectif a rendu l'âme d'ou tout les truc noire...
Voilà les amis
Je publie dans un but de partage, donc je reste dispo si il y a des questions
