Paano gumawa ng isang simpleng robot

Paano Gumawa ng Simpleng Robot

Ang paggawa ng isang simpleng robot ay isang masayang paraan upang matuto tungkol sa electronics, basic mechanics, at programming. Maraming tao ang nag-iisip na ang mga robot ay kailangang maging mahal at kumplikado, ngunit maaari talaga tayong magsimula sa maliliit na proyekto na madaling i-assemble sa bahay. Sa artikulong ito, gagawa tayo ng isang simpleng robot na umiiwas sa balakid gamit ang mga ultrasonic sensor. Ang robot na ito ay maaaring maglakad pasulong at awtomatikong lumingon kapag nakakita ito ng isang bagay sa harap nito. Ang proyektong ito ay angkop para sa mga nagsisimula , estudyante, o sinumang gustong magsimulang matuto ng robotics.

1. Unawain ang konsepto ng mga simpleng robot

Sa pangkalahatan, ang mga robot ay may tatlong pangunahing bahagi: ang utak (controller), ang mga pandama (sensor), at ang mga kalamnan (actuator). Sa proyektong ito:

– Kontroler: Arduino Uno (o katugma)
– Sensor: HC-SR04 ultrasonic sensor para sa pagsukat ng distansya
– Aktuator: DC motor na nagpapaandar sa mga gulong
– Drayber ng motor: Drayber ng motor na L298N (o L293D) upang makontrol ang motor gamit ang Arduino

Kapag nabasa ng sensor ang distansya sa harap ng robot at masyadong malapit ang distansya, uutusan ng Arduino ang motor driver na baguhin ang direksyon ng paggalaw, halimbawa, lumiko pakanan o pakaliwa.

2. Mga kagamitan at materyales na kailangan

Narito ang isang listahan ng mga karaniwang ginagamit na bahagi na madaling mahanap sa mga tindahan ng elektroniko o pamilihan:

1. Arduino Uno (1 piraso)
2. Drayber ng motor na L298N (1 piraso)
3. HC-SR04 ultrasonic sensor (1 piraso)
4. DC motor + gearbox at mga gulong (2 piraso) para sa 2-wheel robot (differential drive)
5. Gulong na pangbalanse (1 piraso) maliit na gulong na pangbalanse sa harap o likod
6. Mga Baterya (hal. 2×18650 o 7,4V pack) o 6xAA, ayon sa pangangailangan ng motor
7. Tsasis ng robot (maaaring mabili nang handa o gawa sa acrylic/plywood)
8. Mga kable ng jumper (lalaki-babae at lalaki-lalaki)
9. On/off switch (opsyonal, ngunit lubos na nakakatulong)
10. Maliit na breadboard (opsyonal)
11. Mga bolt, nuts, screwdriver at hot glue kung kinakailangan

Kung gusto mo ng mas simple pa (nang walang ultrasonic sensors), puwede kang gumawa ng robot na "line follower" na may mga line sensor, pero ang mga bersyong umiiwas sa balakid ay kadalasang mas "buhay" ang dating dahil tumutugon ang mga ito sa mga bagay na nasa harap nila.

3. Pagdidisenyo ng tsasis ng robot

Ang tsasis ay ang balangkas kung saan nakakabit ang lahat ng mga bahagi. Maaari kang gumamit ng handa nang gamiting chassis kit o gumawa ng sarili mo mula sa mga magaan na materyales tulad ng acrylic, PVC, o manipis na kahoy. Ang prinsipyo ay:

– Magkabit ng dalawang DC motor sa kaliwa at kanang gilid.
– Ikabit ang mga gulong sa motorsiklo.
– Magdagdag ng gulong na pangbalanse bilang pampatimbang para maging matatag ang robot.
– Ilagay ang baterya sa posisyong hindi magiging dahilan para makahilig ang robot.
– Ang mga Arduino at motor driver ay dapat ilagay sa itaas para madaling ma-access.

Siguraduhing hindi nakalaylay ang kable para hindi ito maipit sa mga gulong.

4. Pangunahing diagram ng mga kable

Narito ang pangkalahatang konsepto ng koneksyon (maaaring ipasadya ang mga pin):

a) Motor papunta sa drayber na L298N
– Kaliwang motor para sa output ng OUT1 at OUT2
– Kanang motor para sa output ng OUT3 at OUT4

b) L298N Driver papunta sa Arduino
– IN1, IN2 para sa kaliwang motor papunta sa ilang Arduino digital pins
– IN3, IN4 para sa kanang motor papunta sa ilang Arduino digital pins
– Maaaring ikonekta ang ENA at ENB (enable) sa mga Arduino PWM pin upang makontrol ang bilis (opsyonal). Kung hindi, ang ilang L298N module ay mayroon nang enable jumper upang payagan ang motor na tumakbo sa buong bilis.

c) Sensor ng HC-SR04 sa Arduino
– VCC hanggang 5V Arduino
– GND papuntang GND Arduino
– TRIG sa digital pin ng Arduino
– ECHO papunta sa Arduino digital pin

d) Kapangyarihan
Ang motor ay nangangailangan ng mas maraming kuryente kaysa sa kayang ibigay ng Arduino. Samakatuwid:
– Ang pangunahing baterya ay papunta sa motor driver (+12V at mga terminal ng GND sa L298N).
– Maaari ring paandarin ang Arduino mula sa baterya (sa pamamagitan ng VIN) o hiwalay na power bank/USB.
– Ground: Dapat na konektado ang battery/driver GND at ang Arduino GND para maging matatag ang control signal.

Ang pinakakaraniwang pagkakamali sa mga nagsisimula ay ang pagkalimot na buuin ang GND, kaya't ang robot ay gumagalaw nang pabago-bago.

5. Ang lohika ng paggana ng robot na umiwas sa balakid

Ang robot ay gagana sa isang simpleng daloy:

1. Basahin ang distansya mula sa ultrasonic sensor.
2. Kung ang distansya ay > threshold (hal. 20 cm), ang robot ay susulong.
3. Kung ang distansya ay ≤ 20 cm, hihinto sandali ang robot.
4. Ang robot ay umuurong nang kaunti at pagkatapos ay lumiliko (halimbawa, pakanan) sa loob ng ilang daang milisegundo.
5. Basahin muli ang distansya at ulitin.

Gamit ang padron na ito, lilitaw na "iiwasan" ng robot ang mga balakid, kahit na hindi nito pipiliin ang pinakamainam na landas.

6. Simpleng halimbawa ng Arduino code

Nasa ibaba ang isang pangunahing halimbawa ng code. Maaari mong i-customize ang mga pin upang umangkop sa iyong circuit:

“`cpp
tukuyin ang TRIG 8
tukuyin ang ECHO 9

// Kaliwang motor
tukuyin ang IN1 2
tukuyin ang IN2 3

// Kanang motor
tukuyin ang IN3 4
tukuyin ang IN4 5

mahabang tagal;
distansya sa loob;

int readDistance() {
digitalWrite(TRIG, LOW);
pagkaantalaMga Mikrosegundo(2);
digitalWrite(TRIG, HIGH);
pagkaantalaMga Mikrosegundo(10);
digitalWrite(TRIG, LOW);

tagal = pulseIn(ECHO, HIGH);
int cm = tagal 0.034 / 2;
bumalik cm;
}

walang bisa pasulong() {
digitalWrite(IN1, MATAAS);
digitalWrite(IN2, MABABA);
digitalWrite(IN3, MATAAS);
digitalWrite(IN4, MABABA);
}

walang bisa na baligtad() {
digitalWrite(IN1, MABABA);
digitalWrite(IN2, MATAAS);
digitalWrite(IN3, MABABA);
digitalWrite(IN4, MATAAS);
}

walang bisa lumikoKanan() {
digitalWrite(IN1, MATAAS);
digitalWrite(IN2, MABABA);
digitalWrite(IN3, MABABA);
digitalWrite(IN4, MATAAS);
}

walang bisang paghinto() {
digitalWrite(IN1, MABABA);
digitalWrite(IN2, MABABA);
digitalWrite(IN3, MABABA);
digitalWrite(IN4, MABABA);
}

walang bisa ang pag-setup () {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);

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

Serial.begin (9600);
}

void loop () {
distansya = basahinDistansya();
Serial.println(distansya);

kung (distansya > 20) {
magpatuloy();
} Iba pa {
ihinto();
pagkaantala (200);
reverse();
pagkaantala (300);
ihinto();
pagkaantala (200);
lumiko pakanan();
pagkaantala (400);
ihinto();
}

pagkaantala (50);
}
""

Ang code na ito ang pinakasimpleng bersyon. Kung masyadong madalas mag-crash ang robot, maaari mong taasan ang threshold sa 25–30 cm o dagdagan ang oras ng pag-ikot.

7. Pagsubok at pag-tune

Kapag na-assemble na ang robot, magsagawa ng sunud-sunod na pagsubok:

1. Subukan muna ang motor: patakbuhin ang forward/reverse function upang matiyak na ang mga gulong ay umiikot sa tamang direksyon.
2. Subukan ang ultrasonic sensor: tingnan ang mga resulta ng distansya sa Arduino IDE Serial Monitor.
3. Pagsamahin ang sistema: patakbuhin ang buong programa at obserbahan ang reaksyon ng robot.

Kung ang robot ay umiikot o gumagalaw pabalik kahit dapat itong sumulong, maaaring kailanganin mong palitan ang mga kable ng motor o baligtarin ang lohika ng IN1-IN2 (at IN3-IN4).

8. Mga karaniwang problema at solusyon

Ilan sa mga balakid na kadalasang lumilitaw:

– Hindi gumagalaw ang robot: tingnan ang baterya, tingnan ang driver ng motor, siguraduhing aktibo ang enable jumper.
– Nagre-reset ang Arduino habang tumatakbo ang motor: hindi sapat ang power supply o ingay ng motor. Subukang gumamit ng hiwalay na baterya para sa Arduino, magdagdag ng capacitor, at ayusin ang ground.
– Hindi matatag ang pagbasa ng distance sensor: siguraduhing nakaharap nang diretso ang sensor, ilayo ito sa labis na panginginig ng boses, at siguraduhing hindi maluwag ang kable.
– Ang robot ay "natigil" sa isang sulok: magdagdag ng random na lohika ng pag-ikot o gumamit ng mga servo upang igalaw ang mga sensor upang "makita" nila ang kaliwa at kanan.

9. Mga ideya sa pag-unlad pagkatapos ng tagumpay

Kapag gumagana na ang pangunahing robot, maaari mo itong i-upgrade sa mas kawili-wiling bagay:

– Pagdaragdag ng mga servo upang igalaw ang mga ultrasonic sensor nang sa gayon ay mapili ng robot ang pinakamagandang landas.
– Nagdagdag ng Bluetooth control (HC-05) para makontrol ito mula sa isang mobile phone.
– Paggamit ng mga line sensor upang gumawa ng isang line follower robot.
– Ayusin ang bilis ng PWM para sa mas maayos na paggalaw.
– Magdagdag ng buzzer o LED bilang indicator kapag nakakakita ng balakid.

Konklusyon

Hindi kailangang maging mahirap ang paggawa ng isang simpleng robot. Gamit ang isang Arduino, isang DC motor, isang motor driver, at isang ultrasonic sensor, makakalikha ka ng isang robot na awtomatikong makakagalaw at makakaiwas sa mga balakid. Ang mga susi sa tagumpay ay maayos na pagkakakabit ng mga kable, sapat na mga mapagkukunan, at masusing pagsubok. Kapag natapos mo na ang proyektong ito, mas magiging handa ka nang harapin ang mas kumplikadong mga proyekto sa robotics, tulad ng isang smart robot na nakabatay sa camera o isa na kayang sumunod sa mga bagay.

Kung gusto mo, matutulungan kitang gumawa ng mas detalyadong wiring diagram ayon sa mga pin na pipiliin mo, o kaya ay isaayos ang code para ang robot ay maaaring lumiko pakaliwa/pakanan nang random at maging mas "matalino".

Mag-iwan ng komento