3DLoyiha qo‘llanmalari
Robot-mashina: ilk robotingizni yig‘ing
Ikki motorli shassi, L298N drayveri va Arduino UNO — robototexnikaning asosi. Oxirida mashina siz dasturlagan marshrut bo‘ylab yuradi: to‘g‘riga, burilish va yana takrorlash.
- Murakkablik
- Oson
- Vaqt
- ~90 min
- Detallar
- 11 ta detal
- Qadamma-qadam
- 7 qadam
- Motorlarni drayver orqali boshqarish va tezlikni PWM bilan o‘zgartirish
- Batareyadan quvvatlash va umumiy yer
- Harakatni vaqt bo‘yicha dasturlash
Detallar
- 1 × Arduino UNO R3 (ATmega328P, SMD)45 000 so‘m
- 1 × 2WD robot shassisi (plastik platforma)30 000 so‘m
- 1 × L298N ikki kanalli motor drayveri (H-ko‘prik)20 000 so‘m
- 1 × nRF24L01+ 2,4 GHz radiomodul33 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
Qadamma-qadam
- 01
Shassini yig‘ing
Ikki TT motorni kronshteynlar bilan platformaning orqa qismiga, sharli g‘ildirakni old qismiga mahkamlang. G‘ildiraklarni motor o‘qlariga kiygizing. Batareya uyasini va L298N ni ikki tirgak bilan o‘rtaga qo‘ying.
- 02
Motorlarni drayverga ulang
Chap motor simlarini OUT1/OUT2 ga, o‘ng motorni OUT3/OUT4 ga vintli klemmalar bilan ulang. Agar keyinroq motor teskari aylansa, faqat shu ikki simning o‘rnini almashtirasiz.
- 03
Boshqaruv simlarini ulang
Pastdagi jadval bo‘yicha L298N va UNO ni «ota-ona» simlar bilan ulang. ENA va ENB dagi jumperlarni olib tashlang — aks holda tezlikni boshqarib bo‘lmaydi.
- 04
Quvvatni ulang
Batareya + simini L298N ning 12V klemmasiga, − simini GND ga ulang. Shu GND dan UNO ning GND iga sim torting va L298N 5V ni UNO 5V ga ulang. Batareyalarni hali qo‘ymang.
- 05
Radiomodulni o‘rnating
nRF24L01 ni jadval bo‘yicha ulang: VCC faqat 3.3V ga (5V modulni kuydiradi), CE → D9, CSN → D10, SCK → D13, MOSI → D11, MISO → D12. Bu mashina hozircha marshrutni o‘zi bosib o‘tadi; radio esa keyingi qadam — ikkinchi nRF24L01 va joystikli plata bilan masofadan boshqarish uchun tayyor turadi.
- 06
Kodni yuklang
UNO ni USB orqali kompyuterga ulang, Arduino IDE da «Arduino Uno» platasini va portni tanlang, kodni joylab «Upload» ni bosing. CH340 drayveri kerak bo‘lsa, Windows uni odatda o‘zi o‘rnatadi.
- 07
Sinab ko‘ring
USB ni uzing, batareyalarni qo‘ying va mashinani polga qo‘ying. U to‘rt marta «to‘g‘riga + o‘ngga burilish» qilib, kvadrat chizadi. Burilish 90° dan kam yoki ko‘p bo‘lsa, TURN_MS qiymatini o‘zgartiring.
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
- nRF24L01VCC→UNO3.3V 5V emas!
- nRF24L01GND→UNOGND
- nRF24L01CE→UNOD9
- nRF24L01CSN→UNOD10
- nRF24L01SCK→UNOD13
- nRF24L01MOSI→UNOD11
- nRF24L01MISO→UNOD12
Kod
// 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 SPEED = 180; // 0–255
const int STRAIGHT_MS = 1500;
const int TURN_MS = 420; // 90° burilishga moslang
void setup() {
setupMotors();
delay(2000); // robotni yerga qo‘yishga vaqt
for (int side = 0; side < 4; side++) {
motors(SPEED, SPEED); delay(STRAIGHT_MS);
motors(SPEED, -SPEED); delay(TURN_MS);
}
motors(0, 0);
}
void loop() {}Agar biror narsa ishlamasa
- Motorlar g‘ingillaydi, lekin aylanmaydi: batareyalar zaryadsiz yoki SPEED juda past — 150 dan oshiring.
- Bitta motor teskari aylanadi: uning ikki simini OUT klemmalarida almashtiring.
- UNO qayta-qayta yonib-o‘chadi: GND umumiy emas yoki batareyalar zaif.
- Mashina bir tomonga og‘adi: tez motorning SPEED qiymatini biroz kamaytiring.
Keyingi qadamlar
- Ikkinchi plata, nRF24L01 va joystik bilan pult yasab, mashinani radio orqali boshqaring («RF24» kutubxonasi)
- HC-SR04 sensori bilan to‘siqdan qochuvchi robotga aylantiring

