Jinsi ya kutengeneza roboti rahisi

Jinsi ya Kutengeneza Roboti Rahisi

Kujenga roboti rahisi ni njia ya kufurahisha ya kujifunza kuhusu vifaa vya elektroniki, fundi mitambo ya msingi, na programu. Watu wengi hufikiri roboti lazima ziwe ghali na ngumu, lakini kwa kweli unaweza kuanza na mradi mdogo ambao ni rahisi kukusanya nyumbani. Katika makala haya, tutajenga roboti rahisi inayoepuka vikwazo kwa kutumia vitambuzi vya ultrasonic. Roboti hii inaweza kutembea mbele na kugeuka kiotomatiki inapogundua kitu kilicho mbele yake. Mradi huu unafaa kwa wanaoanza, wanafunzi, au mtu yeyote anayetaka kuanza kujifunza roboti.

1. Elewa dhana ya roboti rahisi

Kwa ujumla, roboti zina vipengele vitatu vikuu: ubongo (kidhibiti), hisi (vihisi), na misuli (viendeshaji). Katika mradi huu:

– Kidhibiti: Arduino Uno (au inayoendana)
– Kihisi: Kihisi cha ultrasonic cha HC-SR04 kwa ajili ya kupima umbali
- Kiendeshaji: Mota ya DC inayoendesha magurudumu
– Dereva wa mota: Dereva wa mota wa L298N (au L293D) ili mota iweze kudhibitiwa na Arduino

Kihisi kinaposoma umbali mbele ya roboti na umbali ukiwa karibu sana, Arduino itamwamuru dereva wa mota kubadilisha mwelekeo wa mwendo, kwa mfano kugeuka kulia au kushoto.

2. Vifaa na vifaa vinavyohitajika

Hapa kuna orodha ya vipengele vinavyotumika sana ambavyo ni rahisi kupata katika maduka au masoko ya vifaa vya elektroniki:

1. Arduino Uno (kipande 1)
2. Kiendeshi cha mota cha L298N (kipande 1)
3. Kihisi cha ultrasonic cha HC-SR04 (kipande 1)
4. Mota ya DC + sanduku la gia na magurudumu (vipande 2) kwa roboti ya magurudumu 2 (kiendeshi tofauti)
5. Gurudumu la Caster (kipande 1) gurudumu dogo la kusawazisha mbele au nyuma
6. Betri (k.m. pakiti ya 2×18650 au 7,4V) au 6xAA, kulingana na mahitaji ya mota
7. Chassis ya roboti (inaweza kununuliwa ikiwa tayari au imetengenezwa kwa akriliki/plywood)
8. Kebo za kuruka (mwanaume-jike na mwanaume-dume)
9. Swichi ya kuwasha/kuzima (hiari, lakini inasaidia sana)
10. Ubao mdogo wa mkate (hiari)
11. Boliti, karanga, bisibisi na gundi ya moto inapohitajika

Ukitaka kitu rahisi zaidi (bila vitambuzi vya ultrasonic), unaweza kujenga roboti ya "mfuasi wa mstari" yenye vitambuzi vya mstari, lakini matoleo ya kuepuka vikwazo mara nyingi huhisi "hai" zaidi kwa sababu huitikia vitu vilivyo mbele yao.

SOMA  Kuhesabu upinzani katika saketi

3. Kubuni chasisi ya roboti

Chasi ni fremu ambayo vipengele vyote vimewekwa juu yake. Unaweza kutumia kifaa cha chasi kilichotengenezwa tayari au kujenga chako mwenyewe kutoka kwa vifaa vyepesi kama vile akriliki, PVC, au mbao nyembamba. Kanuni ni:

- Weka mota mbili za DC pande za kushoto na kulia.
- Weka magurudumu kwenye pikipiki.
- Ongeza gurudumu la kupigia kama kipima usawa ili kufanya roboti iwe thabiti.
- Weka betri katika nafasi ambayo haiifanyi roboti ielekee.
- Viendeshi vya Arduino na mota vinapaswa kuwekwa juu kwa urahisi wa kuvifikia.

Hakikisha kebo haining'inii ili isishikwe na magurudumu.

4. Mpango wa msingi wa waya

Hapa kuna dhana ya jumla ya muunganisho (pini zinaweza kubadilishwa):

a) Mota hadi dereva L298N
- Mota ya kushoto hadi OUT1 na OUT2
- Mota ya kulia hadi OUT3 na OUT4 inayotoa

b) Kiendeshi cha L298N hadi Arduino
– IN1, IN2 kwa injini ya kushoto hadi pini za dijitali za Arduino
– IN3, IN4 kwa injini ya kulia kuelekea pini za dijitali za Arduino
– ENA na ENB (wezesha) zinaweza kuunganishwa kwenye pini za Arduino PWM ili kudhibiti kasi (hiari). Ikiwa sivyo, baadhi ya moduli za L298N tayari zina jumper ya kuwezesha ili kuruhusu mota kufanya kazi kwa kasi kamili.

c) Kihisi cha HC-SR04 kwa Arduino
- Arduino ya VCC hadi 5V
– GND hadi GND Arduino
- TRIG hadi pini ya dijitali ya Arduino
- Pini ya dijitali ya ECHO hadi Arduino

d) Nguvu
Mota inahitaji mkondo zaidi kuliko Arduino inavyoweza kutoa. Kwa hivyo:
– Betri kuu huenda kwa dereva wa mota (+12V na vituo vya GND kwenye L298N).
- Arduino inaweza kuendeshwa kwa betri pia (kupitia VIN) au benki tofauti ya umeme/USB.
– Ardhi: Betri/kiendeshi GND na Arduino GND lazima ziunganishwe ili ishara ya udhibiti iwe thabiti.

Kosa la kawaida miongoni mwa wanaoanza ni kusahau kuunganisha GND, hivyo roboti husogea bila mpangilio.

SOMA  Jinsi ya kufanya matengenezo ya transfoma

5. Mantiki ya kufanya kazi ya roboti ya kuepuka vikwazo

Roboti itafanya kazi na mtiririko rahisi:

1. Soma umbali kutoka kwa kitambuzi cha ultrasonic.
2. Ikiwa umbali ni > kizingiti (k.m. 20 cm), roboti husonga mbele.
3. Ikiwa umbali ni ≤ 20 cm, roboti husimama kwa muda mfupi.
4. Roboti husogea nyuma kidogo kisha hugeuka (kwa mfano kulia) kwa milisekunde mia chache.
5. Soma umbali tena na urudie.

Kwa muundo huu, roboti itaonekana "kuepuka" vikwazo, hata kama haitachagua njia bora zaidi.

6. Mfano rahisi wa msimbo wa Arduino

Hapa chini kuna mfano wa msimbo wa msingi. Unaweza kubinafsisha pini ili ziendane na saketi yako:

"`cpp
fafanua TRIG 8
fafanua ECHO 9

// Mota ya kushoto
fafanua IN1 2
fafanua IN2 3

// Mota ya kulia
fafanua IN3 4
fafanua IN4 5

muda mrefu;
umbali wa ndani;

Umbali wa kusoma ndani () {
Write ya kidijitali (TRIG, CHINI);
kuchelewa kwa sekunde za Microsekunde (2);
Write ya kidijitali (TRIG, HIGH);
kuchelewa kwa sekunde za Microsekunde (10);
Write ya kidijitali (TRIG, CHINI);

muda = mapigo ya moyo (ECHO, HIGH);
int cm = muda 0.034 / 2;
kurudi cm;
}

batili mbele () {
Write ya kidijitali (IN1, JUU);
Write ya kidijitali (IN2, CHINI);
Write ya kidijitali (IN3, JUU);
Write ya kidijitali (IN4, CHINI);
}

batili kinyume () {
Write ya kidijitali (IN1, CHINI);
Write ya kidijitali (IN2, JUU);
Write ya kidijitali (IN3, CHINI);
Write ya kidijitali (IN4, JUU);
}

batili turnRight() {
Write ya kidijitali (IN1, JUU);
Write ya kidijitali (IN2, CHINI);
Write ya kidijitali (IN3, CHINI);
Write ya kidijitali (IN4, JUU);
}

batili simama() {
Write ya kidijitali (IN1, CHINI);
Write ya kidijitali (IN2, CHINI);
Write ya kidijitali (IN3, CHINI);
Write ya kidijitali (IN4, CHINI);
}

usanidi batili () {
Hali ya Pini (TRIG, PATO);
Hali ya siri (ECHO, INGIZA);

Hali ya pin(IN1, PATO);
Hali ya pin(IN2, PATO);
Hali ya pin(IN3, PATO);
Hali ya pin(IN4, PATO);

Seri.begin (9600);
}

kitanzi batili () {
umbali = somaUmbali();
Serial.println (umbali);

ikiwa (umbali > 20) {
endelea();
} Mwingine {
simama();
kuchelewesha (200);
kinyume ();
kuchelewesha (300);
simama();
kuchelewesha (200);
pinduka kulia ();
kuchelewesha (400);
simama();
}

kuchelewesha (50);
}
""

Nambari hii ndiyo toleo la msingi zaidi. Ikiwa roboti itaanguka mara nyingi sana, unaweza kuongeza kizingiti hadi sentimita 25–30 au kuongeza muda wa kugeuka.

7. Kupima na kurekebisha

Mara roboti itakapokuwa imeunganishwa, fanya majaribio ya hatua kwa hatua:

1. Jaribu injini kwanza: endesha kitendakazi cha mbele/nyuma ili kuhakikisha magurudumu yanazunguka katika mwelekeo sahihi.
2. Jaribu kitambuzi cha ultrasonic: tazama matokeo ya umbali katika Kifuatiliaji cha Mfululizo cha Arduino IDE.
3. Unganisha mfumo: endesha programu nzima na uangalie mwitikio wa roboti.

SOMA  Misingi ya fizikia ya semiconductor

Ikiwa roboti inageuka au inarudi nyuma wakati inapaswa kusonga mbele, huenda ukahitaji kubadilisha nyaya za mota au kubadilisha mantiki ya IN1-IN2 (na IN3-IN4).

8. Matatizo na suluhisho za kawaida

Baadhi ya vikwazo vinavyotokea mara nyingi:

– Roboti haisogei hata kidogo: angalia betri, angalia dereva wa injini, hakikisha kuwasha jumper inafanya kazi.
– Arduino huweka upya wakati mota inafanya kazi: usambazaji wa umeme usiotosha au kelele ya mota haitoshi. Jaribu kutumia betri tofauti kwa Arduino, ukiongeza capacitor, na kurekebisha ardhi.
– Usomaji wa kitambuzi cha umbali si thabiti: hakikisha kitambuzi kimeelekezwa wima, kiweke mbali na mtetemo mwingi, na hakikisha kebo haijalegea.
– Roboti “imekwama” kwenye kona: ongeza mantiki ya kugeuza bila mpangilio au tumia servo kusogeza vitambuzi ili viweze “kuangalia” kushoto na kulia.

9. Mawazo ya maendeleo baada ya mafanikio

Mara roboti ya msingi itakapoanza kufanya kazi, unaweza kuiboresha hadi kitu cha kuvutia zaidi:

– Kuongeza servo ili kusogeza vitambuzi vya ultrasonic ili roboti ichague njia bora zaidi.
- Imeongeza kidhibiti cha Bluetooth (HC-05) ili kiweze kudhibitiwa kutoka kwa simu ya mkononi.
– Kutumia vitambuzi vya mstari kutengeneza roboti inayofuata mstari.
- Rekebisha kasi ya PWM kwa ajili ya mwendo laini zaidi.
- Ongeza kiashiria cha buzzer au LED kama kiashiria unapogundua kikwazo.

Hitimisho

Kujenga roboti rahisi si lazima iwe vigumu. Ukiwa na Arduino, mota ya DC, kiendeshi cha mota, na kitambuzi cha ultrasonic, unaweza kuunda roboti ambayo inaweza kusogea na kuepuka vikwazo kiotomatiki. Funguo za mafanikio ni nyaya nadhifu, rasilimali za kutosha, na majaribio ya kina. Ukishakamilisha mradi huu, utakuwa tayari zaidi kushughulikia miradi tata zaidi ya roboti, kama vile roboti mahiri inayotumia kamera au roboti inayoweza kufuata vitu.

Ukitaka, naweza kukusaidia kuunda mchoro wa waya wenye maelezo zaidi kulingana na pini unazochagua, au kurekebisha msimbo ili roboti iweze kugeuka kushoto/kulia bila mpangilio na kuwa "mwenye akili zaidi".

Acha maoni