🌞 ردیاب خورشید
دو 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);
}
چطور اجرایش کنم؟
- شبیهساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
- از پنل «نمونهها»، «ردیاب خورشید» را بارگذاری کن — مدار و کد با هم میآیند.
- دکمهی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
- حالا کد را تغییر بده — عددها، پینها، ترتیب — و دوباره اجرا کن!