Kijan Pou Fè yon Robo Senp
Konstwi yon robo senp se yon fason amizan pou aprann elektwonik, mekanik debaz, ak pwogramasyon. Anpil moun panse robo yo dwe chè epi konplike, men an reyalite nou ka kòmanse ak ti pwojè ki fasil pou rasanble lakay nou. Nan atik sa a, nou pral konstwi yon robo senp ki evite obstak lè l sèvi avèk detèktè ultrasons. Robo sa a ka mache pi devan epi vire otomatikman lè li detekte yon objè devan li. Pwojè sa a apwopriye pou débutan , elèv, oswa nenpòt moun ki vle kòmanse aprann robotik.
1. Konprann konsèp robo senp yo
An jeneral, robo yo gen twa konpozan prensipal: sèvo a (kontwolè a), sans yo (detèktè yo), ak misk yo (aktwatè yo). Nan pwojè sa a:
– Kontwolè: Arduino Uno (oswa konpatib)
– Capteur: Capteur ultrasons HC-SR04 pou mezire distans
– Aksyonè: Motè kouran dirèk ki fè wou yo mache
– Chofè motè: Chofè motè L298N (oswa L293D) pou Arduino ka kontwole motè a
Lè detèktè a li distans ki devan robo a epi distans la twò pre, Arduino a ap bay lòd pou chofè motè a chanje direksyon mouvman an, pa egzanp vire adwat oswa agoch.
2. Zouti ak materyèl ki nesesè yo
Men yon lis konpozan yo itilize souvan epi ki fasil pou jwenn nan magazen elektwonik oswa mache yo:
1. Arduino Uno (1 moso)
2. Chofè motè L298N (1 pyès)
3. Capteur ultrasons HC-SR04 (1 moso)
4. Motè DC + bwat vitès ak wou (2 moso) pou robo 2 wou (transmisyon diferansyèl)
5. Rou wou (1 pyès) ti wou balans devan oswa dèyè
6. Pil (pa egzanp, 2 × 18650 oswa yon pake 7,4V) oswa 6xAA, selon bezwen motè a
7. Chasi robo (ou ka achte l deja fèt oubyen l fèt ak acrylic/playwood)
8. Kab jumper (mal-femèl ak mal-mal)
9. Bouton pou limen/etenn (opsyonèl, men trè itil)
10. Ti tablo adezif (opsyonèl)
11. Boulon, nwa, tournevis ak lakòl cho jan sa nesesè
Si ou vle yon bagay ki pi senp toujou (san detèktè ultrasons), ou ka konstwi yon robo "swiv liy" ak detèktè liy, men vèsyon ki evite obstak yo souvan santi yo pi "vivan" paske yo reyaji a objè ki devan yo.
3. Konsepsyon chasi robo a
Chasi a se ankadreman kote tout konpozan yo monte. Ou ka itilize yon twous chasi ki deja fèt oubyen konstwi pa ou ak materyèl lejè tankou akrilik, PVC, oubyen bwa mens. Prensip la se:
– Monte de motè DC sou bò gòch ak sou bò dwat la.
– Enstale wou yo sou motosiklèt la.
– Ajoute yon wou wou kòm yon balansè pou rann robo a estab.
– Mete batri a nan yon pozisyon ki pa fè robo a panche.
– Yo ta dwe mete Arduino a ak chofè motè a anlè pou yo ka jwenn aksè fasil.
Asire w ke kab la pa pandye pou li pa kole nan wou yo.
4. Konplo fil elektrik debaz
Men yon konsèp koneksyon jeneral (broch yo personnalisable):
a) Motè pou chofè L298N
– Motè gòch pou pwodiksyon OUT1 ak OUT2
– Motè dwat pou bay pwodiksyon OUT3 ak OUT4
b) Chofè L298N pou Arduino
– IN1, IN2 pou motè gòch la pou kèk broch dijital Arduino
– IN3, IN4 pou motè dwat la pou kèk broch dijital Arduino
– ENA ak ENB (aktive) ka konekte ak broch PWM Arduino yo pou kontwole vitès la (opsyonèl). Si non, gen kèk modil L298N ki deja gen yon jumper aktive pou pèmèt motè a mache ak tout vitès li.
c) Capteur HC-SR04 pou Arduino
– VCC pou Arduino 5V
– GND pou GND Arduino
– TRIG sou pin dijital Arduino a
– ECHO pou Arduino dijital pin
d) Pouvwa
Motè a bezwen plis kouran pase sa Arduino a ka bay. Se poutèt sa:
– Batri prensipal la ale nan chofè motè a (tèminal (+12V ak GND sou L298N nan).
– Arduino kapab mache ak pil tou (via VIN) oubyen yon bank pouvwa/USB apa.
– Tè: GND batri/chofè a ak GND Arduino a dwe konekte pou siyal kontwòl la ka estab.
Erè ki pi komen nan mitan débutan se bliye monte GND a, kidonk robo a deplase yon fason iregilye.
5. Lojik fonksyònman robo pou evite obstak la
Robo a pral fonksyone avèk yon pwosesis senp:
1. Li distans ki soti nan detèktè ultrasons lan.
2. Si distans la > papòt la (pa egzanp 20 cm), robo a avanse.
3. Si distans la ≤ 20 cm, robo a ap rete pou yon ti tan.
4. Robo a deplase yon ti kras dèyè epi li vire (pa egzanp adwat) pandan kèk santèn milisegond.
5. Li distans lan ankò epi repete.
Avèk modèl sa a, robo a ap sanble ap "evite" obstak, menm si li pa chwazi chemen ki pi optimal la.
6. Egzanp kòd Arduino senp
Anba la a se yon egzanp kòd debaz. Ou ka pèsonalize broch yo pou yo adapte ak sikwi ou a:
"`cpp
defini TRIG 8
defini ECHO 9
// Motè gòch
defini IN1 2
defini IN2 3
// Motè dwat
defini IN3 4
defini IN4 5
dire lontan;
distans antye;
int liDistans() {
dijitalEkri(TRIG, LOW);
delayMicroseconds (2);
dijitalEkri(TRIG, HIGH);
delayMicroseconds (10);
dijitalEkri(TRIG, LOW);
dire = pulsasyon(ECHO, HIGH);
int cm = dire 0.034 / 2;
retounen cm;
}
vid pi devan() {
dijitalEkri(IN1, HIGH);
dijitalEkri(IN2, LOW);
dijitalEkri(IN3, HIGH);
dijitalEkri(IN4, LOW);
}
vid ranvèse() {
dijitalEkri(IN1, LOW);
dijitalEkri(IN2, HIGH);
dijitalEkri(IN3, LOW);
dijitalEkri(IN4, HIGH);
}
vid vireAdwat() {
dijitalEkri(IN1, HIGH);
dijitalEkri(IN2, LOW);
dijitalEkri(IN3, LOW);
dijitalEkri(IN4, HIGH);
}
anile arè() {
dijitalEkri(IN1, LOW);
dijitalEkri(IN2, LOW);
dijitalEkri(IN3, LOW);
dijitalEkri(IN4, LOW);
}
konfigirasyon anile () {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode (IN1, OUTPUT);
pinMode (IN2, OUTPUT);
pinMode (IN3, OUTPUT);
pinMode (IN4, OUTPUT);
Serial.begin (9600);
}
anile bouk () {
distans = liDistans();
Serial.println(distans);
si (distans > 20) {
kontinye();
} Lòt bagay {
sispann();
reta (200);
ranvèse();
reta (300);
sispann();
reta (200);
vire adwat();
reta (400);
sispann();
}
reta (50);
}
"`
Kòd sa a se vèsyon ki pi debaz la. Si robo a fè aksidan twò souvan, ou ka ogmante papòt la a 25–30 cm oubyen ogmante tan pou vire a.
7. Tès ak ajisteman
Yon fwa robo a fin rasanble, fè tès etap pa etap:
1. Teste motè a anvan: aktive fonksyon pou pi devan/pou pi devan an pou asire wou yo ap vire nan bon direksyon an.
2. Teste detèktè ultrasons lan: gade rezilta distans yo nan monitè seri Arduino IDE a.
3. Konbine sistèm nan: egzekite pwogram konplè a epi obsève reyaksyon robo a.
Si robo a ap vire oswa ap deplase pa dèyè alòske li ta dwe deplase pi devan, ou ka bezwen chanje kab motè yo oswa envèse lojik IN1-IN2 (ak IN3-IN4) la.
8. Pwoblèm komen ak solisyon yo
Men kèk obstak ki souvan parèt:
– Robo a pa deplase ditou: tcheke batri a, tcheke chofè motè a, asire w ke jumper activation an aktif.
– Arduino re-inisyalize pandan motè a ap mache: pa gen ase kouran oswa motè a fè bri. Eseye itilize yon lòt batri pou Arduino a, ajoute yon kondansateur, epi ranje tè a.
– Lekti detèktè distans lan pa estab: asire w ke detèktè a ap fè fas dwat, kenbe l lwen vibrasyon twòp, epi asire w ke kab la pa lach.
– Robo a “kole” nan yon kwen: ajoute lojik vire o aza oubyen sèvi ak sèrvo pou deplase detèktè yo pou yo ka “gade” agoch ak adwat.
9. Lide devlopman apre siksè
Yon fwa robo debaz la pare epi li fonksyone, ou ka amelyore li pou yon bagay ki pi enteresan:
– Ajoute servo pou deplase detèktè ultrasons yo pou robo a chwazi pi bon chemen an.
– Te ajoute kontwòl Bluetooth (HC-05) pou yo ka kontwole li apati yon telefòn mobil.
– Itilizasyon detèktè liy pou fè yon robo ki swiv liy.
– Ajiste vitès PWM lan pou yon mouvman pi dous.
– Ajoute yon vibrer oubyen yon LED kòm yon endikatè lè w detekte yon obstak.
Konklizyon
Konstwi yon robo senp pa oblije difisil. Avèk yon Arduino, yon motè DC, yon chofè motè, ak yon detèktè ultrasons, ou ka kreye yon robo ki ka deplase epi evite obstak otomatikman. Kle siksè a se bon fil elektrik, ase resous, ak tès apwofondi. Yon fwa ou fin byen reyisi pwojè sa a, ou pral pi byen prepare pou abòde pwojè robotik ki pi konplèks, tankou yon robo entelijan ki baze sou kamera oswa youn ki ka swiv objè.
Si ou vle, mwen ka ede ou kreye yon dyagram fil elektrik ki pi detaye selon broch ou chwazi yo, oubyen ajiste kòd la pou robo a ka vire agoch/adwat owaza epi pou l pi "entelijan".