Kazalo:

Intuitivni robot za reševanje labirintov: 3 koraki
Intuitivni robot za reševanje labirintov: 3 koraki

Video: Intuitivni robot za reševanje labirintov: 3 koraki

Video: Intuitivni robot za reševanje labirintov: 3 koraki
Video: Иоша Бах: время, гипотеза моделирования, существование 2024, November
Anonim
Intuitivni robot za reševanje labirintov
Intuitivni robot za reševanje labirintov
Intuitivni robot za reševanje labirintov
Intuitivni robot za reševanje labirintov
Intuitivni robot za reševanje labirintov
Intuitivni robot za reševanje labirintov

V tem navodilu se boste naučili, kako narediti robota za reševanje labirintov, ki rešuje labirinte, ki jih nariše človek.

Medtem ko večina robotov reši prvo vrsto vlečenih labirintov (slediti morate črtam, so poti), normalni ljudje običajno narišejo drugo vrsto labirintov. Za robota je to videti veliko težje in izbirčnejše, vendar ni nemogoče!

1. korak: 1. korak: Reševanje labirinta

1. korak: Reševanje labirinta
1. korak: Reševanje labirinta

Pravzaprav sem razmišljal o številnih metodah reševanja labirinta, vendar je najbolj uporabljena metoda enostavna za programiranje, medtem ko še vedno rešuje skoraj vsak labirint!

Pri tej metodi robotu povemo:

  • Zavijte desno, kadar koli je to mogoče
  • Če ne, pojdite naprej, če je to mogoče
  • Kot zadnjo rešitev zavijte levo in
  • Če zaidete v slepo ulico, se obrnite nazaj

Na sliki vidite labirint, ki se tako reši. Ta metoda se pogosto imenuje Wall Follower. Dokler je cilj izhod v zunanji steni, jo bo Wall Follower našel.

2. korak: 2. korak: Naročite dele

2. korak: Naročite dele
2. korak: Naročite dele

Za tega robota potrebujemo:

  • 1 × Arduino Uno
  • Držalo za baterije 1 × 4 AA
  • 3 × senzorji TCRT5000 (QTR-1A)
  • 2 × 6V enosmerni motorji
  • 13 × moško-ženska žica
  • 10 × žensko-ženska žica
  • Zatič glave z najmanj 29 zatiči
  • Oprema za spajkanje

Prenesite in namestite Arduino IDE za razvoj na svojem Arduinu in se prepričajte, da je Arduino opremljen s kablom USB tipa A/B, da ga povežete z računalnikom.

3. korak: 3. korak: Branje s senzorja

3. korak: Preberite s senzorja
3. korak: Preberite s senzorja
3. korak: Branje s senzorja
3. korak: Branje s senzorja

Senzorji TCRT5000 so sestavljeni iz infrardeče diode (modra krogla) in sprejemnika (črna krogla).

Ko LED dioda oddaja infrardečo svetlobo na belo površino, se bo odbila v sprejemnik in vrnila nizko vrednost (40 ~ 60 v mojem primeru) Ko LED oddaja svetlobo na črno površino, se bo absorbirala in vrnila bo visoka vrednost (700 ~ 1010 v mojem primeru)

Druga slika prikazuje shemo, ki pove, kako senzor priključiti na Arduino. Držite senzor tako, da vidite LED in sprejemnik, nožice pa so usmerjene proti shemi, da se prepričate, da priključujete prave nožice.

Zdaj moramo samo povezati Arduino z računalnikom, v Arduino IDE vstaviti naslednjo kodo in jo sestaviti:

// Spremenite A0 na katera koli vrata, na katera ste priključili senzor, da#definirate FRONT_SENSOR A0void start () {Serial.begin (9600); } void loop () {int frontValue = analogRead (FRONT_SENSOR); Serial.println (frontValue);}

Zdaj, če senzor zelo blizu premikate po belih in črnih površinah, bi morali videti, da se vrednosti ustrezno spreminjajo v serijskem monitorju.

Priporočena: