Sadržaj:
- Korak 1: Resursi
- 2. korak: Razumijevanje funkcioniranja infracrvenog otkrivanja (izborno)
- Korak 3: Sklapanje IC LED dioda
- Korak 4: Testiranje infracrvenih parova - krug
- Korak 5: Testiranje infracrvenih parova - osnovni kôd
- Korak 6: Testiranje infracrvenih parova - hardver + softver
- Korak 7: Rješavanje problema (za probleme s posljednjim korakom)
- Korak 8: Drugi IR par
- Korak 9: Otkrivanje infracrvenih smetnji (izborno)
- Korak 10: Dodavanje više IR parova
- Korak 11: Pet IC parova - sklop
- Korak 12: Pet IR parova - Kôd
Video: Boe-Bot s infracrvenim detektorima: 12 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Ova instrukcija će pokazati kako izgraditi i kodirati Boe-Bot koji može upravljati labirintom pomoću infracrvenih detektora kako bi izbjegao prepreke. Ovo je vodič za jednostavno praćenje koji omogućuje jednostavne izmjene koje odgovaraju vašim potrebama. To zahtijeva osnovno razumijevanje sklopova i programiranja. Za ovaj projekt trebate imati softver BASIC Stamp IDE. Besplatno za preuzimanje ovdje. Kao i Boe-Bot Robot
Korak 1: Resursi
Elektroničke komponente
Boe -Bot s priključnim kabelom Parallax Store - BoeBot Kit
5 Parallax trgovina infracrvenih LED dioda - Set za montažu IC odašiljača
5 sklopova infracrvenog štita
5 infracrvenih detektora Parallax Store - BoeBot IC prijemnik
Otpornici
- (2) 4,7 kΩ ABRA elektronika - 4,7 kΩ
- (5) 220 Ω ABRA elektronika - 220 Ω
- (2) 1 kΩ ABRA elektronika - 1 kΩ
- (5) 2 k ABRA elektronika - 2 kΩ
Razno ožičenje ABRA Electronics - žica kalibra 22
3 LED -ove ABRA elektronike - 5 mm crvena LED
Podrška
Računalo
BASIC uređivač pečata - (besplatni softver)
Alati
Rezač žice ABRA Electronics - Rezač žice (opcionalno)
Skidač žice ABRA Electronics - Skidač žice
Razno
Zidovi (za izgradnju labirinta)
2. korak: Razumijevanje funkcioniranja infracrvenog otkrivanja (izborno)
Infracrveni farovi
Sustav za otkrivanje infracrvenih objekata koji ćemo izgraditi na Boe-Botu je poput farova automobila u nekoliko aspekata. Kad se svjetlo prednjih svjetala automobila odbija od prepreka, vaše oči otkrivaju prepreke, a mozak ih obrađuje i tjera vaše tijelo da u skladu s tim vodi automobil. Boe-Bot će koristiti infracrvene LED diode za prednja svjetla. Oni emitiraju infracrveno zračenje, a u nekim slučajevima infracrveno se reflektira od objekata i odbija se u smjeru Boe-Bota. Oči Boe-Bota su infracrveni detektori. Infracrveni detektori šalju signale koji pokazuju otkrivaju li infracrvenu zraku reflektiranu od objekta. Mozak Boe-Bota, BASIC Stamp, donosi odluke i upravlja servo motorima na temelju ovog ulaza senzora. Slika 7-1 Detekcija objekta s IC prednjim svjetlima IR detektori imaju ugrađene optičke filtere koji propuštaju vrlo malo svjetla osim infracrvenog svjetla od 980 nm koje želimo detektirati svojim unutarnjim senzorom fotodioda. Infracrveni detektor također ima elektronički filter koji propušta samo signale oko 38,5 kHz. Drugim riječima, detektor traži samo infracrvenu vezu koja svijetli i isključuje 38, 500 puta u sekundi. To sprječava IC smetnje iz uobičajenih izvora, poput sunčeve svjetlosti i unutarnje rasvjete. Sunčeva svjetlost ima istosmjerne smetnje (0 Hz), a unutarnja rasvjeta teži uključivati i isključivati na 100 ili 120 Hz, ovisno o glavnom izvoru napajanja u regiji. Budući da je 120 Hz izvan propusne frekvencije 38,5 kHz elektroničkog filtra, IR detektori ga potpuno zanemaruju.
-Paralax studentski vodič
Korak 3: Sklapanje IC LED dioda
Umetnite IC LED diodu u veći dio kućišta
Prozirni dio LED diode zatvorite manjim dijelom kućišta
Korak 4: Testiranje infracrvenih parova - krug
Prije nego što duboko zađemo u bilo što, pokušat ćemo provjeriti radi li IC par (jedna infracrvena LED i jedan infracrveni detektor).
Započnite izgradnjom gore navedenog kruga na ploči za kruh montiranoj na vrhu vašeg Boe-Bota
Korak 5: Testiranje infracrvenih parova - osnovni kôd
Naravno, morat ćemo napisati kôd za rad naših IR parova
Da bi to učinio, Will će koristiti naredbu FREQOUT. Ova je naredba dizajnirana za audio tonove, no može se koristiti za proizvodnju frekvencija u infracrvenom području. Za ovaj test koristit ćemo naredbu:
FREQOUT 8, 1, 38500
ovo će poslati frekvenciju od 38,5 kHz koja traje 1 ms na P8. Infracrveni LED krug spojen na P8 emitirat će ovu frekvenciju. Ako se infracrveno svjetlo odbije natrag do Boe-Bota od objekta na njegovoj putanji, infracrveni detektor će poslati OSNOVNOM pečatu signal koji će mu dati do znanja da je reflektirano infracrveno svjetlo otkriveno.
Ključ za uspješno funkcioniranje IC para je slanje 1 ms frekvencije 38,5 kHz FREQOUT i odmah pohranjivanje izlaza IC detektora u varijablu.
Ovaj primjer prikazuje spremanje vrijednosti IR detektora u bitnu varijablu pod nazivom irDectectLeft
FREQOUT 8, 1, 38500
irDetectLeft = IN9
Izlazno stanje IC detektora kada ne vidi IC signal je visoko. Kad IC detektor vidi harmonik od 38500 Hz koji reflektira neki objekt, njegov izlaz je nizak. Izlaz IC detektora ostaje nizak tek dio milisekunde nakon što naredba FREQOUT obavi slanje harmonika, stoga je bitno pohraniti izlaz IC detektora u varijablu odmah nakon slanja naredbe FREQOUT. Vrijednost koju sprema varijabla može se zatim prikazati na terminalu za otklanjanje pogrešaka ili koristiti za odluke o navigaciji od strane Boe-Bota.
Korak 6: Testiranje infracrvenih parova - hardver + softver
Sada kada znate osnove, možemo spojiti hardver i softver kako bismo testirali par i dobili povratnu informaciju u stvarnom vremenu od onoga što IR par otkriva
Kôd možete sami pokušati napraviti ili upotrijebiti donji kod
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR bit DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP
- Ostavite Boe-Bot spojen na serijski kabel jer ćete koristiti DEBUG terminal za testiranje vašeg IC para.
- Postavite predmet, poput ruke ili lista papira, otprilike jedan centimetar od lijevog IC para
- Provjerite da kada postavite objekt ispred IC para, terminal za otklanjanje pogrešaka prikazuje 0, a kada uklonite objekt ispred IC para, prikazuje 1.
- Ako terminal za otklanjanje pogrešaka ne prikazuje očekivane vrijednosti, isprobajte korake u Koraku rješavanja problema.
Korak 7: Rješavanje problema (za probleme s posljednjim korakom)
DEBUG Terminal s neočekivanim vrijednostima
Provjerite ima li u krugu kratkih spojeva, pogrešno postavljenih ili nedostajućih konektora, oštećenih komponenti, neispravnih otpornika ili bilo kojeg drugog vidljivog problema
Provjerite program zbog logičkih ili sintaktičkih pogrešaka - ako ste za posljednji korak koristili vlastiti kôd, razmislite o korištenju koda
Uvijek dobivanje 0, čak i kad nema objekata, postavljeno je ispred Boe-Bota
Provjerite ima li u blizini objekata koji reflektiraju infracrveni signal. Stol ispred Boe-Bota mogao bi biti uzrok. Premjestite Boe-Bot u otvoreni prostor tako da IC LED dioda i detektor ne mogu reflektirati bilo koji objekt u blizini.
Čitanje je 1 najčešće kada nema predmeta ispred Boe-Bota, ali povremeno treperi na 0
Mogu postojati smetnje u blizini fluorescentnog svjetla u blizini; Ugasite fluorescentna svjetla u blizini i ponovite ispitivanja. Ako problem potraje, korak 9 može otkriti problem
Korak 8: Drugi IR par
Sada kada imate program za lijevi IC, vaš je red da napravite krug i programirate pravi IR par
- Promijenite izjavu DEBUG, naslov i komentare da se odnose na desni IR par.
- Promijenite naziv varijable iz irDetectLeft u irDetectRight. To ćete morati učiniti na četiri mjesta u programu.
- Promijenite Pin argument naredbe FREQOUT iz 8 u 2.
- Promijenite ulazni registar koji nadzire varijabla irDetectRight iz IN9 u IN0.
- Ponovite korake testiranja u ovoj aktivnosti za desni IR par; s IC LED krugom spojenim na P2 i detektorom spojenim na P0.
Korak 9: Otkrivanje infracrvenih smetnji (izborno)
Bilo da imate problema s otkrivanjem signala koji se ne bi trebali otkriti ili planirate demonstrirati svoju IR detekciju na drugom mjestu, možda ćete htjeti testirati smetnje.
Koncept ovog programa za testiranje prilično je jednostavan, detektirate infracrvene signale bez slanja.
Možete koristiti potpuno isti krug, ali ćete morati promijeniti kôd. možete izabrati da napišete vlastiti kôd, ali možete koristiti dolje navedeni kôd:
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO irDetectLeft = IN9 irDetectRight = IN0 IF IN9 = 0 ILI IN0 = 0 ONDA RIJEŠAVANJE "Otkrivene smetnje" PAUSE 100 LOOP
Ako primijetite smetnje, odredite vjerojatni izvor i isključite ga/uklonite ga ili se premjestite na mjesto na kojem upravljate Boe-Botom.
Korak 10: Dodavanje više IR parova
Ako želite veću točnost u kretanju vašeg Boe-Bota, možda biste htjeli dodati još IR parova. 3 U velikoj mjeri poboljšava performanse u usporedbi s dva; središnji par možete upotrijebiti za traženje izravne prepreke te pomoću dva bočna IR -a odrediti koliko ćete okrenuti. Međutim, nedostatak dizajna 3 IR para je taj što možete znati kada klizite uz zid, jer se središnji IR par koristi za otkrivanje prepreka. Da biste riješili ovaj problem, možete dodati IR par na svaku stranu s velikom vrijednošću otpora-stoga će infracrveni signal biti otkriven samo ako je Boe-Bot blizu bočne strane ili zida pod blagim kutom.
Korak 11: Pet IC parova - sklop
Budite oprezni pri usmjeravanju dviju IR LED dioda sa strane jer njihovo uvijanje može uzrokovati dodir kabela i kratki spoj.
Korak 12: Pet IR parova - Kôd
Možda biste trebali pokušati programirati svoj Boe-Bot prije korištenja ovog koda:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Kod za otkrivanje pet IR para' Matthew Shaw '8. svibnja 2019. (verzija 7)' Otkrivanje objekata i osnovna logička obrada za rješavanje labirinta
irDetectLeft VAR Bit 'Varijabla za lijevo
irDetectCentre VAR bit 'Promjenjiva za središte irDetectRight VAR bit' Promjenjiva za desnu irDetectLSide VAR bit 'Promjenjiva za lijevu stranu irDetectRSide VAR bit' Promjenjiva za desnu stranu irDetectLSideFar VAR Bit 'Promjenjiva za lijevu stranu Niska otpornost niska otpornost VIDEO desna Varidbena za desnu stranu Niska otpornost' VarDarni desni VAR Bit 'Promjenjiva za lijevu stranu
mLoop VAR Riječ
PIN motora 15 'Lijevi motor spojen je na pin 14, ovdje prolaze impulsi
PIN za motor 14 'desno = 15
'brzine su-> 650-750-850
LFast CON 850 'Konastant za lijevi motor pri punoj brzini RFast CON 650' Konastant za desni motor pri punoj brzini
LStop CON 750 'Konastant za lijevi motor pri punoj brzini
RStop CON 650 'Konastant za desni motor pri punoj brzini
LMid CON 830 'Konastant za lijevi motor pri srednjoj brzini
RMid CON 700 'Konastant za desni motor pri srednjoj brzini
LSlow CON 770 'Konastant za lijevi motor pri minimalnoj brzini
RSlow CON 730 'Konastant za desni motor pri minimalnoj brzini
LRev CON 650 'Konastant za lijevi motor pri punoj brzini unatrag
RRev CON 850 'Konastant za lijevi motor pri punoj brzini unatrag
FREQOUT 7, 1, 38500 'lijeva strana
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'centar
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'desna strana
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Lijevo zatvori
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'desno Zatvori
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'desna strana
irDetectRSideFar = IN0
AKO irDetectLSide = 0 I irDetectRSide = 0 ONDA glavna 'ZAPOVJEDA POČETKA mahnite rukama pored dva bočna detektora za pokretanje programa
Glavni:
ZAVRŠITE 1000 DO
PULSOUT Lmotor, LFast 'lijevi motor radi punom brzinom
PULSOUT Rmotor, RFast 'Desni motor radi punom brzinom
FREQOUT 6, 1, 38500 'centar
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Lijevo zatvori
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'desna strana
irDetectRSide = IN0
AKO je irDetectLSide = 0 I irDetectRSide = 1 ONDA
UČINITE PULSOUT Lmotor, LFast
FREQOUT 6, 1, 38500 'centar
irDetectCentre = IN5 AKO je irDetectCentre = 0 ONDA cent
FREQOUT 10, 1, 38500 'Lijevo zatvori
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'desna strana
irDetectRight = IN2
POKLIČI DO IRDetectLSide = 1 ILI irDetectRSide = 0
ELSEIF irDetectLSide = 1 I irDetectRSide = 0 ONDA
UČINITE PULSOUT Rmotor, RFast
FREQOUT 6, 1, 38500 'centar
irDetectCentre = IN5 AKO je irDetectCentre = 0 ONDA cent
FREQOUT 10, 1, 38500 'Lijevo zatvori
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'desna strana
irDetectRight = IN2
POKLIČI DO IRDetectLSide = 0 ILI irDetectRSide = 1
'ZAVRŠI AKO
AKO je irDetectCentre = 0 ONDA POČNITE
FREQOUT 7, 1, 38500 'lijeva strana irDetectLeft = IN8
FREQOUT 6, 1, 38500 'centar
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSE 1000 'pauza za prikaz otkrivenog signala
IF (irDetectLeft = 1 AND irDetectRight = 0) ONDA procijenite trajanje
GOSUB skrenitelijevo
ELSEIF (irDetectLeft = 0 AND irDetectRight = 1) ONDA
GOSUB turnRight
ELSEIF (irDetectLeft = 1 AND irDetectRight = 1) THEN
GOSUB turnDecide
DRUGO
GOSUB turnReverse
ZAVRŠI AKO
ENDIF 'END
PETLJA
KRAJ
skrenite lijevo:
DO PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP DO IN0 = 1 POVRATAK
skrenuti desno:
DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP DO IN9 = 1
POVRATAK
turnReverse:
ZA mLoop = 0 DO 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, 1, 4, 5, 4, 5, 4, 5, 4, 38500 irDetectRight = IN0 LOOP DO IN9 = 1
POVRATAK
turnDecide: 'koristi manji otpor da vidi dalje
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'desna strana
irDetectRSideFar = IN0
IF (irDetectLSideFar = 1 AND irDetectRSideFar = 0) ONDA 'procijenite trajanje
GOSUB skrenitelijevo
ELSEIF (irDetectLSideFar = 0 I irDetectRSideFar = 1) ONDA
GOSUB turnRight
ELSEIF (irDetectLSideFar = 1 I irDetectRSideFar = 1) ONDA
GOSUB skrenitelijevo
DRUGO
GOSUB turnReverse
ZAVRŠI AKO
POVRATAK
Preporučeni:
Kako: Instaliranje Raspberry PI 4 bez glave (VNC) s Rpi-imagerom i slikama: 7 koraka (sa slikama)
Kako: Instaliranje Raspberry PI 4 Headless (VNC) s Rpi-imagerom i slikama: Planiram koristiti ovaj Rapsberry PI u hrpi zabavnih projekata na svom blogu. Slobodno provjerite. Htio sam se vratiti korištenju Raspberry PI -a, ali nisam imao tipkovnicu ili miš na novoj lokaciji. Prošlo je dosta vremena od postavljanja maline
Kako napraviti brojač koraka?: 3 koraka (sa slikama)
Kako napraviti brojač koraka?: Nekada sam se dobro snašao u mnogim sportovima: hodanje, trčanje, vožnja bicikla, igranje badmintona itd. Volim jahanje da bih brzo putovao. Pa, pogledaj moj trbušni trbuh … Pa, u svakom slučaju, odlučujem ponovno početi vježbati. Koju opremu trebam pripremiti?
Automatizacija doma s infracrvenim i Bluetooth modulom releja: 10 koraka
Kućna automatizacija s infracrvenim i Bluetooth upravljačkim relejnim modulom: U ovom projektu kućne automatizacije pokazao sam kako možemo kontrolirati svjetlo, ventilator i druge kućanske aparate iz naše aplikacije za pametni telefon i IC daljinskog upravljača pomoću sklopa modula upravljačkog releja Arduino. Ovaj Arduino upravljani pametni relej sklop ima dva načina rada, Inf
Kako rastaviti računalo jednostavnim koracima i slikama: 13 koraka (sa slikama)
Kako rastaviti računalo jednostavnim koracima i slikama: Ovo uputstvo o tome kako rastaviti računalo. Većina osnovnih komponenti je modularna i lako se uklanja. Međutim, važno je da se oko toga organizirate. To će vam pomoći da spriječite gubitak dijelova, a također i prilikom ponovnog sastavljanja
Nokia 5110 LCD s infracrvenim senzorom: 4 koraka
Nokia 5110 LCD s infracrvenim senzorom: Nokia 5110 LCD zaslon je izvrstan LCD zaslon koji je kompatibilan s razvojnom pločom Arduino. Upravljajmo sada jednim od tih LCD -a i spojimo ga s Arduinom i IC senzorom