Dubbele-as zonnepaneel-volgsysteem met auto & handmatige controle – Efficiënte zonvolging
Onderdelen en benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino UNO | 1 |
| Draaipotentiometer (generiek) | 2 |
| LED (generiek) | 2 |
| SparkFun Drukknopschakelaar 12mm | 1 |
| Servo's (Tower Pro MG996R) | 2 |
| Fotoweerstand (LDR) | 4 |
| Weerstand 10kΩ | 5 |
| Weerstand 221Ω | 2 |
Benodigde tools en machines
- Solderbout
Apps en online diensten
- Autodesk Tinkercad (voor programmeren)
- Arduino IDE
Over dit project
Dit project is uitgevoerd door mijn leerlingen tijdens de avondclub "Young Hackers" in 2017-2018. Het is een uitdagend project voor basisschoolleerlingen en heeft veel bijeenkosten gekost. Het bevat een klein 5V zonnepaneel dat in twee assen kan draaien om maximale energie op te wekken. Het project is gebaseerd op het "Dual Axis Solar Tracker Project" van OpenSourceClassroom.
We wilden twee modi implementeren:
- Handmatige modus – bestuurd door twee potentiometers.
- Automatische modus – bestuurd door vier lichtsensoren (LDR's).
Een drukknop en twee indicator-LED's schakelen tussen de modi. In handmatige modus brandt de rode LED en controleer je de rotatie in twee assen met de potentiometers. In automatische modus brandt de blauwe LED en wordt de rotatie bepaald door de lichtintensiteit die de vier LDR's meten. De programmering is gedaan in Tinkercad.
Leerlingen werkten in groepen in een productielijnstijl (solderen, isoleren, schroeven).
Code
Draaiend zonnepaneel code (Arduino)
#include <Servo.h>
// Variabelen
int mode = 0;
int buttonState = 0, prevButtonState = 0;
int topLeftLight, topRightLight, bottomLeftLight, bottomRightLight;
int LeftLight, RightLight, TopLight, BottomLight;
Servo servo_9; // Rechts-links
Servo servo_10; // Omhoog-omlaag
void setup() {
pinMode(7, INPUT); // Modus knop
pinMode(12, OUTPUT); // LED handmatig (rood)
pinMode(11, OUTPUT); // LED auto (blauw)
pinMode(A0, INPUT); // Potentiometer rechts-links
pinMode(A1, INPUT); // Potentiometer omhoog-omlaag
pinMode(A2, INPUT); // LDR boven-links
pinMode(A3, INPUT); // LDR boven-rechts
pinMode(A4, INPUT); // LDR onder-links
pinMode(A5, INPUT); // LDR onder-rechts
servo_9.attach(9);
servo_10.attach(10);
}
void loop() {
buttonState = digitalRead(7);
if (buttonState != prevButtonState) {
if (buttonState == HIGH) {
if (mode == 1) {
mode = 0;
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
} else {
mode = 1;
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
}
}
}
prevButtonState = buttonState;
delay(50);
if (mode == 0) {
// Handmatig: map potmeter waarden naar graden
servo_9.write(map(analogRead(A0), 0, 1023, 0, 180));
servo_10.write(map(analogRead(A1), 0, 1023, 0, 180));
} else {
// Automatisch: map sensorwaarden naar 0-100 lichtintensiteit
// Elke LDR heeft andere gevoeligheid – eerst testen voor min/max!
topLeftLight = map(analogRead(A2), 50, 980, 0, 100);
topRightLight = map(analogRead(A3), 200, 990, 0, 100);
bottomLeftLight = map(analogRead(A4), 170, 970, 0, 100);
bottomRightLight = map(analogRead(A5), 250, 1000, 0, 100);
// Gemiddelde lichtcondities
TopLight = (topRightLight + topLeftLight) / 2;
BottomLight = (bottomRightLight + bottomLeftLight) / 2;
LeftLight = (topLeftLight + bottomLeftLight) / 2;
RightLight = (topRightLight + bottomRightLight) / 2;
// Draai servos nodig (alleen als verschil > 4%)
if (abs(RightLight - LeftLight) > 4) {
if (RightLight < LeftLight) {
if (servo_9.read() < 180) servo_9.write(servo_9.read() + 1);
} else {
if (servo_9.read() > 0) servo_9.write(servo_9.read() - 1);
}
}
if (abs(TopLight - BottomLight) > 4) {
if (TopLight < BottomLight) {
if (servo_10.read() < 180) servo_10.write(servo_10.read() - 1);
} else {
if (servo_10.read() > 0) servo_10.write(servo_10.read() + 1);
}
}
}
}
Schema's

Productieproces
- DHT11 Temperatuur- & Vochtigheidsensor Project met LED-indicatoren en Piezo-luidspreker
- Een eenvoudige obstakelsensor bouwen met Arduino – IR LED & Fotodiodo Tutorial
- Zonnetracker V2.0 – Geavanceerd DIY Zonnepaneel Volgsysteem
- IoT-zonnesturing: Slimme energiemanagement met Arduino
- Bouw een 4x4x4 LED-kubus met Arduino Uno & 1Sheeld – Interactief LED-project
- Hoge-Snelheid Arduino RPM Teller met Nieuw Algoritme
- Koper Elektrolyseren Project: Bouw een Slim Systeem met Arduino UNO
- Accurate zonnestralingsmeting met Arduino UNO en Ethernet Shield
- Digital Logic Board Kit: Onderdelen & Opbouwhandleiding
- Precisie servo-aangedreven zonnevolgsysteem voor optimale energieopbrengst
- Zonnepaneelkwaliteit: essentiële controlepunten voor optimale prestaties