Sadržaj:

Senzor infracrvenih kockica: 5 koraka
Senzor infracrvenih kockica: 5 koraka

Video: Senzor infracrvenih kockica: 5 koraka

Video: Senzor infracrvenih kockica: 5 koraka
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
Infracrveni senzor kockica
Infracrveni senzor kockica
Infracrveni senzor kockica
Infracrveni senzor kockica

Moje ime je Calvin i pokazat ću vam kako napraviti infracrveni senzor za kockice te ću vam objasniti kako to funkcionira.

Trenutno sam student univerziteta Taylor koji studira računarsko inženjerstvo i moj tim i od mene je zatraženo da dizajniramo i izgradimo mehanizam koji može sortirati 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 ići iznad i dalje i sortirati 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 ovaj infracrveni senzor kockica.

Supplies

A sada na zalihe:

Trebat će vam:

1 x Arduino Uno

5 x IC prijemnici

5 x IC odašiljači

www.sparkfun.com/products/241

5 x 270 ohm otpornici

5 x 10k ohm otpornici

1 x 74HC595N čip

razna muška zaglavlja

1 x prototipna ploča (ako ne dobijate prilagođenu glodanu ploču)

Korak 1: Shvatite kako to funkcionira

Razumijevanje kako to funkcionira
Razumijevanje kako to funkcionira
Razumijevanje kako to funkcionira
Razumijevanje kako to funkcionira

Ovaj senzor koristi 5 pip lokacija za čitanje lica kockica. On koristi infracrveno svjetlo za odbijanje od kocke na ovim mjestima pip i govori kontroleru je li bijelo ili crno.

Možda se pitate, zašto onda samo 5 pip lokacija? Ne bi li vam bilo potrebno svih 9 da biste učinkovito pročitali kockice?

Pa, zbog simetrije kockica, upotreba 5 određenih lokacija 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.

Emiter ide točno ispod prijemnika na senzoru na svakoj od ovih 5 pip lokacija, senzor tada emitira IC svjetlo, a zatim prijemnik očitava količinu IC svjetlosti 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: Projektovanje i planiranje

Projektovanje i planiranje
Projektovanje i planiranje
Projektovanje i planiranje
Projektovanje i planiranje
Projektovanje i planiranje
Projektovanje i planiranje
Projektovanje i planiranje
Projektovanje 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 zvan EAGLE kompanije Autodesk, to je softver koji sam koristio za kreiranje 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 vam dati kasnije, pa ćete morati sami nešto razviti.

Uključio sam i izgled ploče za senzor koji sam dizajnirao sa registrom pomaka.

Za početak projektiranja ploče imate 5 IC prijemnika i 5 IC odašiljača, za prijemnike 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 -> IC 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 direktno ispod prijemnika. Napravio sam ovu grešku prvi put kada 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 emitera i prijemnika jedan po jedan kako bih izbjegao bilo kakvo krvarenje IC svjetlosti iz drugih emitera. To mi daje još preciznije očitanje sa svake od pip lokacija, ako ste odlučili da ne koristite registar pomaka, on će i dalje raditi za vas, samo bi mogao biti nešto manje precizan. U registru pomaka možete spojiti pinove 3-4 i 7-8 zajedno, jer nije potrebno imati ih kao zaglavlja. Ostavio sam ih kao zaglavlja i stavio kratkospojnike na zaglavlja u slučaju da želim raditi u budućnosti.

Nakon što osmislite shemu, trebate napraviti shemu sheme. Ovaj dio može biti vrlo kompliciran jer morate paziti da se vaši putevi ne preklapaju i provjerite da li vaši putevi i rupe odgovaraju specifikacijama vaše mašine. Raspored ploča koji sam priložio imao je određene veličine za mašinu koju sam koristio za glodanje ploče. Potrošim nekoliko sati postavljajući ploču da bude što je moguće manji. 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 odbora

Izgradnja odbora
Izgradnja odbora
Izgradnja odbora
Izgradnja odbora
Izgradnja odbora
Izgradnja odbora

Ovaj dio u potpunosti ovisi o tome kako želite da se ploča stvori. Napravio sam senzor na prototipnoj ploči kako bih provjerio funkcionira 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 linije koje ne bi trebale biti povezane. 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 sistemu.

Ako se odlučite za glodanje ploče, ovaj je postupak jednostavniji. Pošaljite datoteku ploče glodalici s određenim postavkama mlinara. Ako to radite sami, napravite je prije nego što je izvadite, provjerite je li sav bakar pravilno glodan dovoljno duboko. Prva ploča koju sam napravio, bakar nije glodala dovoljno duboko i morao sam izvaditi još jednu.

Uvjerite se da je sve lemljeno na ploču u željenom rasporedu i odvojite vrijeme, a ako lemite na PCB -u, svakako lemite na ispravnu stranu ploče.

Kada stavljate IC prijemnike i odašiljače, uverite se da je odašiljač tačno ispod prijemnika. Morat ćete se poigrati sa savijanjem nogu IC komponenti da biste ih postavili na pravo mjesto. Držite kockice pri ruci kako biste provjerili jesu li pip lokacije tamo gdje trebaju biti.

Nakon što sve spajkate i dodate na ploču, krećete u programiranje senzora.

Korak 4: Programiranje ploče

Programiranje odbora
Programiranje odbora
Programiranje odbora
Programiranje odbora

Ovo je lukav dio kako bi senzor bio što precizniji, programiranje ploče. Na sreću, 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 koristeći pinove koje sam napravio za povezivanje sa senzorom. Obilježio sam sliku povezanu sa brojevima pinova i okvirima u boji oko skupa pinova da bih lako objasnio koji pin se priključuje 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čio sam je u slučaju da se uopće odlučim 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 se pipovi uključe i isključe. Postavio sam ovaj pin na pin 12 na Arduinu

Bijela 6 - Pin za sat, 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.

Sada kada ga morate spojiti, moramo ga kalibrirati. Moj cilj je bio stvoriti skriptu koja bi to mogla kalibrirati umjesto vas, ali mi je za to nedostajalo vremena. Prilikom kalibracije morate biti sigurni da je senzor u kontroliranom svjetlosnom okruženju osjetljiv na vanjsko svjetlo. Morate dobiti vrijednost sa svake pip lokacije sa crnom tačkom i bijelom tačkom i prosjek razlike. Koristio sam samo dvije strane kocke za kalibraciju, koristio sam stranu 1, stranu 6 i stranu 6 okrenutu za 90 stepeni. Nakon što za svaku pip lokaciju imate bijeli i crni broj, morate ih procijeniti i pronaći sredinu dva broja. Na primjer, ako sam dobio 200 za bijelo s prve lokacije pipa, i 300 za tamnu vrijednost prve lokacije pipa, tada bi kalibracijski broj bio 250. Nakon što to učinite za svih 5 pip lokacija, vaš senzor je ispravan kalibrirano, tada možete koristiti kockice. ReadFace (); da biste dobili trenutno lice kocke.

Korak 5: Aplikacija

Aplikacija
Aplikacija
Aplikacija
Aplikacija
Aplikacija
Aplikacija

Sada ste uspješno stvorili senzor za kockice! Čestitamo! Za mene je bio dug put pokušaja i greš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 preko senzora. Druga slika je konačni proizvod našeg projekta, a baza će se rotirati ovisno o tome kolika je kockica bila, a treća slika je okvir za prikaz koji sam dizajnirao i izgradio kako bih ove senzore prikazao.

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.

Nazdravlje!

Preporučuje se: