Sadržaj:
- Pribor
- Korak 1: Razumijevanje kako to funkcionira
- Korak 2: Projektiranje i planiranje
- Korak 3: Izgradnja ploče
- Korak 4: Programiranje ploče
- Korak 5: Prijava
Video: Infracrveni senzor kockica: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Moje ime je Calvin i pokazat ću vam kako napraviti infracrveni senzor za kockice te ću vam objasniti kako to radi.
Trenutno sam student sveučilišta Taylor koji studira računalno inženjerstvo i moj tim i od mene je zatraženo da dizajniramo i izgradimo mehanizam koji može razvrstati bilo koji objekt koji može stati u kvadrat od 1 inča. Mogli smo krenuti laganim putem i odlučiti sortirati m & m pomoću jednostavnog senzora u boji, ali odlučili smo otići iznad i izvan te poredati kockice prema prikazanom broju. Nakon bezbroj sati pokušaja pronalaženja vodiča o tome kako pročitati lice kocke naletio sam na ovu vezu ovdje:
makezine.com/2009/09/19/dice-reader-versio…
Ova mi veza, međutim, nije dala ništa više od ideje o tome kako pročitati lice kocke, pa sam, koristeći ideju koja je bila ponuđena, krenuo putem za izgradnju i razvoj senzora koji se može povezati s Arduinom s lakoćom i može pročitati lice kocke što je točnije moguće, dajući nam tako ovaj infracrveni senzor kockica.
Pribor
A sada o zalihama:
Trebat će vam:
1 x Arduino Uno
5 x IC prijemnici
5 x IC odašiljači
www.sparkfun.com/products/241
Otpornici 5 x 270 ohma
5 x 10k ohm otpornici
1 x 74HC595N čip
razna muška zaglavlja
1 x prototipna ploča (ako ne dobivate prilagođenu glodanu ploču)
Korak 1: Razumijevanje kako to funkcionira
Ovaj senzor koristi 5 pip lokacija za čitanje lica kockica. On koristi infracrveno svjetlo za odbijanje od kockica na tim mjestima pipa i govori kontroleru je li bijela ili crna.
Možda se pitate, zašto onda samo 5 pip lokacija? Ne bi li vam bilo potrebno svih 9 za učinkovito čitanje kockica?
Pa, zbog simetrije kockica, upotreba 5 određenih mjesta na kockicama može biti dovoljna za razlikovanje različitih brojeva na kockicama bez obzira na orijentaciju (slika 1). Time senzor kockica postaje učinkovitiji jer traži samo ono što mu treba i ništa dodatno.
Odašiljač prolazi točno ispod prijemnika na senzoru na svakom od ovih 5 pip lokacija, senzor tada emitira IC svjetlo, a zatim prijemnik očitava količinu IC svjetla koja odbija površinu kocke. (slika 3) Ako je primljena vrijednost veća od navedenih kalibracijskih brojeva, tada će senzor vidjeti to mjesto kao točku, ako ne, onda je to bijeli prostor. (slika 2)
Korak 2: Projektiranje i planiranje
Prvi korak u izgradnji senzora za kockice je stvaranje shema, što može biti ili najteži ili najjednostavniji korak u razvoju. Najprije vam je potreban softver pod nazivom EAGLE tvrtke Autodesk, to je softver koji sam koristio za izradu shema.
Uključio sam 2 različite vrste shema, jedna shema ima čip registra pomaka kako bi senzor bio precizniji, a drugi je onaj bez čipa registra pomaka, međutim ova shema neće raditi s kodom koji ću dostaviti kasnije, pa ćete morati sami nešto razviti.
Uključio sam i izgled ploče za senzor koji sam dizajnirao s registrom pomaka.
Za početak projektiranja ploče imate 5 IC prijemnika i 5 IC odašiljača, za prijamnike je potreban otpornik od 10 k, a za emitere je potreban otpornik od 270 ohma, pa za svaki od ovih elemenata idete s:
VCC (5V) -> Otpornik -> Analogni pin za čitanje -> IR prijemnik -> GND
VCC (5V) -> Otpornik -> IR odašiljač -> GND
Pin za analogno čitanje izlazi između otpornika i IC prijemnika kao još jedna grana i odlazi do analognog pina na Arduinu. Također morate paziti da odašiljač ide izravno ispod prijemnika, ja sam napravio ovu grešku prvi put kad sam to učinio i dobio sam jako loše rezultate, pa se pobrinite da prijemnik bude na vrhu.
U svojoj prilagođenoj ploči koristim registar pomaka za napajanje svakog od para odašiljača i prijamnika jedan po jedan kako bih izbjegao krvarenje IC svjetlosti iz drugih emitera. To mi daje još preciznije očitanje sa svake od pip lokacija, ako ste odlučili ne koristiti registar pomaka, on će i dalje raditi za vas, samo bi mogao biti nešto manje točan. U registru pomaka možete spojiti pinove 3-4 i 7-8 zajedno jer ih nije potrebno imati kao zaglavlja. Ostavio sam ih kao zaglavlja i stavio kratkospojnike na zaglavlja u slučaju da se u budućnosti želim baviti razvojem.
Nakon što osmislite shemu, trebate napraviti shemu sheme ploče. Ovaj dio može biti vrlo zeznut jer morate paziti da se vaši putevi ne preklapaju i provjerite odgovaraju li vaši putovi i rupe specifikacijama vašeg stroja. Raspored ploča koji sam priložio imao je određene veličine za stroj koji sam koristio za glodanje ploče. Potrošim nekoliko sati postavljajući ploču kako bih bila što manja. Na ovoj ploči još je bilo prostora za poboljšanja, ali meni je to uspjelo pa sam je ostavio takvu kakva je. Postoji verzija s bakrenim GND -om koji povezuje sve elemente uzemljenja i verzija bez pričvršćenja.
Također možete upotrijebiti svoju shemu za izradu na matičnoj ploči ili prototipnoj ploči, jer je do njih mnogo lakše doći i jeftinija je opcija jer ne morate imati glodanje prilagođene ploče.
Kad dobijete dizajn ploče, možete prijeći na sljedeći korak!
Korak 3: Izgradnja ploče
Ovaj dio u potpunosti ovisi o tome kako želite stvoriti ploču. Napravio sam senzor na prototipnoj ploči kako bih provjerio radi li koncept i koliko je točan, pa sam slijedio shemu bez registra pomaka i stvorio sam ploču. Morate paziti da sve postavite tako da se linije ne preklapaju i da slučajno ne lemite vodove koje ne biste trebali spojiti. Kada to radite na prototipnoj ploči, morate biti vrlo oprezni, stoga odvojite vrijeme i ne žurite. Također biste trebali biti oprezni s otvorenim žicama jer se mogu pomicati i uzrokovati kratke spojeve u sustavu.
Ako se odlučite za glodanje ploče, ovaj je postupak jednostavniji. Pošaljite datoteku ploče mlinaču s određenim postavkama mlinara. Ako to radite sami, napravite prije nego što ga izvadite, provjerite je li sav bakar pravilno glodan dovoljno duboko. Prva ploča koju sam napravio, bakar nije dovoljno glodal i morao sam izvaditi još jednu.
Provjerite je li sve lemljeno na ploču u željenom rasporedu i odvojite vrijeme, a ako lemite na PCB -u, onda lemite na ispravnu stranu ploče.
Prilikom stavljanja IC prijemnika i odašiljača provjerite je li odašiljač točno ispod prijemnika. Morat ćete se poigrati sa savijanjem nogu IC komponenti kako biste ih postavili na pravo mjesto. Držite i kockice pri ruci kako biste provjerili jesu li mjesta pip -a tamo gdje trebaju biti.
Nakon što sve spajkate i dodate na ploču, krećete u programiranje senzora.
Korak 4: Programiranje ploče
Ovo je lukav dio kako bi senzor bio što precizniji, programiranje ploče. Srećom, stvorio sam biblioteku koju ćete koristiti sa svojim novostvorenim senzorom kako biste olakšali programiranje, međutim, morat ćete kalibrirati senzor ovisno o osvjetljenju na kojem se ovaj senzor nalazi.
Za početak morate imati Arduino za povezivanje s ovim senzorom. Koristi 5 analognih i 3 digitalna pina.
Imate mogućnost korištenja biblioteke koju sam napravio za odabir vlastitih analognih i digitalnih pinova, ali objasnit ću to pomoću pinova koje sam napravio za povezivanje sa senzorom. Označio sam sliku povezanu s brojevima pinova i okvirima u boji oko skupa pinova da bih lako objasnio koji pin se uklapa gdje.
Na senzoru pinovi 1-5 Crveno idu na A0-A4, pa Crveni 1 ide na A0 i tako dalje. Igle 1-8 Bijele zahtijevaju malo više objašnjenja.
Bijela 1 - pin podataka, ovdje Arduino šalje podatke u registar pomaka. Postavio sam ovaj pin na digitalni pin 3 na Arduinu
Bijela 2 - Q0, u ovom slučaju zastarjela, uključila sam je u slučaju da sam se uopće odlučila proširiti
Bijela 3 i 4 - Bit će uparene, možete ih lemiti zajedno ili upotrijebiti kratkospojnik kao ja.
Bijela kvačica sa 5 zasuna, vrlo važna iglica koja je posljednji korak u procesu da vidite kako se pipovi uključuju i isključuju. Postavio sam ovaj pin na pin 12 na Arduinu
Bijela 6 - Pin sata, Ovo daje sat od Arduina do registra pomaka. Postavio sam ovo na digitalni pin 13.
Bijela 7 i 8 - Bit će uparene, možete ih lemiti zajedno ili upotrijebiti kratkospojnik kao ja.
Odmah pored bijelog okvira imate uzemljenje i VCC igle. Morate osigurati 5V iz Arduina ili drugog izvora za napajanje ovog senzora.
PIP brojevi lokacija mogu se pronaći u kodu.
Sad kad ga morate spojiti, moramo ga kalibrirati. Cilj mi je bio stvoriti skriptu koja bi je mogla kalibrirati, ali mi je za to nedostajalo vremena. Prilikom kalibracije morate provjeriti je li senzor u kontroliranom svjetlosnom okruženju osjetljiv na vanjsko svjetlo. Morate dobiti vrijednost sa svakog mjesta pipa s crnom točkom i bijelom točkom i prosjek razlike. Za kalibraciju sam koristio samo dvije strane kocke, koristio sam stranu 1, stranu 6 i stranu 6 zarotiranu za 90 stupnjeva. Kad za svako mjesto pipa dobijete bijeli i crni broj, morate ih procijeniti i pronaći sredinu dva broja. Na primjer, ako sam dobio 200 za bijelo s prvog mjesta pipa, a 300 za tamnu vrijednost prvog mjesta pipa, tada bi kalibracijski broj bio 250. Nakon što to učinite za svih 5 pip lokacija, vaš je senzor ispravno kalibrirano, tada možete koristiti kockice. ReadFace (); da biste dobili trenutno lice kocke.
Korak 5: Prijava
Sada ste uspješno stvorili senzor za kockice! Čestitamo! Za mene je bio dug put pokušaja i pogrešaka u stvaranju ovog senzora, pa mi je cilj pomoći svima koji žele stvoriti senzor za kockice.
Uključio sam nekoliko primjera projekta koji smo izgradili i koji je koristio ovaj senzor. Prva slika, koristili smo zaveslu kako bismo svaki put pravilno postavili kockice iznad senzora. Druga slika bila je konačni proizvod našeg projekta, a baza će se rotirati ovisno o tome što je kockica bila, a treća slika je okvir za prikaz koji sam dizajnirao i izgradio za stavljanje ovih senzora na zaslon.
Mogućnosti za ovaj senzor su beskrajne ako se tome posvetite. Nadam se da će vam ovaj vodič biti ugodan i poučan, i nadam se da ćete ga pokušati napraviti sami.
Bog blagoslovio!
Preporučeni:
Raspberry Pi - TMP007 Infracrveni senzor termopile senzora Python Vodič: 4 koraka
Raspberry Pi - TMP007 Infracrveni senzor termopile senzora Python: TMP007 je infracrveni senzor termopile koji mjeri temperaturu objekta bez kontakta s njim. Infracrvenu energiju koju emitira objekt u senzorskom polju apsorbira termopipa integrirana u senzor. Termopil
Raspberry Pi - TMP007 Infracrveni senzor termopile senzora za Java: 4 koraka
Raspberry Pi - TMP007 Infrared senzor termopile senzora za Java: TMP007 je infracrveni senzor termopile koji mjeri temperaturu objekta bez kontakta s njim. Infracrvenu energiju koju emitira objekt u senzorskom polju apsorbira termopipa integrirana u senzor. Termopil
Adafruit SI1145 UV/vidljivo svjetlo/infracrveni senzor - Arduino i LCD: 4 koraka
Adafruit SI1145 UV/vidljivo svjetlo/infracrveni senzor - Arduino i LCD: Ovaj projekt koristi Adafruit SI1145 UV/vidljivo svjetlo/infracrveni senzor za izračun trenutne UV ocjene. UV zračenje se ne osjeća izravno. Radije se izračunava kao funkcija vidljivog svjetla i infracrvenih očitanja. Kad sam ga testirao vani
Infracrveni senzor blizine pomoću LM358: 5 koraka
Infracrveni senzor blizine pomoću LM358: Ovo je uputstvo o izradi IC senzora blizine
Infracrveni reflektirajući senzor TCRT5000 - kako radi i primjer kruga sa kodom: 6 koraka
TCRT5000 Infracrveni reflektirajući senzor - kako to funkcionira i primjer kruga sa kodom: Pozdrav, nedavno sam koristio hrpu TCRT5000 -a pri projektiranju i izradi svog stroja za sortiranje novčića. To možete vidjeti ovdje: Da bih to učinio, morao sam naučiti o TCRT5000 i nakon što sam to shvatio, mislio sam da ću stvoriti vodič za svakoga tko je pogledao