3DLoyiha qo‘llanmalari
Chiziq bo‘ylab yuruvchi robot
Ikkita KY-033 sensori pol yuzasini ko‘radi: qora chiziq qaysi tomonga qochsa, robot o‘sha tomonga buriladi. Oq qog‘ozga qora izolenta yopishtiring — trassa tayyor.
- Murakkablik
- Oson
- Vaqt
- ~120 min
- Detallar
- 12 ta detal
- Qadamma-qadam
- 4 qadam
- Infraqizil aks ettirish sensori bilan ishlash
- Oddiy boshqaruv algoritmi
- Sensorni sozlash (potensiometr)
Detallar
- 1 × Arduino UNO R3 (ATmega328P, SMD)45 000 so‘m
- 1 × 2WD robot shassisi (plastik platforma)30 000 so‘m
- 2 × KY-033 chiziq kuzatish sensori (TCRT5000)16 000 so‘m
- 1 × L298N ikki kanalli motor drayveri (H-ko‘prik)20 000 so‘m
- 2 × TT reduktorli motor va g‘ildirak (sariq, 3–6V)30 000 so‘m
- 1 × 360° g‘ildirak: sharli tayanch / Mecanum12 000 so‘m
- 2 × Litiy batareya (18650 / LiPo)30 000 so‘m
- 1 × 18650 batareyalari uchun ushlagich6 000 so‘m
- 1 × Jumper simlar 20 sm, Male-Female (40 dona)12 000 so‘m
Yana kerak bo‘ladi
- — Kompyuter va Arduino IDE (arduino.cc dan bepul)
- — UNO uchun USB kabel (UNO SMD ning «+ USB kabel» varianti)
- — Kichik krestli otvertka
- — Qora izolenta va oq qog‘oz yoki karton
Qadamma-qadam
- 01
Mashinani yig‘ing
Shassi, motorlar, L298N va quvvat — «Robot-mashina» qo‘llanmasidagi kabi.
- 02
Sensorlarni o‘rnating
Ikkala KY-033 ni old qismga, poldan 5–10 mm balandlikda, bir-biridan chiziq kengligidan biroz kengroq (2–3 sm) masofada pastga qaratib o‘rnating.
- 03
Ulang va sozlang
Chap sensor OUT → D12, o‘ng sensor OUT → D11, VCC → 5V, GND → GND. Quvvat bering va har bir sensorning potensiometrini burang: oq ustida LED yonsin, qora chiziq ustida o‘chsin.
- 04
Kodni yuklang va trassada sinang
Robotni chiziq ustiga, sensorlar chiziqning ikki tomonida turadigan qilib qo‘ying. Burilishlarda chiqib ketsa, SPEED ni kamaytiring.
Ulanish
- Quvvat (+)
- Yer (−)
- Signal pini
- I²C / SPI shinasi
- L298NENA→UNOD5 ENA ustidagi jumperni olib tashlang
- L298NIN1→UNOD7
- L298NIN2→UNOD8
- L298NIN3→UNOD2
- L298NIN4→UNOD4
- L298NENB→UNOD6 ENB jumperini ham olib tashlang
- L298NGND→UNOGND umumiy yer — majburiy
- L298N5V→UNO5V UNO ni drayver orqali quvvatlaydi
- L298NOUT1OUT2→Chap motor
- L298NOUT3OUT4→O‘ng motor
- Batareya+(2×18650)→L298N12V
- Batareya−→L298NGND
- KY-033chapOUT→UNOD12
- KY-033o‘ngOUT→UNOD11
- KY-033VCC→UNO5V
- KY-033GND→UNOGND
Kod
sketch.ino
// motorlar (L298N)
const int ENA = 5, IN1 = 7, IN2 = 8; // chap
const int ENB = 6, IN3 = 2, IN4 = 4; // o‘ng
void motors(int left, int right) { // -255 … 255
digitalWrite(IN1, left >= 0); digitalWrite(IN2, left < 0);
digitalWrite(IN3, right >= 0); digitalWrite(IN4, right < 0);
analogWrite(ENA, abs(left)); analogWrite(ENB, abs(right));
}
void setupMotors() {
int pins[] = {ENA, IN1, IN2, ENB, IN3, IN4};
for (int p : pins) pinMode(p, OUTPUT);
motors(0, 0);
}
const int LEFT = 12, RIGHT = 11; // HIGH = qora chiziq ustida
const int SPEED = 150, TURN = 170;
void setup() {
setupMotors();
pinMode(LEFT, INPUT); pinMode(RIGHT, INPUT);
delay(1500);
}
void loop() {
bool l = digitalRead(LEFT), r = digitalRead(RIGHT);
if (!l && !r) motors(SPEED, SPEED); // chiziq sensorlar orasida
else if (l && !r) motors(-TURN / 2, TURN); // chiziq chap sensor ostida: chapga buriling
else if (!l && r) motors(TURN, -TURN / 2); // o‘ng sensor ostida: o‘ngga buriling
else motors(0, 0); // ikkalasi qora: chorraha yoki marra
}Agar biror narsa ishlamasa
- Robot chiziqni sezmaydi: sensorlar juda baland — 5–10 mm ga tushiring va potensiometrni qayta sozlang.
- Teskari tomonga buriladi: chap va o‘ng sensor simlarini (D12/D11) almashtiring.
- Quyosh nuri ostida ishlamaydi: infraqizil sensorlar kuchli yorug‘likni yoqtirmaydi — xonada sinang.
Keyingi qadamlar
- Uchinchi sensor qo‘shib, burilishlarni silliqroq qiling
- PID boshqaruvni o‘rganing — tezroq va aniqroq

