Arduino - Capteur de température - Moteur servo
Ce tutoriel présente comment utiliser un Arduino et un capteur de température DS18B20 pour contrôler un moteur servo. Plus précisément, l'Arduino est programmé pour mesurer continuellement la température à l'aide du capteur DS18B20. Le moteur servo est ensuite ajusté selon les règles suivantes :
- Si la température dépasse un seuil prédéfini, l'Arduino fera tourner le moteur servo à 90 degrés.
- Si la température descend en dessous du seuil, l'Arduino fera tourner le moteur servo à 0 degré.
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) |
Buy Note: Many DS18B20 sensors available in the market are unreliable. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.
À propos du moteur servo et du capteur de température
Si vous ne connaissez pas le moteur servo et le capteur de température (brochage, fonctionnement, programmation...), renseignez-vous sur ces éléments dans les tutoriels suivants :
Diagramme de câblage
- Schéma de câblage avec plaque d'essai
This image is created using Fritzing. Click to enlarge image
- Schéma de câblage avec adaptateur (recommandé)
This image is created using Fritzing. Click to enlarge image
Nous vous suggérons d'acheter un capteur DS18B20 équipé d'un adaptateur de câblage pour une connexion facile. L'adaptateur intègre une résistance, éliminant ainsi le besoin d'une résistance séparée dans le câblage.
Code Arduino - Capteur de température déclenche un moteur servo
Étapes rapides
- Effectuez le câblage entre l'Arduino, le capteur de température et le servo-moteur comme le montre le schéma ci-dessus.
- Connectez l'Arduino au PC via un câble USB.
- Ouvrez l'Arduino IDE, sélectionnez la bonne carte et le bon port.
- Naviguez vers l'icône Libraries sur la barre gauche de l'Arduino IDE.
- Recherchez "DallasTemperature", puis trouvez la bibliothèque DallasTemperature de Miles Burton.
- Cliquez sur le bouton Install pour installer la bibliothèque DallasTemperature.
- On vous demandera d'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'IDE Arduino
- Cliquez sur le bouton Upload de l'IDE Arduino pour charger le code sur Arduino
- Modifiez la température autour du capteur de température
- Observez le changement du moteur servo
- Consultez le résultat sur le moniteur série, cela ressemble à ce qui suit :
Code Arduino - Le capteur de température active le moteur servo avec une tolérance
Pendant le fonctionnement, la température peut fluctuer au-dessus ou en dessous du seuil, entraînant des ajustements rapides et constants du moteur servo. Cela peut se traduire par des vibrations au lieu d'une rotation douce vers l'angle désiré. Pour atténuer ce problème, une tolérance peut être intégrée au seuil. Le code suivant illustre comment mettre en œuvre cette solution :
Le code présenté ci-dessus spécifie un seuil de 20°C et une tolérance de 0,5°C. Les conditions suivantes s'appliquent :
- Si la température est inférieure à 19,5°C, l'angle du moteur servo est ajusté à 0°.
- Si la température est supérieure à 20,5°C, l'angle du moteur servo est ajusté à 90°.
- Si la température est entre 19,5°C et 20,5°C, aucun ajustement n'est effectué sur l'angle du moteur servo.