Arduino - Capteur de température - Matrice LED
Dans ce tutoriel, nous allons apprendre à programmer un Arduino pour lire la température à partir du capteur un fil DS18B20 et l'afficher sur une matrice LED.
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.
À propos de la matrice LED et du capteur de température DS18B20
Si vous ne connaissez pas la matrice LED et le capteur de température DS18B20 (brochage, fonctionnement, programmation ...), renseignez-vous à leur sujet dans les tutoriels suivants :
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Nous vous suggérons d'acheter un capteur DS18B20 avec un adaptateur de câblage pour une connexion facile. L'adaptateur possède une résistance intégrée, éliminant la nécessité d'en avoir une séparée dans le câblage.
Code Arduino - Température à partir du capteur de température DS18B20 et affichage sur matrice LED
/*
* Ce code Arduino a été développé par newbiely.fr
* Ce code Arduino est mis à disposition du public sans aucune restriction.
* Pour des instructions complètes et des schémas de câblage, veuillez visiter:
* https://newbiely.fr/tutorials/arduino/arduino-temperature-sensor-led-matrix
*/
#include <OneWire.h>
#include <DallasTemperature.h>
#include <DIYables_LED_Matrix.h>
#define SENSOR_PIN 2 // DS18B20 data pin
OneWire oneWire(SENSOR_PIN);
DallasTemperature tempSensor(&oneWire);
float tempCelsius;
float tempFahrenheit;
#define CS_PIN 9 // Chip Select pin for MAX7219
#define NUM_MATRICES 4 // Number of cascaded MAX7219 modules
#define SPACING 2 // Spacing between characters
DIYables_Max7219 display(CS_PIN, NUM_MATRICES);
void setup() {
Serial.begin(9600);
delay(500);
// Initialize temperature sensor
tempSensor.begin();
// Initialize the LED matrix display
display.setBrightness(1); // Brightness level: 0 to 15
display.clear();
display.show();
}
void loop() {
// Request and read the temperature
tempSensor.requestTemperatures();
tempCelsius = tempSensor.getTempCByIndex(0);
tempFahrenheit = (tempCelsius * 9.0 / 5.0) + 32.0;
// Print temperature to Serial Monitor
Serial.print("Temperature: ");
Serial.print(tempCelsius);
Serial.print("°C ~ ");
Serial.print(tempFahrenheit);
Serial.println("°F");
// Clear the display, then print temperature (Celsius)
display.clear();
// Convert to C-style string before passing to the print() function
String tempStr = String(tempCelsius, 1) + "°C"; // 1 decimal place
display.print(tempStr.c_str(), SPACING, 0);
display.show();
delay(2000); // Wait 2 seconds before taking the next reading
}
Étapes rapides
- Ouvrez l'IDE Arduino sur votre PC.
- Accédez à l'icône Libraries dans la barre gauche de l'IDE Arduino.
- Recherchez « DIYables-LED-Matrix », puis trouvez la bibliothèque LED Matrix par DIYables.
- Cliquez sur le bouton Install pour installer la bibliothèque.
- Recherchez “DallasTemperature”, puis trouvez la bibliothèque DallasTemperature par Miles Burton.
- Cliquez sur le bouton Install pour installer la bibliothèque DallasTemperature.
- Vous serez invité à installer la dépendance de la bibliothèque
- Cliquez sur le bouton Install All pour installer la bibliothèque OneWire.
- Copiez le code ci-dessus et ouvrez-le avec l'Arduino IDE
- Cliquez sur le bouton Upload dans l'Arduino IDE pour téléverser le code sur l'Arduino
- Placez le capteur sur de l'eau chaude et froide, ou saisissez le capteur avec votre main
- Voyez le résultat sur la matrice LED