Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Selles juhendis saate teada, kuidas teha labürindi lahendavat robotit, mis lahendab inimeste joonistatud labürindid.
Kui enamik roboteid lahendab esimest tüüpi joonistatud labürinde (peate järgima jooni, need on teed), siis tavalised inimesed kipuvad joonistama teist tüüpi labürinde. Neid on roboti jaoks palju raskem ja valivam näha, kuid mitte võimatu!
1. samm: 1. samm: labürindi lahendamine
Olen tegelikult kaalunud paljusid labürindi lahendamise meetodeid, kuid enim kasutatud meetodit on lihtne programmeerida, kuigi see lahendab endiselt peaaegu kõik labürindid!
Selle meetodi puhul ütleme robotile:
- Pöörake paremale igal võimalusel
- Kui ei, siis sõitke edasi, kui see on võimalik
- Pöörake viimase lahendusena vasakule ja
- Pöörake tagasi, kui see ummikusse jookseb
Pildil näete sel viisil lahendatavat labürinti. Seda meetodit nimetatakse sageli seinajälgijaks. Niikaua kui sihtkoht on välisseina väljapääs, leiab seinajälgija selle.
2. samm: 2. samm: osade tellimine
Selle roboti jaoks vajame:
- 1 × Arduino Uno
- 1 × 4 AA patareihoidik
- 3 × TCRT5000 andurit (QTR-1A)
- 2 × 6V alalisvoolumootorid
- 13 × isane-emane leivatraat
- 10 × emane-emane leivatraat
- Kinnitage päis vähemalt 29 tihvtiga
- Jootmisseadmed
Samuti laadige alla ja installige Arduino IDE oma Arduino jaoks arendamiseks ning veenduge, et teie Arduino oleks arvutiga ühendamiseks kaasas A/B tüüpi USB -kaabliga.
3. samm: 3. samm: lugege andurilt
TCRT5000 andurid on üles ehitatud infrapuna LED -ist (sinine orb) ja vastuvõtjast (must orb).
Kui LED kiirgab infrapunavalgust valgele pinnale, peegeldub see vastuvõtjasse ja see tagastab madala väärtuse (minu puhul 40–60). Kui LED kiirgab valgust mustale pinnale, siis see imendub ja tagastab kõrge väärtus (700–1010 minu puhul)
Teisel pildil on skeem, mis ütleb, kuidas andurit Arduinoga ühendada. Hoidke andurit nii, et näete LED -i ja vastuvõtjat ning tihvtid on suunatud skeemi poole, veendumaks, et ühendate õiged tihvtid.
Nüüd peame lihtsalt Arduino arvutiga ühendama, panema järgmise koodi Arduino IDE -sse ja kompileerima:
// Muuda A0 mis tahes porti, millega anduri ühendasid, et#define FRONT_SENSOR A0void start () {Serial.begin (9600); } void loop () {int frontValue = analogRead (FRONT_SENSOR); Serial.println (frontValue);}
Nüüd, kui liigutate andurit väga tihedalt üle valgete ja mustade pindade, peaksite nägema väärtusi vastavalt jadamonitoris.