Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
V tomto návode sa naučíte, ako vytvoriť robota na riešenie bludísk, ktorý rieši bludiská nakreslené ľuďmi.
Zatiaľ čo väčšina robotov rieši prvý druh nakreslených bludísk (musíte sa držať línií, sú to cesty), normálni ľudia majú tendenciu kresliť druhý druh bludísk. Tieto sú pre robota oveľa ťažšie a vyberavejšie, ale nie nemožné!
Krok 1: Krok 1: Riešenie bludiska
V skutočnosti som uvažoval o mnohých metódach riešenia bludísk, ale najpoužívanejšia metóda je ľahko programovateľná, pričom stále rieši takmer každé bludisko!
Pri tejto metóde hovoríme robotovi:
- Odbočte doprava, kedykoľvek to bude možné
- Ak nie, choďte dopredu, ak je to možné
- Odbočte doľava ako posledné riešenie a
- Ak sa dostane do slepej uličky, vráťte sa
Na obrázku vidíte bludisko, ktoré takto rieši. Táto metóda sa často nazýva Wall Follower. Pokiaľ je cieľom východ z vonkajšej steny, Wall Waller ho nájde.
Krok 2: Krok 2: Objednajte si diely
Na tento robot budeme potrebovať:
- 1 × Arduino Uno
- Držiak batérie 1 × 4 AA
- 3 × snímače TCRT5000 (QTR-1A)
- 2 × 6V jednosmerné motory
- 13 × drôtený králik muž-žena
- 10 × drôtik na krájanie žena-žena
- Kolíková hlavička s najmenej 29 kolíkmi
- Spájkovacie zariadenie
Tiež si stiahnite a nainštalujte Arduino IDE, ktoré sa bude vyvíjať na vašom Arduino, a uistite sa, že váš Arduino je dodávaný s káblom USB typu A/B na pripojenie k počítaču.
Krok 3: Krok 3: Čítajte zo senzora
Senzory TCRT5000 sú vyrobené z infračervenej LED (modrá guľa) a prijímača (čierna guľa).
Keď LED dióda vyžaruje infračervené svetlo na biely povrch, odrazí sa do prijímača a vráti nízku hodnotu (v mojom prípade 40 ~ 60) Keď dióda vyžaruje svetlo na čierny povrch, absorbuje sa a vráti vysoká hodnota (700 ~ 1010 v mojom prípade)
Druhý obrázok ukazuje schému, ktorá hovorí, ako pripojiť snímač k Arduinu. Držte senzor tak, aby ste videli na LED a prijímač a kolíky smerovali k schéme, aby ste sa presvedčili, že spájate správne piny.
Teraz stačí pripojiť Arduino k počítaču, vložiť do Arduino IDE nasledujúci kód a skompilovať ho:
// Zmeňte A0 na akýkoľvek port, ku ktorému ste pripojili senzor,#definujte FRONT_SENSOR A0void start () {Serial.begin (9600); } void loop () {int frontValue = analogRead (FRONT_SENSOR); Serial.println (frontValue);}
Ak teraz senzorom veľmi pohybujete po bielom a čiernom povrchu, mali by ste vidieť, ako sa hodnoty na sériovom monitore zodpovedajúcim spôsobom zmenia.