Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Bu yo'riqnomada siz odam chizgan labirintlarni echadigan labirint hal qiladigan robot yasashni o'rganasiz.
Garchi ko'pchilik robotlar birinchi turdagi chizilgan labirintlarni hal qilsalar (siz chiziqlarga rioya qilishingiz kerak, bu yo'llar), oddiy odamlar ikkinchi turdagi labirintlarni chizishga moyil. Bu robotni ko'rish ancha qiyin va qiyinroq, lekin imkonsiz emas!
1 -qadam: 1 -qadam: Labirintlarni echish
Men aslida labirintni hal qilishning ko'plab usullarini ko'rib chiqdim, lekin eng ko'p ishlatiladigan usul - bu dasturlashning oson usuli, lekin u deyarli har qanday labirintni hal qiladi!
Bu usulda biz robotga aytamiz:
- Iloji bo'lsa, o'ngga buriling
- Agar yo'q bo'lsa, iloji bo'lsa, oldinga qarab harakatlaning
- Oxirgi yechim sifatida chapga buriling va
- Agar u tiqilib qolsa, orqaga qayting
Rasmda siz shunday echilgan labirintni ko'rasiz. Bu usul ko'pincha "devor izdoshi" deb ataladi, agar maqsad tashqi devorda chiqish bo'lsa, devor izdoshi uni topadi.
2 -qadam: 2 -qadam: ehtiyot qismlarga buyurtma bering
Bu robot uchun bizga kerak:
- 1 × Arduino Uno
- 1 × 4 AA batareya ushlagichi
- 3 × TCRT5000 datchiklari (QTR-1A)
- 2 × 6V DC motorlar
- 13 × erkak-ayol non paneli
- 10 × urg'ochi-ayol non paneli
- Sarlavhani kamida 29 ta pin bilan bog'lang
- Lehimlash uskunalari
Bundan tashqari, Arduino -ni Arduino -da ishlab chiqish uchun Arduino IDE -ni yuklab oling va o'rnating va Arduino -ni kompyuterga ulash uchun A/B tipidagi USB kabeli bilan ta'minlanganligiga ishonch hosil qiling.
3 -qadam: 3 -qadam: Sensordan o'qing
TCRT5000 datchiklari infraqizil LED (ko'k shar) va qabul qilgichdan (qora sharsimon) qurilgan.
Qachonki LED oq sirtga infraqizil nurni chiqarsa, u qabul qiluvchiga aks etadi va u past qiymatni qaytaradi (mening holatimda 40 ~ 60). Led qora sirtga yorug'lik chiqarganda u so'riladi va u qaytadi. yuqori qiymat (mening holatimda 700 ~ 1010)
Ikkinchi rasmda sensorni Arduino -ga qanday ulash haqida aytilgan sxema ko'rsatilgan. Sensorni ushlab turing, shunda siz svetodiod va qabul qilgichni ko'rishingiz mumkin va pinlar sxemaga to'g'ri yo'naltirilgan.
Endi biz Arduino -ni kompyuterimizga ulashimiz, Arduino IDE -ga quyidagi kodni qo'yishimiz va uni kompilyatsiya qilishimiz kerak:
// A0 ni sensori ulangan portga o'zgartiring#FRONT_SENSOR A0void start () {Serial.begin (9600); } void loop () {int frontValue = analogRead (FRONT_SENSOR); Serial.println (frontValue);}
Agar siz sensorni oq va qora yuzalarga juda yaqin siljitsangiz, ketma -ket monitorda qiymatlar o'zgarishini ko'rishingiz kerak.