Asosiy mazmunga o‘tish
Constell Shop
Robot-mashina: ilk robotingizni yig‘ing 3D

Loyiha 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

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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
L298N ⟷ UNO8 ta sim
  1. L298NENA→UNOD5 ENA ustidagi jumperni olib tashlang
  2. L298NIN1→UNOD7
  3. L298NIN2→UNOD8
  4. L298NIN3→UNOD2
  5. L298NIN4→UNOD4
  6. L298NENB→UNOD6 ENB jumperini ham olib tashlang
  7. L298NGND→UNOGND umumiy yer — majburiy
  8. L298N5V→UNO5V UNO ni drayver orqali quvvatlaydi
L298N ⟷ Chap motor1 ta sim
  1. L298NOUT1OUT2→Chap motor
L298N ⟷ O‘ng motor1 ta sim
  1. L298NOUT3OUT4→O‘ng motor
Batareya ⟷ L298N2 ta sim
  1. Batareya+(2×18650)→L298N12V
  2. Batareya−→L298NGND
nRF24L01 ⟷ UNO7 ta sim
  1. nRF24L01VCC→UNO3.3V 5V emas!
  2. nRF24L01GND→UNOGND
  3. nRF24L01CE→UNOD9
  4. nRF24L01CSN→UNOD10
  5. nRF24L01SCK→UNOD13
  6. nRF24L01MOSI→UNOD11
  7. nRF24L01MISO→UNOD12

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 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