Taula de continguts:
- Pas 1: recursos
- Pas 2: entendre com funciona la detecció d'infrarojos (opcional)
- Pas 3: Muntatge de LEDs IR
- Pas 4: Prova de parells infrarojos: circuit
- Pas 5: provar parells d'infrarojos: codi bàsic
- Pas 6: provar parells d'infrarojos: maquinari i programari
- Pas 7: Resolució de problemes (per a problemes amb l'últim pas)
- Pas 8: segon parell IR
- Pas 9: Detecció d'interferències d'infrarojos (opcional)
- Pas 10: afegir més parells IR
- Pas 11: cinc parells IR: circuit
- Pas 12: cinc parells IR: codi
Vídeo: Boe-Bot amb detectors d'infrarojos: 12 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Aquesta instrucció demostrarà com construir i codificar un Boe-Bot que pugui navegar per un laberint mitjançant detectors d'infrarojos per evitar obstacles. Aquesta és una guia fàcil de seguir que permet modificacions fàcils segons les vostres necessitats. Això requereix una comprensió bàsica dels circuits i la programació. Haureu de tenir el programari BASIC Stamp IDE per a aquest projecte. Descàrrega gratuïta aquí. Així com el robot Boe-Bot
Pas 1: recursos
Components electrònics
Boe-Bot amb cable de connexió Parallax Store - Kit BoeBot
Parallax Store de 5 infrarrojos LED: kit de muntatge de transmissors IR
5 conjunts d’escuts infrarojos
Botiga Parallax de 5 detectors d'infrarojos: receptor IR BoeBot
Resistències
- (2) 4,7 kΩ ABRA Electronics - 4,7 kΩ
- (5) 220 Ω ABRA Electronics: 220 Ω
- (2) 1 kΩ ABRA Electronics: 1 kΩ
- (5) 2 k ABRA Electronics: 2 kΩ
Assortiment de cablejat ABRA Electronics - Cable de calibre 22
Electrònica ABRA de 3 LED: LED vermell de 5 mm
Suport
Ordinador
BASIC Stamp Editor - (Programari gratuït)
Eines
Tallador de cables ABRA Electronics - Tallador de cables (opcional)
Filferro ABRA Electronics - Filferro
Misc
Parets (per construir laberint)
Pas 2: entendre com funciona la detecció d'infrarojos (opcional)
Fars d'infrarojos
El sistema de detecció d’objectes d’infrarojos que construirem al Boe-Bot és com els fars d’un cotxe en diversos aspectes. Quan la llum dels fars d’un cotxe es reflecteix en els obstacles, els teus ulls detecten els obstacles i el cervell els processa i fa que el teu cos guii el cotxe en conseqüència. El Boe-Bot utilitzarà LED d'infrarojos per als fars. Emeten infrarojos i, en alguns casos, els infrarojos reflecteixen els objectes i reboten en la direcció del Boe-Bot. Els ulls del Boe-Bot són els detectors d’infrarojos. Els detectors d'infrarojos envien senyals que indiquen si detecten o no l'infraroig reflectit en un objecte. El cervell del Boe-Bot, el BASIC Stamp, pren decisions i fa servir els servomotors en funció d’aquesta entrada del sensor. Figura 7-1 Detecció d'objectes amb fars IR Els detectors IR tenen filtres òptics incorporats que permeten molt poca llum excepte l'infraroig de 980 nm que volem detectar amb el seu sensor de fotodiode intern. El detector d'infrarojos també té un filtre electrònic que només permet passar senyals al voltant de 38,5 kHz. Dit d’una altra manera, el detector només busca infrarojos que s’encenguin i s’apagin 38, 500 vegades per segon. D’aquesta manera s’eviten interferències d’IR procedents de fonts habituals com la llum solar i la il·luminació interior. La llum del sol és una interferència de CC (0 Hz) i la il·luminació interior tendeix a parpellejar a 100 o 120 Hz, depenent de la font d’energia principal de la regió. Atès que 120 Hz es troba fora de la freqüència de pas de banda de 38,5 kHz del filtre electrònic, els detectors d’IR ignoren completament.
-Paralax Guia de l’alumne
Pas 3: Muntatge de LEDs IR
Introduïu el LED IR a la part més gran de la carcassa
Incloeu la part clara del LED amb la part més petita de la carcassa
Pas 4: Prova de parells infrarojos: circuit
Abans d’aprofundir en res, provarem per assegurar-nos que el parell IR funciona (un LED d’infrarojos i un detector d’infrarojos).
Comenceu construint el circuit anterior a la placa de suport muntada a la part superior del vostre Boe-Bot
Pas 5: provar parells d'infrarojos: codi bàsic
Per descomptat, haurem d’escriure codi perquè funcionin els nostres parells d’IR
Per fer-ho, s'utilitzarà l'ordre FREQOUT. Aquesta ordre va ser dissenyada per a tons d'àudio, però es pot utilitzar per produir freqüències en el rang d'infrarojos. Per a aquesta prova utilitzarem l'ordre:
FREQOUT 8, 1, 38500
això enviarà una freqüència de 38,5 kHz que dura 1 ms a P8. El circuit LED d'infrarojos connectat a P8 emetrà aquesta freqüència. Si un objecte al seu pas reflecteix la llum infraroja cap al Boe-Bot, el detector d'infrarojos enviarà al senyal BASIC un senyal per fer-li saber que s'ha detectat la llum infraroja reflectida.
La clau per fer funcionar un parell d’IR és enviar 1 ms de FREQOUT a 38,5 kHz i emmagatzemar immediatament la sortida del detector d’IR en una variable.
Aquest exemple mostra com emmagatzemar el valor del detector d’IR en una variable de bit anomenada irDectectLeft
FREQOUT 8, 1, 38500
irDetectLeft = IN9
L’estat de sortida del detector IR quan no veu cap senyal IR és alt. Quan el detector IR veu reflectit l’harmònic de 38500 Hz per un objecte, la seva sortida és baixa. La sortida del detector IR només es manté baixa durant una fracció de mil·lisegon després que s’hagi fet l’ordre FREQOUT enviant l’harmònic, de manera que és essencial emmagatzemar la sortida del detector IR en una variable immediatament després d’enviar l’ordre FREQOUT. El valor emmagatzemat per la variable es pot mostrar al terminal de depuració o utilitzar-lo per a les decisions de navegació del Boe-Bot.
Pas 6: provar parells d'infrarojos: maquinari i programari
Ara que ja coneixeu els conceptes bàsics, podem unir el maquinari i el programari per provar un parell i obtenir comentaris en temps real del que detecta el parell IR
Podeu provar de crear el codi vosaltres mateixos o utilitzar el codi següent
{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP
- Deixeu el Boe-Bot connectat al cable sèrie, ja que utilitzeu el terminal DEBUG per provar el vostre parell IR.
- Col·loqueu un objecte, com ara la mà o un full de paper, a aproximadament una polzada del parell IR esquerre
- Verifiqueu que, quan col·loqueu un objecte davant del parell IR, el terminal de depuració mostri un 0 i, quan traieu l’objecte del davant del parell IR, mostri un 1.
- Si el terminal de depuració no mostra els valors esperats, proveu els passos del pas de resolució de problemes.
Pas 7: Resolució de problemes (per a problemes amb l'últim pas)
Terminal DEBUG que mostra valors inesperats
Comproveu el circuit per si hi ha curtcircuits, connectors que no es troben o no, components danyats, resistències incorrectes o qualsevol altre problema visible
Comproveu si hi ha errors lògics o de sintaxi del programa: si heu utilitzat el vostre propi codi per a l'últim pas, penseu a utilitzar el codi proporcionat
Sempre es posa 0, fins i tot quan no hi ha objectes, es col·loca davant del Boe-Bot
Comproveu si hi ha objectes propers que reflecteixin el senyal d'infrarojos. La taula davant del Boe-Bot podria ser la causa. Moveu el Boe-Bot a un espai obert de manera que el LED IR i el detector no puguin reflectir cap objecte proper.
La lectura és 1 la majoria de les vegades quan no hi ha cap objecte davant del Boe-Bot, però parpelleja a 0 de tant en tant
Pot haver-hi interferències a partir d’una llum fluorescent propera; Apagueu els llums fluorescents propers i repetiu les proves. Si el problema continua, el pas 9 pot revelar-lo
Pas 8: segon parell IR
Ara que teniu el programa per a la IR esquerra, us ha tocat fer el circuit i programar el parell IR correcte
- Canvieu la declaració DEBUG, el títol i els comentaris per referir-vos al parell IR adequat.
- Canvieu el nom de la variable d'irDetectLeft a irDetectRight. Haureu de fer-ho en quatre llocs del programa.
- Canvieu l'argument Pin de l'ordre FREQOUT de 8 a 2.
- Canvieu el registre d'entrada supervisat per la variable irDetectRight d'IN9 a IN0.
- Repetiu els passos de prova d'aquesta activitat per al parell IR adequat; amb el circuit LED IR connectat a P2 i el detector connectat a P0.
Pas 9: Detecció d'interferències d'infrarojos (opcional)
Tant si teniu problemes amb la detecció de senyals que no s’haurien de detectar com si voleu demostrar la vostra detecció d’IR en una ubicació alternativa, és possible que vulgueu provar interferències.
El concepte d’aquest programa de proves és bastant senzill, detecteu senyals infrarojos sense enviar-ne cap.
Podeu utilitzar exactament el mateix circuit, però haureu d’alterar el codi. podeu escriure el vostre propi codi, però podeu utilitzar el codi que es proporciona a continuació:
{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO irDetectLeft = IN9 irDetectRight = IN0 IF IN9 = 0 O IN0 = 0 LLAVORS DEBUG "Interferència detectada" PAUSA 100 LOOP
Si experimenta interferències, determineu la font probable i apagueu-la / traieu-la o traslladeu-la a la ubicació del vostre Boe-Bot.
Pas 10: afegir més parells IR
Si voleu més precisió en el moviment del vostre Boe-Bot, és possible que vulgueu afegir més parells IR. 3 Millora molt el rendiment en comparació amb dos; podeu utilitzar un parell central per cercar un obstacle directe i utilitzar dos IR laterals per determinar quant gireu. Tanmateix, la caiguda del disseny de 3 parells IR és que potser sabreu quan esteu lliscant contra una paret, perquè el parell IR central s’utilitza per detectar obstacles. Per resoldre aquest problema, podeu afegir un parell IR a cada costat amb un valor de resistència elevat; per tant, el senyal d'infrarojos només es detectarà si el Boe-Bot està a prop del costat o una paret amb un angle suau.
Pas 11: cinc parells IR: circuit
Aneu amb compte a l’hora de dirigir els dos LED d’IR de costat, ja que girar-los pot provocar el contacte dels cables i un curtcircuit.
Pas 12: cinc parells IR: codi
És possible que vulgueu provar de programar el vostre Boe-Bot abans d’utilitzar aquest codi:
"{$ STAMP BS2}" {$ PBASIC 2.5} "Codi de detecció de cinc parells IR" Matthew Shaw "8 de maig de 2019 (versió 7)" Detecció d'objectes i processament lògic bàsic per resoldre laberints
irDetectLeft VAR Bit 'Variable per a l'esquerra
irDetectCentre VAR Bit 'Variable per al centre irDetectRight VAR Bit' Variable per la dreta irDetectLSide VAR Bit 'Variable per al costat esquerre irDetectRSide VAR Bit' Variable per al costat dret irDetectLSideFar VAR Bit 'Variable per al costat esquerre baixa resistència irDetectRSideFar VAR Bit'
mLoop VAR Word
Lmotor PIN 15 'El motor esquerre està connectat al pin 14, els impulsos passen per aquí
Rmotor PIN 14 'dret = 15
'velocitats són -> 650-750-850
LFast CON 850 'Conastant per al motor esquerre a tota velocitat RFast CON 650' Conastant per al motor dret a tota velocitat
LStop CON 750 'Conastant per a motor esquerre a tota velocitat
RStop CON 650 'Conastant per a motor dret a tota velocitat
LMid CON 830 'Conastant per a motor esquerre a velocitat mitjana
RMid CON 700 'Conastant per a motor dret a velocitat mitjana
LSlow CON 770 'Conastant per a motor esquerre a velocitat mínima
RSlow CON 730 'Conastant per a motor dret a velocitat mínima
LRev CON 650 'Conastant per al motor esquerre a tota velocitat al revés
RRev CON 850 'Conastant per al motor esquerre a tota velocitat al revés
FREQOUT 7, 1, 38500 'costat esquerre
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'centre
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'costat dret
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Esquerra Tanca
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'dreta Tancar
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'costat dret
irDetectRSideFar = IN0
IF irDetectLSide = 0 I irDetectRSide = 0 LLAVORS main 'STARTAND COMMAND agita les mans més enllà dels dos detectors laterals per iniciar el programa
Principal:
PAUSA 1000 FER
PULSOUT Lmotor, el motor esquerre de LFast funciona a tota velocitat
PULSOUT Rmotor, el motor dret de RFast funciona a tota velocitat
FREQOUT 6, 1, 38500 'centre
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Esquerra Tanca
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'costat dret
irDetectRSide = IN0
SI irDetectLSide = 0 I irDetectRSide = 1 DESPRÉS
FER PULSOUT Lmotor, LFast
FREQOUT 6, 1, 38500 'centre
irDetectCentre = IN5 SI irDetectCentre = 0 THEN cent
FREQOUT 10, 1, 38500 'Esquerra Tanca
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'costat dret
irDetectRight = IN2
LOOP FINS A irDetectLSide = 1 O irDetectRSide = 0
ELSEIF irDetectLSide = 1 I irDetectRSide = 0 DESPRÉS
FER PULSOUT Rmotor, RFast
FREQOUT 6, 1, 38500 'centre
irDetectCentre = IN5 SI irDetectCentre = 0 THEN cent
FREQOUT 10, 1, 38500 'Esquerra Tanca
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'costat dret
irDetectRight = IN2
LOOP FINS A irDetectLSide = 0 O irDetectRSide = 1
'ENDIF
IF irDetectCentre = 0 THEN 'START
FREQOUT 7, 1, 38500 'costat esquerre irDetectLeft = IN8
FREQOUT 6, 1, 38500 'centre
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSA 1000 'pausa per mostrar el senyal detectat
IF (irDetectLeft = 1 I irDetectRight = 0) DESPRÉS 'avaluar la durada
GOSUB turnLeft
ELSEIF (irDetectLeft = 0 I irDetectRight = 1) DESPRÉS
GOSUB turnRight
ELSEIF (irDetectLeft = 1 I irDetectRight = 1) DESPRÉS
GOSUB turnDecide
ALTRES
GOSUB turnReverse
ENDIF
ENDIF 'END
LOOP
FINAL
giri a l'esquerra:
FER PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP FINS A IN0 = 1 RETORN
giri a la dreta:
FER PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP FINS A IN9 = 1
TORNAR
turnReverse:
PER mLoop = 0 a 50 PULSOUT Rmotor, RRev PULSOUT Lmotor, LRev PAUSE 20 PULSOUT Lmotor, LRev PAUSE 20 NEXT DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, IR9 FREQOUT, 38500 irDetectRight = IN0 LOOP FINS A IN9 = 1
TORNAR
turnDecide: 'utilitza una resistència més baixa per veure més enllà
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'costat dret
irDetectRSideFar = IN0
IF (irDetectLSideFar = 1 I irDetectRSideFar = 0) DESPRÉS 'avaluar la durada
GOSUB turnLeft
ELSEIF (irDetectLSideFar = 0 I irDetectRSideFar = 1) DESPRÉS
GOSUB turnRight
ELSEIF (irDetectLSideFar = 1 I irDetectRSideFar = 1) DESPRÉS
GOSUB turnLeft
ALTRES
GOSUB turnReverse
ENDIF
TORNAR
Recomanat:
Reproductor de MP3 controlat per infrarojos: 6 passos (amb imatges)
Reproductor de MP3 controlat per infrarojos: creeu un reproductor de MP3 per control remot d'infrarojos per aproximadament 10 dòlars (usd). Té les característiques habituals: reproduir, pausar, reproduir el següent o l’anterior, reproduir una sola cançó o totes les cançons. També té variacions d'equalitzador i control de volum. Tot controlable mitjançant un r
Com fer detectors de fum / alcohol i alarmes contra incendis amb NodeMCU ESP8266 Blynk DHT11, MQ-2, MQ-3: 7 passos
Com es fan detectors de fum / alcohol i alarmes contra incendis de LoT amb NodeMCU ESP8266 Blynk DHT11, MQ-2, MQ-3: Podeu veure més detalls al meu vídeo de YouTube
Ús del sensor d'infrarojos amb Arduino: 8 passos (amb imatges)
Ús d’un sensor d’infrarojos amb Arduino: què és un sensor d’infrarojos (també conegut com a IR)? Un sensor d’IR és un instrument electrònic que escaneja senyals d’IR en rangs de freqüència específics definits per estàndards i els converteix en senyals elèctrics del seu pin de sortida (normalment anomenat pin de senyal) . El senyal IR
Càmera d'infrarojos d'imatges tèrmiques de bricolatge: 3 passos (amb imatges)
Càmera d'infrarojos d'imatges tèrmiques de bricolatge: Hola, sempre busco nous projectes per a les meves lliçons de física. Fa dos anys em vaig trobar amb un informe sobre el sensor tèrmic MLX90614 de Melexis. El millor amb només 5 ° FOV (camp de visió) seria adequat per a una càmera tèrmica de fabricació pròpia. Per llegir
Etiqueta làser d'infrarojos amb Raspberry Pi Zero: 6 passos (amb imatges)
Etiqueta làser per infrarojos amb Raspberry Pi Zero: aquest instructiu us guiarà pel procés de creació d’un joc de làser per infrarojos mitjançant un ordinador servidor base i un zero de Raspberry Pi per a cada jugador. El projecte depèn en gran mesura d’una connexió Wifi per comunicar-se amb el servidor, cosa que fa que