Zelfbouw Zonnetracker Zonne-energiesysteem met Arduino UNO
Onderdelen en Benodigdheden
| Arduino UNO | 1 |
| LDR-sensor (Analog Devices) | 1 |
| Solderloos Breadboard (volledige grootte) | 1 |
| Zonnepaneel | 1 |
| SG90 Micro-servomotor | 2 |
| Jumperdraden | 1 set |
| Weerstand 1 kΩ | 4 |
Apps en Online Diensten
- Arduino IDE
Over dit Project
Zonnepanelen zijn overal te vinden: van mobiele opladers in landelijke gebieden tot trottoirverlichting. Zonne-energie is eenvoudig, beschikbaar en goedkoop. Maar bijna alle panelen staan vast. Een vast paneel produceert niet de maximaal mogelijke energie.
Onze tracker is een dual-axis tracker: hij volgt de zon in zowel X- als Y-richting (links/rechts en omhoog/omlaag). Eenmaal ingesteld, hoeft u nooit meer bij te stellen – de tracker volgt de zon automatisch.
Hoe het werkt
Vier LDR's (lichtgevoelige weerstanden) zijn op de hoekpunten van een kruis gemonteerd. De Arduino vergelijkt de lichtintensiteit van de LDR-paren en stuurt twee servomotoren aan om het paneel naar de helderste richting te draaien.
Code
Zonnetracker Code (Arduino)
/* Auteur: Mayur Rabadiya */
#include
Servo s; // Verticale servo
Servo sh; // Horizontale servo
int start1 = 90; // Startpositie horizontaal
int start2 = 90; // Startpositie verticaal
int L1 = A0, L2 = A1, L3 = A2, L4 = A3; // LDR-pinnen
int a = 15; // Drempelwaarde voor beweging
void setup() {
s.attach(9);
sh.attach(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;
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);
// Verticale as
if (!((diff1 <= a) || (diff2 <= a))) {
if (plus14 > plus23) start2--;
if (plus14 < plus23) start2++;
}
// Horizontale as
if (plus12 > plus34) start1--;
if (plus12 < plus34) start1++;
s.write(start1);
sh.write(start2);
delay(100);
}
Schema
Het schema toont de aansluiting van de vier LDR's (elk met 1kΩ pull-down weerstand) op A0-A3, en de twee servos op pinnen 9 en 10. De voeding van de servos komt van de Arduino 5V (voor kleine servos acceptabel).
Productieproces
- Zonneverwarmingssystemen: Van Passief tot Actieve Oplossingen voor Duurzame Huisverwarming
- Meerpositie-temperatuursensorsysteem voor slimme thuisintegratie
- MotionSense: Slimme inbraakdetectie met Arduino en ESP8266
- 3D-Printer Brandpreventie: Slimme Sensor Veiligheidssysteem
- Slimme Plantenwateringssysteem met Arduino Nano
- Arduino-gebaseerde Afstotende Magnetische Levitatie: Eenvoudige Schakeling & DIY Handleiding
- Geavanceerde Remote-gecontrolleerde Gripper Robot voor Precisiehantering
- High-Performance Arduino Weerballon Datalogger
- Autonome Gezichtsvolgende Robot Auto met Arduino Nano & OpenCV
- Geavanceerde Microcontroller Lab: ESP32, Arduino, PIC en Sensormodules
- CoroFence Thermische Detector: Geavanceerde PIR-sensor & IoT-integratie