Nola egin robot sinple bat

Nola egin robot sinple bat

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. Robot sinpleen kontzeptua ulertu

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

Sentsoreak robotaren aurreko distantzia irakurtzen duenean eta distantzia txikiegia denean, Arduinoak motor-gidariari mugimenduaren norabidea aldatzeko agindua emango dio, adibidez eskuinera edo ezkerrera biratzeko.

2. Beharrezko tresnak eta materialak

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

Are sinpleagoa den zerbait nahi baduzu (ultrasoniko sentsorerik gabe), "lerro jarraitzaile" robot bat eraiki dezakezu lerro sentsoreekin, baina oztopoak saihesteko bertsioak askotan "biziagoak" sentitzen dira, aurrean dituzten objektuei erantzuten dietelako.

3. Robotaren xasisa diseinatzea

Txasisa osagai guztiak muntatzen diren markoa da. Aurrez egindako txasis kit bat erabil dezakezu edo zeurea eraiki dezakezu akrilikoa, PVC edo egur mehea bezalako material arinekin. Printzipioa hau da:

– Pasang dua motor DC di sisi kiri dan kanan.
– Gurpilak motorrean jarri.
– Tambahkan caster wheel sebagai penyeimbang agar robot stabil.
– Jarri bateria robota okertu gabe gera dadin posizio batean.
– Arduino eta motor-kontrolatzaileak goialdean jarri behar dira, erraz iristeko.

Ziurtatu kablea ez dela zintzilik geratzen gurpiletan trabatuta ez geratzeko.

4. Oinarrizko kableatu-diagrama

Hona hemen konexio kontzeptu orokor bat (pinak pertsonaliza daitezke):

a) Motorra L298N gidarirako
– Motor kiri ke output OUT1 dan OUT2
– Motor kanan ke output OUT3 dan OUT4

b) L298N kontrolatzailea Arduinorako
– IN1, IN2 ezkerreko motorrarentzat Arduino pin digital batzuetara
– IN3, IN4 eskuineko motorrarentzat Arduino pin digital batzuetara
– ENA eta ENB (gaitzea) Arduino PWM pinetara konekta daitezke abiadura kontrolatzeko (aukerakoa). Bestela, L298N modulu batzuek gaitze-jumper bat dute motorra abiadura osoan funtziona dezan.

c) HC-SR04 sentsorea Arduinorako
– VCCtik 5V-ra Arduino
– GNDtik GNDra Arduinotik
– TRIG Arduino pin digitalera
– ECHO Arduino pin digitalera

d) Potentzia
Motorrak Arduinoak eman dezakeena baino korronte gehiago behar du. Beraz:
– Bateria nagusia L298N-ko (+12V eta GND terminalak) motor-kontrolatzailera doa.
– Arduino bateriaz ere elika daiteke (VIN bidez) edo aparteko power bank/USB bidez.
– Satukan ground : GND baterai/driver dan GND Arduino harus terhubung agar sinyal kontrol stabil.

Hasiberrien artean akats ohikoena GND elkarrekin jartzea ahaztea da, eta, ondorioz, robota modu irregularrean mugitzen da.

5. Oztopoak saihesteko robotaren funtzionamendu logika

Robot akan lanean alur sederhana:

1. Irakurri distantzia ultrasoinu sentsoretik.
2. Distantzia atalasea > bada (adibidez, 20 cm), robota aurrera mugitzen da.
3. Distantzia ≤ 20 cm bada, robota laburki gelditu egiten da.
4. Robotak atzera egiten du pixka bat eta gero biratzen du (adibidez, eskuinera) ehunka milisegundo batzuetan.
5. Irakurri distantzia berriro eta errepikatu.

Patroi honekin, robotak oztopoak “saihestu” dituela dirudi, biderik egokiena aukeratu ez badu ere.

6. Arduino kode sinplearen adibidea

Jarraian, oinarrizko kode adibide bat dago. Pinak zure zirkuituari egokitzeko pertsonaliza ditzakezu:

“`cpp
definitu TRIG 8
definitu ECHO 9

// Ezkerreko motorra
definitu IN1 2
definitu IN2 3

// Eskuineko motorra
definitu IN3 4
definitu IN4 5

iraupen luzea;
distantzia osoa;

int irakurriDistantzia() {
digitalWrite(TRIG, LOW);
atzerapenaMikrosegundoak(2);
idazketa digitala(TRIG, HIGH);
atzerapenaMikrosegundoak(10);
digitalWrite(TRIG, LOW);

iraupena = pulseIn(ECHO, HIGH);
int cm = durasi 0.034 / 2;
itzuli cm;
}

aurrera hutsa() {
idazketa digitala(IN1, HIGH);
idazketa digitala(IN2, LOW);
idazketa digitala(IN3, HIGH);
idazketa digitala(IN4, LOW);
}

void alderantzizkoa() {
idazketa digitala(IN1, LOW);
idazketa digitala(IN2, HIGH);
idazketa digitala(IN3, LOW);
idazketa digitala(IN4, HIGH);
}

void biraEskuinera() {
idazketa digitala(IN1, HIGH);
idazketa digitala(IN2, LOW);
idazketa digitala(IN3, LOW);
idazketa digitala(IN4, HIGH);
}

void stop() {
idazketa digitala(IN1, LOW);
idazketa digitala(IN2, LOW);
idazketa digitala(IN3, LOW);
idazketa digitala(IN4, LOW);
}

konfigurazio hutsa () {
pinMode(TRIG, OUTPUT);
pinMode(OIHARTZEA, SARRERA);

pinModua(IN1, IRTEERA);
pinModua(IN2, IRTEERA);
pinModua(IN3, IRTEERA);
pinModua(IN4, IRTEERA);

Serial.begin (9600);
}

hutsune begizta () {
distantzia = irakurriDistantzia();
Serial.println(distantzia);

baldin eta (distantzia > 20) {
jarraitu();
} Else {
gelditu();
atzerapena (200);
alderantziz();
atzerapena (300);
gelditu();
atzerapena (200);
biratu eskuinera();
atzerapena (400);
gelditu();
}

atzerapena (50);
}
"`

Kode hau da oinarrizko bertsioa. Robotak maizregi huts egiten badu, atalasea 25-30 cm-ra igo dezakezu edo biraketa-denbora handitu.

7. Probak eta doikuntzak

Robota muntatu ondoren, egin probak pausoz pauso:

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.

Robota aurrera joan beharko lukeenean atzerantz biratzen edo mugitzen ari bada, motorraren kableak aldatu edo IN1-IN2 (eta IN3-IN4) logika alderantzikatu beharko duzu.

8. Arazo ohikoenak eta irtenbideak

Maiz sortzen diren oztopo batzuk:

– 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. Arrakastaren ondoren garapen ideiak

Oinarrizko robota martxan dagoenean, zerbait interesgarriago batera berritu dezakezu:

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

Ondorioa

Robot sinple bat eraikitzea ez da zaila izan behar. Arduino batekin, korronte zuzeneko motor batekin, motor-kontrolatzaile batekin eta ultrasoinu-sentsore batekin, automatikoki mugitu eta oztopoak saihestu ditzakeen robot bat sor dezakezu. Arrakastaren gakoak kableatu txukuna, baliabide nahikoak eta proba sakonak dira. Proiektu hau ondo egin ondoren, hobeto prestatuta egongo zara robotika-proiektu konplexuagoei aurre egiteko, hala nola kamera batean oinarritutako robot adimendun bati edo objektuak jarrai ditzakeen bati.

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

Utzi iruzkina