Robot de resolució de laberint intuïtiu: 3 passos
Robot de resolució de laberint intuïtiu: 3 passos
Anonim
Robot de resolució de laberint intuïtiu
Robot de resolució de laberint intuïtiu

En aquest instructiu aprendràs a fer un robot per resoldre laberints que resolguin laberints dibuixats per humans.

Tot i que la majoria dels robots resolen el primer tipus de laberints dibuixats (cal seguir les línies, són camins), la gent normal tendeix a dibuixar el segon tipus de laberints. Són molt més difícils i complicats de veure per a un robot, però no és impossible.

Pas 1: Pas 1: Resolució de laberint

Pas 1: resolució de laberint
Pas 1: resolució de laberint

En realitat, he tingut en compte molts mètodes de resolució de laberints, però el mètode més utilitzat és fàcil de programar, tot i que resol gairebé qualsevol laberint.

En aquest mètode li diem al robot que:

  • Gireu a la dreta sempre que pugueu
  • Si no, avança si és possible
  • Gireu a l'esquerra com a última solució i
  • Torneu enrere si es troba en un carreró sense sortida

A la imatge es veu que un laberint es resol així. Aquest mètode se sol anomenar Wall Follower, mentre la destinació sigui una sortida a la paret exterior, el Wall Follower la trobarà.

Pas 2: Pas 2: demaneu peces

Pas 2: demaneu peces
Pas 2: demaneu peces

Per a aquest robot necessitaríem:

  • 1 × Arduino Uno
  • Suport de bateria 1 × 4 AA
  • 3 × sensors TCRT5000 (QTR-1A)
  • Motors DC 2 × 6V
  • 13 × filferro de placa de mascle-femella
  • 10 × filferro de taulers de femella femella-femella
  • Capçalera de pins amb almenys 29 pins
  • Equip de soldadura

A més, descarregueu i instal·leu l'IDE Arduino per desenvolupar-lo al vostre Arduino i assegureu-vos que el vostre Arduino inclogui un cable USB tipus A / B per connectar-lo a l'ordinador.

Pas 3: Pas 3: llegiu des d’un sensor

Pas 3: llegiu des d’un sensor
Pas 3: llegiu des d’un sensor
Pas 3: llegiu des d’un sensor
Pas 3: llegiu des d’un sensor

Els sensors TCRT5000 es construeixen a partir d’un led d’infrarojos (l’orbe blau) i un receptor (l’orbe negre).

Quan el led emet llum infraroja sobre una superfície blanca es reflectirà al receptor i retornarà un valor baix (40 ~ 60 en el meu cas) Quan el led emet llum sobre una superfície negra s’absorbeix i retornarà un valor elevat (700 ~ 1010 en el meu cas)

La segona imatge mostra un esquema que explica com connectar el sensor a l’Arduino. Mantingueu el sensor de manera que pugueu veure el led i el receptor i els pins estan orientats cap a l’esquema per assegurar-vos que connecteu els pins correctes.

Ara només hem de connectar l'Arduino al nostre ordinador, posar el següent codi a Arduino IDE i compilar-lo:

// Canvieu A0 al port que hàgiu connectat el sensor per # define FRONT_SENSOR A0void start () {Serial.begin (9600); } void loop () {int FrontValue = analogRead (FRONT_SENSOR); Serial.println (FrontValue);}

Ara, si moveu el sensor molt de prop sobre les superfícies blanques i negres, hauríeu de veure que els valors canvien en conseqüència al monitor sèrie.