Thermostat Intelligent et Contrôle d'Éclairage avec Bluetooth – Système Basé sur Arduino
Composants et fournitures
| Arduino Nano R3 | ×1 |
| Module Bluetooth HC-05 | ×1 |
| Capteur de température DS18B20 (1-Wire, résolution programmable) | ×1 |
| Écran OLED bicolore I2C 128×64 | ×1 |
| Contrôleur de relais 4 canaux I2C | ×1 |
Applications et services en ligne
- Morich Serial Bluetooth Terminal (Android)
- Arduino Bluetooth Control Device (Android)
À propos du projet
Introduction
Projet DIY simple mais utile de thermostat Arduino avec Bluetooth.
Une routine de thermostat intelligente contrôle la chaudière à gaz, tandis que le système commute l'éclairage de la cuisine et le ventilateur de la salle de bain via des relais – le tout contrôlable par boutons et appareil Android ou ordinateur via Bluetooth. Versions Celsius et Fahrenheit disponibles ! Toutes les pièces sont faites main.

Développé sur Arduino Nano (ou supérieur), utilisant le capteur Dallas DS18B20, adaptateur Bluetooth HC-05/06, écran OLED bicolore I2C 128×64 – vous pouvez choisir un autre LCD/OLED, la bibliothèque u8glib en supporte beaucoup.

Modes de fonctionnement du chauffage
- Chauffage unique (15 min) – mode minuteur, utile aux soirées de printemps/automne
- Mode thermostat (priorité haute), la température cible ajustée est stockée en mémoire EEPROM
Algorithme de protection de la chaudière
Les commutations fréquentes et courtes réduiraient la durée de vie de la chaudière à gaz. Pour l'éviter, le programme utilise des valeurs de correction qui définissent le degré de surchauffe et de refroidissement. Une température plus basse exige des corrections plus importantes, car les murs plus froids absorbent mieux la chaleur de l'air fraîchement chauffé, amplifiant l'effet décrit.

Détection de fenêtre ouverte
Le programme détecte l'ouverture d'une fenêtre si la température chute d'au moins -0,2 °C (-0,36 °F) en une minute – le chauffage s'arrête ou ne démarre pas, et le ventilateur s'allume pour renouveler l'air. Lorsque la température remonte d'au moins +0,12 °C (+0,216 °F) grâce à l'inertie thermique, le système revient au mode normal et l'alerte « Fenêtre » est levée.
Détection d'erreur
Une température mesurée sous 0 °C (32 °F) ou au-dessus de 40 °C (104 °F) est considérée comme une panne ou un problème (erreur, fenêtre cassée, incendie, etc.) – tous les appareils s'arrêtent.
Communication Bluetooth
L'application Android GUI possède 8 boutons, envoyant des lettres majuscules/minuscules pour allumer (« A ») ou éteindre (« a ») le chauffage minuteur, « B »/« b » pour la ventilation, « C »/« c » pour l'éclairage…

L'autre atout est l'utilisation d'un terminal série Bluetooth « geek-friendly ». Dialoguez avec le système via Bluetooth à l'aide d'un terminal série – application Android ou même un PC normal, comme le Moniteur Série de l'IDE Arduino.
Le contrôleur envoie des rapports de température chaque minute automatiquement, et des rapports instantanés sur tous les événements : appareil allumé/éteint, routine thermostat activée, etc.

Codes de contrôle
Le système accepte des codes de contrôle et envoie des confirmations. La structure de commande utilise des nombres à deux chiffres « XY » où :
- « X » = code appareil, « Y » = code opération
- 30, 31, 32 : éclairage Arrêt / Marche / Inversion d'état
- 40, 41, 42 : ventilation Arrêt / Marche / Inversion d'état
- 50, 51, 52 : chauffage minuteur Arrêt / Marche / Inversion d'état
- 10 – 24 : valeurs acceptées comme température cible pour le thermostat
- r – rapport d'état des appareils contrôlés
- w – désactive manuellement l'alerte « fenêtre »
- A, a… H, h – lettres acceptées comme l'enverrait l'application GUI
Version Fahrenheit
Toutes les variables de correction, références et ratios ont été converties, conservant les particularités de calcul et de fonctionnement.

Quelques modifications seulement. Nouveaux codes appareils pour la version Fahrenheit :
- 1 – Éclairage (10: arrêt, 11: marche, 12: inversion)
- 2 – Ventilation
- 3 – Chauffage
- 50 – 76 : valeurs de température cible
La suite
MISE À JOUR : Système domotique complet avec liaison Bluetooth interne et contrôle vocal !
Bibliothèques et liens
- DallasTemperature, elapsedMillis, OneWire, SoftwareSerial, olikraus/u8glib
Si vous utilisez des résistances de boutons différentes ou devez vérifier les lectures A0, consultez :
https://blog.codebender.cc/2015/07/20/tutorial-multiple-buttons-on-1-analog-pin/
Code source
- Thermostat v11 - Version Celsius.ino
- Thermostat v11 - Version Fahrenheit.ino
Le code est bien commenté, décrit chaque étape importante ; quoi, pourquoi et comment. Divisé en modules par fonctions, facile à survoler.
Schémas
Pour test avec fils de liaison…

Il faut souder

Processus de fabrication
- Système de contrôle d'accès intégré QR, RFID et vérification de température
- Construire une télécommande Android universelle avec Arduino, 1Sheeld et contrôle IR
- Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano
- Système d'arrosage automatique pour plantes piloté par Arduino
- Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
- Chaussures auto-laçantes intelligentes avec récupération d'énergie piézoélectrique
- Contrôler 2 moteurs pas-à-pas avec Arduino Nano et joystick – Tutoriel Visuino
- Arduino et MPU6050 : Contrôle précis de servo-moteur avec SG90 et MG996R
- Appareils électroménagers à commande vocale : contrôle Bluetooth avec Google Assistant