🌞 درس 93: ردیاب خورشید
دو LDR و یک سروو: پنل خورشیدی همیشه رو به نور.
سطح: پیشرفته · زمان: حدود 16 دقیقه · مفاهیم: LDR، سروو، ناحیهی مرده
قدمهای این درس
- چرا؟ پنل چرخان برق بیشتری میگیرد
- قدم ۱ — دو تقسیمکنندهی ولتاژ
- قدم ۲ — اختلاف و ناحیهی مرده
- اشتباه رایج: ناحیهی مردهی اشتباه
- چالش: ردیاب دو محوره و حالت شب
نمونهای از کد این درس
// ردیاب خورشید: دو LDR، یک سروو، یک «ناحیهی مرده»
#include <Servo.h>
Servo panel;
int angle = 90;
const int deadBand = 30; // ignore small differences (noise)
void setup() {
panel.attach(9);
panel.write(angle);
Serial.begin(9600);
}
void loop() {
int left = analogRead(A0); // more light = bigger number
int right = analogRead(A1);
int diff = left - right;
if (diff > deadBand) {
angle = angle + 1; // more light on the left: turn left
} else if (diff < -deadBand) {
angle = angle - 1; // more light on the right: turn right
}
angle = constrain(angle, 0, 180);
panel.write(angle);
Serial.print("left:");
Serial.print(left);
Serial.print(" right:");
Serial.print(right);
Serial.print(" angle:");
Serial.println(angle);
delay(20);
}
چرا این درس؟
دورهی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیهساز انجام میدهی — مدار واقعی میچینی، کد واقعی اجرا میکنی و نتیجه را همان لحظه میبینی. این درس روی درسهای قبلی ساخته شده، پس اگر تازه شروع کردهای از درس ۱ بیا!
این درس را رایگان در شبیهساز شروع کن 🎓