Stores intelligents : contrôle automatisé de la lumière avec Arduino et énergie solaire
Composants et fournitures
| SparkFun Arduino Pro Mini 328 – 5 V/16 MHz | × | 1 |
| Arduino UNO (pour programmer le Pro Mini) | × | 1 |
| Capteur de température LM35DZ | × | 1 |
| Transistor PNP PN2907A | × | 1 |
| Résistance dépendante de la lumière (LDR) | × | 1 |
| Résistance 10 kΩ | × | 1 |
| Résistance 1 kΩ | × | 1 |
| Panneau solaire 5 V 1,5 W | × | 1 |
| Convertisseur DC-DC booster 5 V | × | 1 |
| Module de charge LiPo | × | 1 |
| Connecteurs JST | × | 1 |
| Batterie lithium rechargeable 3,6 V | × | 1 |
| Support de batterie 18650 | × | 1 |
| Servomoteur (ex. Hitec HS-325HB ou Tower Pro MG996R) | × | 1 |
| Accouplement de servomoteur | × | 1 |
| Condensateur 100 nF | × | 1 |
| Fil de câblage assorti | × | 1 |
| PCB personnalisé (OSH Park) | × | 1 |
Outils nécessaires
- Fer à souder
- Perceuse
- Fil à souder
- Pinces coupantes
- Dénudeur de fils
- Multimètre
- Dremel ou outil de coupe similaire
- Plaque d'essai / circuit imprimé
- Gaine thermorétractable
Applications et services en ligne
- Arduino IDE
À propos de ce projet
Ce projet présente les améliorations apportées à mon premier projet : des stores horizontaux automatisés et alimentés par l'énergie solaire. La version initiale a fonctionné correctement pendant près de 4 mois avant que des défauts de conception n'apparaissent.
Objectifs
- Ouvrir (rotation à 85°) le matin pour laisser entrer la lumière.
- Fermer (rotation à 0°, lames vers le bas) le soir pour l'intimité.
- Fermer (rotation à 165°, lames vers le haut, face au soleil) si la température dépasse 30 °C (seuil arbitraire, ajustable).
- Fonctionner sans câblage externe, boîtier ni dispositif apparent – respecter le « Wife Acceptance Factor ».
- Être suffisamment autonome pour ne pas avoir à changer les piles fréquemment.
- Coûter environ 50 $ US (hors outillage et temps de développement).
Problèmes identifiés et solutions
- Orientation de la maison : la fenêtre ne fait pas face au sud exact. En hiver, le soleil brille toute la journée ; en été, il passe au-dessus de la maison vers midi, réduisant la charge solaire. Solution : repositionner le panneau solaire.
- Consommation du servomoteur : 13 mA en continu même au repos. Solution : interrupteur côté haut (High-Side Switch) avec transistor PNP.
- Panneau solaire 6 V incompatible : le module de charge LiPo accepte 4,5–5,5 V ; à 6 V il se coupe. Solution : panneau 5 V correctement dimensionné.
- Absence de journalisation : diagnostic difficile. Solution : fonction de log sur EEPROM.
- Pas de connecteurs démontables : impossible de déconnecter batterie ou panneau pour maintenance. Solution : connecteurs JST entre batterie/circuit et panneau/circuit.
- Référence de tension instable : les mesures analogiques (température, lumière) doivent utiliser le 5 V régulé de l'Arduino Pro Mini, pas la sortie non régulée du booster. Solution : utiliser la broche VCC de l'Arduino.
Étape 1 : Liste des composants
Voir le tableau ci-dessus. Les fournisseurs principaux : SparkFun (local, retrait rapide), Banggood (économique, délai jusqu'à 1 mois), Tayda Electronics (bons prix sur les composants passifs).
Étape 2 : Outils
Voir la liste ci-dessus.
Étape 3 : Prototypage
- Vérifiez la sortie du booster DC-DC avec la batterie LiPo (≈ 5,04 V).
- Montez tous les composants sur plaque d'essai pour écrire le code et mesurer courant/tension.
- Câblage détaillé :
- Module de charge LiPo : batterie et panneau solaire (polarité respectée).
- Fil du panneau vers A0 (tension panneau pour log).
- Batterie vers booster DC-DC.
- Fil de la batterie vers A1 (tension batterie pour log).
- Sortie 5 V du booster vers broche RAW de l'Arduino.
- Masse commune.
- Broche VCC de l'Arduino (5 V régulé) vers tous les composants nécessitant 5 V stables.
- Servomoteur alimenté via le transistor PNP (voir ci-dessous).
- LDR + résistance 10 kΩ vers masse ; point milieu vers A3.
- LM35DZ : VCC → 5 V Arduino, GND → masse, sortie → A2.
- Transistor PNP PN2907A : émetteur → sortie 5 V du booster, base → résistance 1 kΩ → broche 11, collecteur → alimentation servomoteur.
- Masse servomoteur → masse.
- Signal servomoteur → broche 10 (PWM).
- Mesurez le courant au repos sans servomoteur, puis avec. Le servomoteur ajoute ~14 mA au repos.
- Le montage Low-Side Switch (NPN) a échoué. Le High-Side Switch avec PNP élimine le courant résiduel du servomoteur au repos.
Étape 4 : Programmation
Programmez l'Arduino Pro Mini via un Arduino UNO (puce ATmega328P retirée) :
- Uno 5 V → Pro Mini VCC
- Uno GND → Pro Mini GND
- Uno TX → Pro Mini TX0
- Uno RX → Pro Mini RXI
- Uno RESET → Pro Mini RST
Dans l'IDE, sélectionnez « Arduino Pro or Pro Mini ». Le sketch SmartBlinds et la classe de log EEPROM sont disponibles sur GitHub.
Étape 5 : Assemblage
- Soudez des fils rigides sur les connecteurs JST pour gagner en longueur (panneau solaire ~60 cm).
- Découpez le PCB aux dimensions du rail de store.
- Câblez proprement, pré-formez les fils, attention à la hauteur du connecteur du servomoteur.
- Grattez la piste de la LED indicatrice du booster DC-DC pour économiser ~1 mA.
Étape 6 : Assemblage final et dernier téléversement
- Réactivez la journalisation EEPROM (désactivée pendant les tests).
- L'EEPROM du Pro Mini (1024 octets) stocke ~42 entrées (22 octets + 2 octets de synchronisation), soit < 1 mois à 2 actions/jour.
- Mesure finale du courant : ~1,5 mA en veille (bibliothèque LowPower). Avec une batterie 900 mAh → ~600 h sans charge. En mouvement : 200–500 mA.
Étape 7 : Installation
- Retirez le mécanisme de cordon (trop de résistance pour le servomoteur).
- Percez un trou pour la LDR (côté extérieur).
- Découpez au Dremel l'emplacement du servomoteur (côté extérieur, ajusté).
- Lissez les bords, insérez le PCB, alignez la LDR.
- Fixez le servomoteur sur l'axe, serrez la vis de blocage. Au démarrage, le servo va à 90° pendant 10 s : alignez manuellement les lames à 90°, puis coupez l'alimentation pour bloquer la position.
- Montez le store à la fenêtre.
- Placez le panneau solaire au centre de la vitre, tiers supérieur, câbles le long des meneaux, fixez avec du ruban discret.
- Connectez le panneau, insérez la batterie dans le rail, clipsez le store. Il se centre, attend 10 s, puis prend la position adéquate.
- Remettez la finition décorative.
- Profitez !
Étape 8 : Profitez !
Les stores fonctionnent parfaitement depuis plusieurs mois. Particularité amusante : si les lumières du couloir à l'étage et de l'entrée en bas sont allumées, les stores restent ouverts après la tombée de la nuit – idéal pour les démonstrations. Par forte chaleur estivale, ils se ferment à une température intérieure encore confortable (la vitre chauffe plus que la pièce).
Code
Disponible sur GitHub :
Schémas
Fichier Fritzing : SmartBlinds.fzz
Processus de fabrication
- Barman intelligent : Construisez votre propre station de cocktails alimentée par Raspberry Pi
- Stores intelligents : contrôle automatisé de la lumière avec Arduino et énergie solaire
- Capteur d'obstacle IR simple avec Arduino — LED IR + Photodiode
- Chaussures auto-laçantes intelligentes avec récupération d'énergie piézoélectrique
- Suiveur Solaire IoT : Gestion Intelligente de l'Énergie avec Arduino
- Construisez un Bras Robotique Intelligent Contrôlé par Arduino : Tutoriel DIY Facile
- Système de Surveillance Thermique Scolaire : Précis, Temps Réel et Sécurisé
- Gant intelligent geste-vers-texte pour langue des signes
- Circuit d'entrée analogique isolée pour Arduino : Protection contre les parasites industriels