Kuinka tehdä yksinkertainen robotti

Kuinka tehdä yksinkertainen robotti

Membuat robot sederhana adalah cara yang menyenangkan untuk belajar tentang elektronika, mekanika dasar, dan pemrograman. Banyak orang mengira robot harus mahal dan rumit, padahal kita bisa memulainya dari proyek kecil yang mudah dirakit di rumah. Dalam artikel ini, kita akan membuat robot sederhana tipe robot penghindar halangan (obstacle avoiding robot) menggunakan sensor ultrasonik. Robot ini dapat berjalan maju dan secara otomatis berbelok saat mendeteksi benda di depannya. Proyek ini cocok untuk pemula, pelajar, atau siapa pun yang ingin mulai belajar robotika.

1. Ymmärrä yksinkertaisten robottien käsite

Secara umum, robot memiliki tiga komponen utama: otak (kontroler), indera (sensor), dan otot (aktuator) . Pada proyek ini:

– Kontroler : Arduino Uno (atau kompatibel)
– Sensor : Sensor ultrasonik HC-SR04 untuk mengukur jarak
– Aktuator : Motor DC yang menggerakkan roda
– Penggerak motor : Driver motor L298N (atau L293D) agar motor bisa dikontrol oleh Arduino

Kun anturi mittaa etäisyyden robotin edessä ja etäisyys on liian pieni, Arduino käskee moottoriohjainta muuttamaan liikesuuntaa, esimerkiksi kääntymään oikealle tai vasemmalle.

2. Tarvittavat työkalut ja materiaalit

Tässä on luettelo komponen yang umum digunakan dan mudah ditemukan di toko elektronik atau marketplace:

1. Arduino Uno (1 buah)
2. Driver motor L298N (1 buah)
3. Sensor ultrasonik HC-SR04 (1 buah)
4. Motor DC + gearbox dan roda (2 buah) untuk robot 2 roda (differential drive)
5. Caster wheel (1 buah) roda kecil penyeimbang di depan atau belakang
6. Baterai (misalnya 2×18650 atau pack 7,4V) atau 6xAA, sesuai kebutuhan motor
7. Chassis robot (bisa beli jadi atau buat dari akrilik/triplek)
8. Kabel jumper (male-female dan male-male)
9. Saklar on/off (opsional, tapi sangat membantu)
10. Breadboard kecil (opsional)
11. Baut, mur, obeng, dan lem tembak secukupnya

Jos haluat jotain vielä yksinkertaisempaa (ilman ultraääniantureita), voit rakentaa "linjaa seuraavaa" robottia, jossa on linja-anturit, mutta esteitä väistävät versiot tuntuvat usein "elävämmiltä", koska ne reagoivat edessään oleviin esineisiin.

3. Robotin rungon suunnittelu

Alusta on runko, johon kaikki komponentit on asennettu. Voit käyttää valmista alustasarjaa tai rakentaa oman kevyistä materiaaleista, kuten akryylistä, PVC:stä tai ohuesta puusta. Periaate on:

– Pasang dua motor DC di sisi kiri dan kanan.
– Asenna pyörät moottoripyörään.
– Tambahkan caster wheel sebagai penyeimbang agar robot stabil.
– Aseta akku asentoon, joka ei saa robottia kallistumaan.
– Arduino ja moottoriohjaimet tulisi sijoittaa yläosaan helpon pääsyn takaamiseksi.

Varmista, että vaijeri ei roiku alas, jotta se ei jää pyörien väliin.

4. Perusjohdotuskaavio

Tässä on yleinen kytkentäkonsepti (nastat ovat muokattavissa):

a) Moottorista ohjaimeen L298N
– Motor kiri ke output OUT1 dan OUT2
– Motor kanan ke output OUT3 dan OUT4

b) L298N-ajuri Arduinoon
– IN1, IN2 vasemmalle moottorille joihinkin Arduinon digitaalisiin pinneihin
– IN3, IN4 oikean moottorin kytkemiseksi joihinkin Arduinon digitaalisiin pinneihin
– ENA ja ENB (käytössä) voidaan kytkeä Arduinon PWM-nastoihin nopeuden ohjaamiseksi (valinnainen). Jos näin ei ole, joissakin L298N-moduuleissa on jo käyttöönottokytkentä, jonka avulla moottori voi käydä täydellä nopeudella.

c) HC-SR04-anturi Arduinoon
– VCC 5V Arduinoon
– Maadoitus maahan Arduinoon
– TRIG Arduinon digitaaliseen pinniin
– ECHO Arduino-digitaalipinniin

d) Virta
Moottori vaatii enemmän virtaa kuin Arduino pystyy tuottamaan. Siksi:
– Pääakku menee moottorin ohjaimeen (+12 V ja GND-liittimet L298N:ssä).
– Arduinoa voidaan käyttää myös akulla (VIN-liitännän kautta) tai erillisellä varavirtalähteellä/USB:llä.
– Satukan ground : GND baterai/driver dan GND Arduino harus terhubung agar sinyal kontrol stabil.

Yleisin virhe aloittelijoiden keskuudessa on GND:n kytkemisen unohtaminen, jolloin robotti liikkuu epäsäännöllisesti.

5. Esteiden väistörobotin toimintalogiikka

Robot akan bekerja dengan alur sederhana:

1. Lue etäisyys ultraäänianturista.
2. Jos etäisyys > kynnysarvo (esim. 20 cm), robotti liikkuu eteenpäin.
3. Jos etäisyys on ≤ 20 cm, robotti pysähtyy hetkeksi.
4. Robotti liikkuu hieman taaksepäin ja kääntyy sitten (esimerkiksi oikealle) muutaman sadan millisekunnin ajan.
5. Lue etäisyys uudelleen ja toista.

Tämän kuvion avulla robotti näyttää "välttävän" esteitä, vaikka se ei valitsisikaan optimaalisinta reittiä.

6. Yksinkertainen Arduino-koodiesimerkki

Alla on peruskoodiesimerkki. Voit mukauttaa nastoja piiriisi sopiviksi:

"`cpp
määrittele TRIG 8
määrittele ECHO 9

// Vasen moottori
määrittele IN1 2
määrittele IN2 3

// Oikea moottori
määrittele IN3 4
määrittele IN4 5

pitkä kesto;
kokonaismatka;

int lueEtäisyys() {
digitalWrite(TRIG, MATALA);
viiveMikrosekuntia(2);
digitalWrite(TRIG, KORKEA);
viiveMikrosekuntia(10);
digitalWrite(TRIG, MATALA);

kesto = pulssi Sisään(KAIKU, KORKEA);
int cm = durasi 0.034 / 2;
paluu cm;
}

void eteenpäin() {
digitaalinen kirjoitus(IN1, KORKEA);
digitalWrite(IN2, LOW);
digitaalinen kirjoitus(IN3, KORKEA);
digitalWrite(IN4, LOW);
}

tyhjä käänteinen() {
digitalWrite(IN1, LOW);
digitaalinen kirjoitus(IN2, KORKEA);
digitalWrite(IN3, LOW);
digitaalinen kirjoitus(IN4, KORKEA);
}

void käännyOikealle() {
digitaalinen kirjoitus(IN1, KORKEA);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitaalinen kirjoitus(IN4, KORKEA);
}

tyhjä stop() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}

tyhjä asennus () {
pinMode(TRIG, LÄHTÖ);
pinMode(KAIKUT, TULO);

pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);

Sarja-aloitus (9600);
}

void loop () {
etäisyys = lueEtäisyys();
Sarja.println(etäisyys);

jos (etäisyys > 20) {
edetä();
} Else {
Stop();
viive (200);
käänteinen();
viive (300);
Stop();
viive (200);
käänny oikealle();
viive (400);
Stop();
}

viive (50);
}
”`

Tämä koodi on yksinkertaisin versio. Jos robotti kaatuu liian usein, voit nostaa kynnystä 25–30 cm:iin tai pidentää kääntymisaikaa.

7. Testaus ja viritys

Kun robotti on koottu, suorita vaiheittainen testaus:

1. Uji motor terlebih dahulu : jalankan fungsi maju/mundur untuk memastikan roda berputar sesuai arah.
2. Uji sensor ultrasonik : lihat hasil jarak di Serial Monitor Arduino IDE.
3. Gabungkan sistem : jalankan program full dan amati reaksi robot.

Jos robotti kääntyy tai liikkuu taaksepäin, kun sen pitäisi liikkua eteenpäin, saatat joutua vaihtamaan moottorikaapelit tai kääntämään IN1-IN2 (ja IN3-IN4) -logiikan.

8. Yleisiä ongelmia ja ratkaisuja

Joitakin usein ilmeneviä esteitä:

– Robot tidak bergerak sama sekali : cek baterai, cek driver motor, pastikan enable jumper aktif.
– Arduino reset saat motor jalan : suplai daya tidak cukup atau noise dari motor. Coba gunakan baterai terpisah untuk Arduino, tambahkan kapasitor, dan rapikan ground.
– Sensor membaca jarak tidak stabil : pastikan sensor menghadap lurus, jauhkan dari getaran berlebih, dan pastikan kabel tidak longgar.
– Robot “nyangkut” di sudut : tambahkan logika belok acak (random) atau gunakan servo untuk menggerakkan sensor agar bisa “melihat” kiri dan kanan.

9. Kehitysideoita onnistumisen jälkeen

Kun perusrobotti on toiminnassa, voit päivittää sen johonkin mielenkiintoisempaan:

– Menambahkan servo untuk menggerakkan sensor ultrasonik agar robot memilih jalur terbaik.
– Menambahkan kontrol Bluetooth (HC-05) agar bisa dikendalikan dari HP.
– Menggunakan sensor garis untuk membuat robot line follower.
– Mengatur kecepatan PWM agar gerakan lebih halus.
– Menambahkan buzzer atau LED sebagai indikator saat mendeteksi halangan.

Johtopäätös

Yksinkertaisen robotin rakentamisen ei tarvitse olla vaikeaa. Arduinon, tasavirtamoottorin, moottoriohjaimen ja ultraäänianturin avulla voit luoda robotin, joka pystyy liikkumaan ja väistelemään esteitä automaattisesti. Menestyksen avaimet ovat siisti johdotus, riittävät resurssit ja perusteellinen testaus. Kun olet saanut tämän projektin valmiiksi, olet paremmin valmistautunut tarttumaan monimutkaisempiin robotiikkaprojekteihin, kuten kamerapohjaiseen älyrobottiin tai robottiin, joka pystyy seuraamaan esineitä.

Jika Anda ingin, saya bisa membantu membuatkan skema wiring yang lebih detail sesuai pin yang Anda pilih , atau menyesuaikan kode agar robot bisa belok kiri/kanan secara acak dan lebih “cerdas”.

Jätä kommentti