Système solaire suiveur de soleil biaxe DIY avec Arduino UNO
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino UNO | 1 |
| Capteur LDR (photorésistance) Analog Devices | 1 |
| Plaque d'essai sans soudure (grand format) | 1 |
| Panneau solaire | 1 |
| Servomoteur micro SG90 | 2 |
| Fils de liaison (jumper wires) | 1 |
| Résistance 1 kΩ | 4 |
Applications et services en ligne
- Arduino IDE
À propos du projet
On voit des panneaux solaires partout : recharge mobile en zone rurale, lampadaires solaires, etc. L'énergie solaire est simple, disponible et peu coûteuse.
Mais la plupart des panneaux sont fixes. Bien que simple, cette approche ne produit pas l'énergie maximale possible.
Notre suiveur est biaxe (dual axis) : il suit le soleil en X et en Y (gauche, droite, haut, bas). Une fois installé, il suit automatiquement le soleil toute la journée sans intervention.
Code
Code du suiveur solaire
/*
* Auteur: Mayur Rabadiya
* Email: mayurrabadiya994@gmail.com
* Code: Système solaire suiveur de soleil
*/
#include
Servo s; // Servo vertical
Servo sh; // Servo horizontal
int start1 = 90; // Position initiale 90°
int start2 = 90;
int L1 = A0; // LDR 1
int L2 = A1; // LDR 2
int L3 = A2; // LDR 3
int L4 = A3; // LDR 4
int a = 15; // Seuil de différence
void setup() {
s.attach(9); // Servo vertical sur pin 9
sh.attach(10); // Servo horizontal sur pin 10
pinMode(L1, INPUT);
pinMode(L2, INPUT);
pinMode(L3, INPUT);
pinMode(L4, INPUT);
s.write(start1);
sh.write(start2);
delay(2000);
}
void loop() {
int LDR1 = analogRead(L1);
int LDR2 = analogRead(L2);
int LDR3 = analogRead(L3);
int LDR4 = analogRead(L4);
int plus14 = (LDR1 + LDR4); // Moyenne coins opposés
int plus23 = (LDR2 + LDR3);
int plus12 = (LDR1 + LDR2);
int plus34 = (LDR3 + LDR4);
int diff1 = abs(plus14 - plus23);
int diff2 = abs(plus23 - plus14);
int diff3 = abs(plus12 - plus34);
int diff4 = abs(plus34 - plus12);
// Axe vertical
if((diff1 <= a) || (diff2 <= a)) {
// Différence faible, ne rien faire
} else {
if(plus14 > plus23) start2--; // Vers < 90°
if(plus14 < plus23) start2++; // Vers > 90°
}
// Axe horizontal
if(plus12 > plus34) start1--; // Vers < 90°
if(plus12 < plus34) start1++; // Vers > 90°
s.write(start1);
sh.write(start2);
delay(100);
}
Schémas
Schéma de câblage : 4 LDR en pont diviseur de tension (avec résistances 1 kΩ) sur entrées A0-A3, servos sur pins 9 et 10, panneau solaire monté sur les servos.
Processus de fabrication
- Systèmes de chauffage solaire : des solutions passives aux actives pour un chauffage domestique durable
- Système de Capteur de Température Multi-Position pour Intégration Domotique
- MotionSense : Détection d'intrusion intelligente avec Arduino et ESP8266
- Prévention incendie imprimante 3D : Système de sécurité à capteur intelligent
- Système d'arrosage intelligent pour plantes d'intérieur avec Arduino Nano
- Lévitation magnétique répulsive avec Arduino : circuit simple et guide DIY
- Robot préhenseur télécommandé avancé pour manipulation de précision
- Enregistreur de données Arduino haute performance pour ballon météo
- CoroFence : Détecteur Thermique Avancé PIR + Capteur Grid-EYE & IoT