Ẹkọ 24/31: Ọkọ̀ Ọlọ́gbọ́n Apá 2: Gbígbé Síwájú, Yíyìpadà, Òsì àti Ọ̀tún àti Ìṣàkóso Ìyára Ọkọ̀
Ẹ̀kọ́ yìí dá lórí ìpele kejì ti kíkọ́ ọkọ̀ ayọ́kẹ́lẹ́ rẹ: gbígba ìṣàkóso ìṣísẹ̀ rẹ̀ pẹ̀lú kóòdù Arduino. Bí ó tilẹ̀ jẹ́ pé iṣẹ́ àkọ́kọ́ lè mú kí ọkọ̀ ayọ́kẹ́lẹ́ náà gbéra ní ọ̀nà tí ó rọrùn, ìtọ́sọ́nà yìí kọ́ ọ bí o ṣe lè pàṣẹ fún ọkọ̀ ayọ́kẹ́lẹ́ náà láti lọ síwájú, sẹ́yìn, yí padà sí òsì, yí padà sí ọ̀tún, àti láti dúró pẹ̀lú ìpéye. O yóò tún kọ́ bí o ṣe lè ṣàkóso ìyára rẹ̀, tí ó ń jẹ́ kí ìmúyára àti ìdínkù yára rẹ̀ dán. Èyí jẹ́ ìgbésẹ̀ pàtàkì fún èyíkéyìí iṣẹ́-ọnà robotiki, nítorí pé ó fún ọ ní ìpìlẹ̀ ìrònú láti dá àwọn ìwà àdáṣe tí ó túbọ̀ díjú sílẹ̀.
Mímú àwọn ìṣàkóso ìṣísẹ̀ yìí nípa yóò ṣí ọ̀nà àwọn àǹfààní púpọ̀ sílẹ̀. Èyí ni àwọn ìlò tí ó wúlò díẹ̀ fún ìmọ̀ yìí:
- Àwọn roboti tí ń tẹ̀lé ìlà: Lo àwọn iṣẹ́ yípadà sí òsì àti ọ̀tún láti jẹ́ kí roboti dúró lórí ọ̀nà.
- Àwọn ọkọ̀ tí ń yẹra fún ìdíwọ́: Ṣe ètò fún ọkọ̀ ayọ́kẹ́lẹ́ láti lọ síwájú, dúró, àti yípadà nígbà tí ó bá rí ohun kan níwájú rẹ̀.
- Ìṣàwárí tí a ń ṣàkóso láti ọ̀nà jíjìn: Dapọ̀ àwọn àṣẹ wọ̀nyí pẹ̀lú ẹ̀rọ aláìlókùn-okun láti wakọ̀ ọkọ̀ ayọ́kẹ́lẹ́ yìí káàkiri ilé rẹ tàbí àgbàlá rẹ.
- Àwọn ètò ìfiranṣẹ́ àdáṣe: Ṣẹ̀dá roboti kékeré kan tí ó lè gbéra láàrin àwọn ibi tí a yàn, tí ó ń dúró àti bẹ̀rẹ̀ bí ó ti wù.
Ohun èlò àti Àwọn Ẹ̀yà
Iṣẹ́-ọnà yìí gbé karí àkójọpọ̀ SunFounder 3-in-1 Arduino. Kò sí àwọn ẹ̀yà àfikún tí a nílò yàtọ̀ sí àkójọpọ̀ ìpìlẹ̀, ṣùgbọ́n o yóò ní láti so àwọn okun mẹ́rin àfikún pọ̀ mọ́ Arduino láti ṣàkóso ẹ̀rọ ìwakọ̀ mọ́tò. Àwọn ẹ̀yà pàtàkì ni:
- Arduino Uno (tàbí bọ́ọ̀dù tí ó báramu)
- Ẹ̀rọ SunFounder Smart Car pẹ̀lú àwọn mọ́tò
- Bọ́ọ̀dù ìwakọ̀ mọ́tò (nínú àkójọpọ̀)
- Àwọn okun Jumper
- Àkójọpọ̀ bátì fún ọkọ̀ ayọ́kẹ́lẹ́
- Okun USB fún ìṣètò
Ìtọ́sọ́nà Ìsopọ̀ Okun
Ìsopọ̀ okun fún iṣẹ́-ọnà yìí ṣe pàtàkì fún ṣíṣàkóso ìtọ́sọ́nà mọ́tò kọ̀ọ̀kan. Fídíò náà ṣàlàyé pé àwọn okun ìṣàkóso mọ́tò mẹ́rin láti bọ́ọ̀dù ìwakọ̀ ni a so pọ̀ mọ́ àwọn pin Arduino 5, 6, 9, àti 10. Àwọn pin wọ̀nyí ṣe pàtàkì nítorí pé wọ́n ń ṣètìlẹ́yìn fún Pulse Width Modulation (PWM), èyí tí ó ṣe pàtàkì fún ìṣàkóso ìyára.
Nínú fídíò náà, olùkọ́ni so wọ́n pọ̀ ní ọ̀nà pàtó kan pẹ̀lú àwọn okun aláwọ̀ ofeefee àti bulu, gẹ́gẹ́ bí a ti fi hàn nínú àwòrán ìsàlẹ̀ yìí.
Àkíyèsí ààbò pàtàkì kan tí a mẹ́nu kàn nínú fídíò náà ni láti ge agbára bátì ọkọ̀ ayọ́kẹ́lẹ́ náà kúrò (okun pupa sí 5V àti okun dudu sí GND) nígbà tí o ń ṣètò Arduino nípasẹ̀ USB. Èyí ń ṣèdíwọ́ fún ibùdó USB láti má ṣe di ẹlẹ́rù jù, tí ó sì lè pa á.
Àlàyé Kóòdù
Kóòdù fún ẹ̀kọ́ yìí jẹ́ èyí tí a ṣètò láti rọrùn láti yípadà àti láti lóye. Bí ó ti wù kí ó rí, kókó láti ṣàkóso ọkọ̀ ayọ́kẹ́lẹ́ náà wà nínú àwọn ìtumọ̀ pin ní ìbẹ̀rẹ̀ skẹ́tì. O lè yí àwọn wọ̀nyí padà bí o bá pinnu láti lo àwọn pin tí ó yàtọ̀ lórí Arduino rẹ.
const int in1 = 5;
const int in2 = 6;
const int in3 = 9;
const int in4 = 10;
Àwọn ìlà wọ̀nyí ṣàlàyé àwọn pin Arduino tí a so pọ̀ mọ́ àwọn ìfàṣẹ̀wọ̀n ẹ̀rọ ìwakọ̀ mọ́tò. in1 àti in2 ń ṣàkóso mọ́tò kan, nígbà tí in3 àti in4 ń ṣàkóso èkejì. Nípa ṣíṣètò àwọn pin wọ̀nyí sí HIGH tàbí LOW, o ń ṣàkóso ìtọ́sọ́nà yíyí mọ́tò kọ̀ọ̀kan.
Láti ṣàkóso ìyára ọkọ̀ ayọ́kẹ́lẹ́ náà, kóòdù náà lo àwọn iṣẹ́ àṣàdá méjì: moveForward(int speed) àti moveBackwards(int speed). Àwọn iṣẹ́ wọ̀nyí gba iye odidi kan láàrin 0 àti 255 gẹ́gẹ́ bí àríyànjiyàn. Iye 0 ń dá mọ́tò dúró, nígbà tí 255 jẹ́ ìyára tí ó pọ̀ jù. Fún àpẹẹrẹ, láti mú ọkọ̀ ayọ́kẹ́lẹ́ náà lọ síwájú ní ìyára kíkún, o yóò pe moveForward(255). Láti mú un lọ sẹ́yìn ní ìyára díẹ̀, o yóò lo moveBackwards(100).
Fídíò náà tún ṣàfihàn ọ̀nà "ìmúyára" àti "ìdínkù yára" ní lílo àwọn ìyípo for. Èyí jẹ́ ìlànà tí ó lágbára fún ìmúyára dídán.
for(int i=0;i<=255;i+=5){
moveForward(i);
delay(100);
}
Ìyípo yìí bẹ̀rẹ̀ pẹ̀lú i ní 0 ó sì ń pọ̀ sí i ní 5 nígbà kọ̀ọ̀kan títí tí ó fi dé 255. Nígbà kọ̀ọ̀kan, ó ń pe moveForward(i), tí ó ń mú ìyára ọkọ̀ ayọ́kẹ́lẹ́ náà pọ̀ sí i díẹ̀díẹ̀. delay(100) ń pèsè ìsinmi 100-millisecond ní ìpele ìyára kọ̀ọ̀kan, tí ó ń mú kí ìmúyára náà hàn kedere. Ìyípo tí ó jọra pẹ̀lú iye i tí ń dínkù ni a lò láti fa ọkọ̀ ayọ́kẹ́lẹ́ náà sẹ́yìn.
Ìṣàfihàn Iṣẹ́-ọnà Láàyè
Nínú fídíò náà, olùkọ́ni ṣàfihàn iṣẹ́-ọnà náà ní àwọn ìpele pàtàkì méjì. Lákọ̀ọ́kọ́, ó fi àwọn ìṣísẹ̀ ìpìlẹ̀ ọkọ̀ ayọ́kẹ́lẹ́ náà hàn. Nípa gbígbé kóòdù "move" sílẹ̀, ọkọ̀ ayọ́kẹ́lẹ́ náà ń ṣe ọ̀nà tí a ti ṣètò tẹ́lẹ̀: lọ síwájú fún ìṣẹ́jú àáyá méjì, dúró, yípadà sẹ́yìn fún ìṣẹ́jú àáyá méjì, dúró, yípadà sí òsì, àti lẹ́yìn náà yípadà sí ọ̀tún. Èyí ń fi ìdí rẹ̀ múlẹ̀ kedere pé ìsopọ̀ okun àti ìrònú náà tọ́.
Àkàwé kejì dá lórí ìṣàkóso ìyára. Olùkọ́ náà gbé kóòdù "yára lọ" sílẹ̀, èyí tí ó máa ń mú ọkọ̀ náà yára síwájú díẹ̀díẹ̀ títí tí yóò fi dé ìwọ̀n tí ó pọ̀ jùlọ, lẹ́yìn náà yóò sì fa kíákíá débi pé ó dúró. Lẹ́yìn náà ó fi ẹ̀dà kan tí ó ní ìyára tí a fi mọ́lẹ̀ hàn, níbi tí ọkọ̀ náà ti ń lọ síwájú ní 255, dúró, lẹ́yìn náà ó sì ń padà sẹ́yìn ní ìyára tí ó kéré sí i, ìyẹn 100, pẹ̀lú àwọn iye náà tí a ń tẹ̀ jáde sí Serial Monitor fún ìfìdí rẹ̀ múlẹ̀.
Àwọn orí-ọ̀rọ̀
- [00:00] Ìfáàrà sí Ìṣàkóso Ìṣísẹ̀ Ọkọ̀
- [01:44] Ṣíṣètò Àwọn Okun fún Ìṣàkóso Kóòdù
- [02:07] Ìfihàn Ìṣísẹ̀ Síwájú àti Sẹ́yìn
- [03:18] Ìfihàn Yíyí Padà Sí Òsì àti Ọ̀tún
- [05:05] Sísopọ̀ Àwọn Okun sí Àwọn Pínì Arduino
- [07:00] Àlàyé Kóòdù fún Ìṣàkóso Ìtọ́nisọ́nà
- [11:44] Ìfáàrà sí Ìṣàkóso Ìyára
- [12:16] Àlàyé Kóòdù fún Ìmú Ìyára Pọ̀ Díẹ̀díẹ̀
- [14:45] Lílò Serial Monitor fún Ṣíṣàtúnṣe Àṣìṣe
- [17:10] Ìfihàn Láàyè ti Ìṣàkóso Ìyára
- [19:45] Ìdánwò Ìkẹyìn Ní Òde àti Ìparí
/*
Lesson 24/31: Smart code speeds up
Get this code and watch video Download and resource page https://robojax.com/RJT607
YouTube video https://www.youtube.com/watch?v=QzcUig2L3dM
*/
const int in1 = 5;
const int in2 = 6;
const int in3 = 9;
const int in4 = 10;
void setup() {
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
Serial.begin(9600);
Serial.println("SunFounder Arduino Course");
Serial.println("Lesson 3: Speed up");
Serial.println("www.Robojax.com");
}
void loop() {
moveForward(255);
Serial.print("Forward at: ");
Serial.println(255);
delay(5000);//for 5 seconds
Serial.println("Stopped ");
moveForward(0);//stop the car
delay(2000);//for 2 seconds
moveBackwards(100);
Serial.print("Reverse at: ");
Serial.println(100);
delay(5000);//for 5 seconds
Serial.println("Stopped ");
moveForward(0);//stop the car
delay(2000);//for 2 seconds
}
void moveForward(int speed) {
analogWrite(in1, 0);
analogWrite(in2, speed);
analogWrite(in3, speed);
analogWrite(in4, 0);
}
void moveBackwards(int speed) {
analogWrite(in1, speed);
analogWrite(in2, 0);
analogWrite(in3, 0);
analogWrite(in4, speed);
}
/*
Lesson 24/31: Smart code speeds up (custom code)
Get this code and watch video Download and resource page https://robojax.com/RJT607
YouTube video https://www.youtube.com/watch?v=QzcUig2L3dM
*/
const int in1 = 5;
const int in2 = 6;
const int in3 = 9;
const int in4 = 10;
void setup() {
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
Serial.begin(9600);
Serial.println("SunFounder Arduino Course");
Serial.println("Lesson 3: Speed up");
Serial.println("www.Robojax.com");
}
void loop() {
Serial.println("Loop 1: Speeding Up");
for(int i=0;i<=255;i+=5){
moveForward(i);
Serial.print("i= ");
Serial.println(i);
delay(100);
}
Serial.println("Loop 2: Slowing down ");
for(int i=255;i>=0;i-=5){
moveForward(i);
Serial.print("i= ");
Serial.println(i);
delay(100);
}
}
void moveForward(int speed) {
analogWrite(in1, 0);
analogWrite(in2, speed);
analogWrite(in3, speed);
analogWrite(in4, 0);
}
Common Course Links
Common Course Files
Ohun ti o le nilo
-
Amazon5V DC motor on Amazonamzn.to
-
Amazon5V DC motor on eBayebay.us
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
-
Amazon
-
AliExpress5V DC motor on AliExpresss.click.aliexpress.com
Orisun & itọkasi
-
Iwe-ẹriDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
Ita gbangbaPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
Fáìlìs📁
Awọn ile-ikawe Arduino (zip)
-
koodu orisun akojọpọ ẹkọ 3-in-1 Smart Car ti SunFounder
3in1-kit-main-v2.zip12.80 MB