J’ai fabriqué cette unité de température et de minuterie arduino pour faciliter l’échaudage des poulets avant la plumaison dans ma plumeuse. Il intègre un capteur étanche pour surveiller la température de l’eau et un compte à rebours pour le temps d’immersion. La température et le compte à rebours sont affichés sur l’écran à 4 chiffres.
Composantes requises
- Arduino Uno (ou générique)
- DS18D20 capteur de température étanche avec 1m de câble
- TM1637 Affichage à 4 chiffres et 7 segments
- Boîte imprimée en 3D - Voir sur Thingiverse
- 4.7kΩ resistor
Première étape
Le boîtier imprimé 3d
Remixer le design
J’ai basé ma conception sur un boîtier Arduino Uno existant, disponible ICI, que j’ai modifié dans SketchUp.
L’ajout d’une découpe pour l’affichage à 4 chiffres, d’un trou pour le fil du capteur et l’augmentation de la hauteur du couvercle pour permettre plus de dégagement. Voici la conception finale sur Thingiverse
Deuxième étape
Le câblage
Les connexions
En utilisant des fils de connexion dupont raccourcis, l’alimentation et la masse du capteur de température et de l’écran ont été soudées à un seul fil d’alimentation, et la ligne de données du capteur a été soudée à l’alimentation électrique via la résistance. Les fils CLK et DIO ont juste été raccourcis. Toutes les connexions ont été emballées sous film rétractable pour éviter tout court-circuit. Finalement, j’ai soudé une broche courte à chaque fil pour le branchement à l’ONU et j’ai fixé l’écran à l’aide de mon pistolet à colle chaude.
J’ai utilisé une carte Arduino Uno générique de Sunfounder que j’avais eue lors d’un projet précédent.
Les autres articles, mis à part ceux-là, ont été achetés chez Amazon.
Connexions à Arduino Uno
- Alimentation à la broche 5v
- Broche de terre à terre
- Fil de données vers le pin 2
- Affichage CLK à la broche 6
- Affichage DIO à la broche 5
Troisième étape
Téléchargement du code
Mise en place de Arduino UNO
Copiez le sketch Arduino ci-dessous et utilisez le téléchargement de l’IDE Arduino vers la Uno.
Trois bibliothèques supplémentaires seront nécessaires
- OneWire
- DallasTemperature
- TM1637
Ceux-ci peuvent être facilement installés en utilisant les bibliothèques de gestion dans le IDE Arduino
#include <OneWire.h>
#include <DallasTemperature.h>
#include "TM1637.h"
#define CLK 6 //Pins for TM1637
#define DIO 5 //Pins for TM1637
TM1637 tm1637(CLK,DIO);
// Data wire is plugged into Digital Pin 2
#define ONE_WIRE_BUS 2
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature DS18B20(&oneWire);
char temperatureCString[7];
char temperatureFString[7];
// Set timer duration
int second = 30;
void setup() {
Serial.begin(115200);
DS18B20.begin();
tm1637.init();
tm1637.set(BRIGHTEST);
// BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
delay(500);
}
void getTemperature() {
float tempC;
float tempF;
do {
DS18B20.requestTemperatures();
tempC = DS18B20.getTempCByIndex(0);
dtostrf(tempC, 2, 0, temperatureCString);
tempF = DS18B20.getTempFByIndex(0);
dtostrf(tempF, 3, 2, temperatureFString);
Serial.println(temperatureCString);
delay(100);
} while (tempC == 85.0 || tempC == (-127.0));
}
void loop() {
getTemperature();
int result = atoi(temperatureCString);
int num1 = (result / 10) % 10;
int num2 = result % 10;
int num3 = second % 10;
int num4 = (second / 10) % 10;
tm1637.display(0,num1);
tm1637.display(1,num2);
tm1637.display(2,num4);
tm1637.display(3,num3);
tm1637.point(POINT_ON);
if (second > 0) {
second--;
}else
second = 30;
Serial.println("Temperature has been sent");
delay(200);
}
Ce court code imprime la température sur les deux premiers chiffres de l’écran et un compte à rebours de 30 secondes sur les deux derniers chiffres.
J’ai constaté qu’une durée de 30 secondes est à peu près suffisante pour faire le travail, mais qu’elle peut être facilement ajustée jusqu’à une minute en changeant la deuxième variable.
Cette petite boîte est d’une grande aide quand on abat des poulets.
Maintenir l’eau à la température idéale n’a jamais été aussi facile et une minuterie précise (au lieu de compter dans nos têtes) est géniale !