Obsah:

Infračervený senzor kociek: 5 krokov
Infračervený senzor kociek: 5 krokov

Video: Infračervený senzor kociek: 5 krokov

Video: Infračervený senzor kociek: 5 krokov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Infračervený senzor kociek
Infračervený senzor kociek
Infračervený senzor kociek
Infračervený senzor kociek

Moje meno je Calvin a ukážem vám, ako vyrobiť infračervený snímač kociek, a vysvetlím, ako funguje.

Momentálne som študentom Taylorovej univerzity študujúcim počítačovú techniku a môj tím a mňa a mňa požiadali, aby som navrhol a zostrojil mechanizmus, ktorý dokáže triediť akýkoľvek objekt, ktorý sa zmestí na štvorec o veľkosti 1 palca. Mohli sme sa vydať jednoduchou cestou a rozhodli sme sa triediť m & m pomocou jednoduchého farebného senzora, ale rozhodli sme sa ísť nad rámec a triediť kocky podľa zobrazeného čísla. Po nespočetných hodinách, keď som sa snažil nájsť návod, ako čítať tvár kociek, som narazil na tento odkaz tu:

makezine.com/2009/09/19/dice-reader-versio…

Tento odkaz mi však neposkytol oveľa viac ako predstavu o tom, ako čítať tvár kociek, takže s využitím myšlienky, ktorá bola poskytnutá, som sa vydal na cestu vybudovania a vývoja senzora, ktorý je možné pripojiť k Arduinu. s ľahkosťou a dokáže čítať tvár kociek čo najpresnejšie, čím nám dáva tento infračervený senzor kociek.

Zásoby

Teraz k zásobám:

Budete potrebovať:

1 x Arduino Uno

5 x IR prijímač

5 x IR vysielače

www.sparkfun.com/products/241

Rezistory 5 x 270 ohmov

Rezistory 5 x 10 kOhm

1 x 74HC595N čip

rôzne mužské hlavičky

1 x prototypová doska (ak nedostávate frézovanú dosku na mieru)

Krok 1: Pochopenie toho, ako to funguje

Pochopenie toho, ako to funguje
Pochopenie toho, ako to funguje
Pochopenie toho, ako to funguje
Pochopenie toho, ako to funguje

Tento senzor používa 5 miest pipu na čítanie plôch kociek. Infračervené svetlo sa odráža od kocky v týchto miestach a kontrolórovi oznámi, či je biele alebo čierne.

Môžete sa čudovať, prečo potom iba 5 pipových umiestnení? Nepotrebovali by ste všetkých 9 na efektívne prečítanie kociek?

Vzhľadom na symetriu kociek môže použitie 5 konkrétnych miest na kocke stačiť na zistenie rozdielu medzi rôznymi číslami na kockách bez ohľadu na orientáciu (obrázok 1). Vďaka tomu je senzor kociek efektívnejší, pretože hľadá iba to, čo potrebuje, a nič extra.

Vysielač ide presne pod prijímač na senzore v každom z týchto 5 miest pipu, senzor potom vyžaruje infračervené svetlo a potom prijímač číta množstvo infračerveného svetla, ktoré sa odráža od tváre kocky. (obrázok 3) Ak je prijatá hodnota väčšia ako špecifikované kalibračné čísla, senzor uvidí toto miesto ako bodku, ak nie, je to prázdny priestor. (obrázok 2)

Krok 2: Navrhovanie a plánovanie

Navrhovanie a plánovanie
Navrhovanie a plánovanie
Navrhovanie a plánovanie
Navrhovanie a plánovanie
Navrhovanie a plánovanie
Navrhovanie a plánovanie
Navrhovanie a plánovanie
Navrhovanie a plánovanie

Prvým krokom k zostave senzora kociek je vytvorenie schémy, ktorá môže byť najťažším alebo najľahším krokom vývoja. Najprv potrebujete softvér s názvom EAGLE od Autodesk, to bol softvér, ktorý som použil na vytvorenie schém.

Zahrnul som 2 rôzne druhy schém, jedna schéma má čip posuvného registra, ktorý má pomôcť presnejšie snímač, a druhý je bez čipu posuvného registra, táto schéma však nebude fungovať s kódom, ktorý poskytnem neskôr, takže budete musieť niečo vyvinúť sami.

Zahrnul som tiež svoje rozloženie dosky pre snímač, ktorý som navrhol s posuvným registrom.

Na začiatku návrhu dosky je 5 IR prijímačov a 5 IR vysielačov, prijímače vyžadujú odpor 10k a žiariče vyžadujú odpor 270 ohmov, takže pre každý z týchto prvkov vychádzate z:

VCC (5V) -> Rezistor -> Analógový čítací kolík -> IR prijímač -> GND

VCC (5V) -> Rezistor -> IR žiarič -> GND

Analógový čítací kolík vystupuje medzi odporom a infračerveným prijímačom ako ďalšia vetva a smeruje k analógovému kolíku na Arduine. Musíte sa tiež uistiť, že vysielač ide priamo pod prijímač. Túto chybu som urobil prvýkrát, keď som to urobil, a dosiahol som veľmi zlé výsledky, takže sa uistite, že prijímač ide hore.

Vo svojej vlastnej doske používam posuvný register na poskytovanie energie každému z párov vysielača a prijímača jeden po druhom, aby som predišiel akémukoľvek infračervenému svetlu z ostatných žiaričov. To mi dáva ešte presnejšie čítanie z každého miesta pipu, ak ste sa rozhodli nepoužívať posuvný register, bude pre vás stále fungovať, len môže byť o niečo menej presný. Na posuvnom registri môžete spojiť kolíky 3-4 a 7-8 dohromady, pretože nie je úplne potrebné ich mať ako hlavičky. Nechal som ich ako hlavičky a na hlavičky som dal prepojky pre prípad, že by som chcel v budúcnosti robiť vývoj.

Potom, čo ste navrhli schému, musíte urobiť schému schémy na doske. Táto časť môže byť veľmi náročná, pretože musíte zaistiť, aby sa vaše cesty neprekrývali, a uistiť sa, že vaše cesty a otvory zodpovedajú špecifikáciám vášho zariadenia. Rozloženie dosky, ktoré som pripevnil, malo konkrétne veľkosti pre stroj, ktorý som použil na frézovanie dosky. Strávim niekoľko hodín rozložením dosky, aby bola taká malá, ako som len mohol. Na tejto doske bol stále priestor na zlepšenie, ale fungovalo to pre mňa, takže som to nechal tak, ako to je. Existuje verzia s medeným GND spájajúcim všetky uzemňovacie prvky a verzia bez pripojeného.

Svoju schému môžete použiť aj na zostavenie na doske alebo prototype dosky, pretože je ich oveľa jednoduchšie získať a je to lacnejšia možnosť, pretože nemusíte frézovať vlastnú dosku.

Keď máte návrh dosky, môžete prejsť na ďalší krok!

Krok 3: Zostavenie rady

Budovanie rady
Budovanie rady
Budovanie rady
Budovanie rady
Budovanie rady
Budovanie rady

Táto časť úplne závisí od toho, ako chcete tabuľu vytvoriť. Senzor som vytvoril na prototypovej doske, aby som otestoval, či koncept funguje a ako presný je, a tak som postupoval podľa schémy bez posuvného registra a dosku som vytvoril. Musíte sa snažiť rozložiť všetko tak, aby sa čiary neprekrývali a aby ste náhodou nespájkovali linky, ktoré by nemali byť spojené. Keď to robíte na prototypovej doske, musíte byť veľmi opatrní, urobte si čas a neponáhľajte to. Dávajte si tiež pozor na otvorené vodiče, pretože sa môžu pohybovať a spôsobiť skraty v systéme.

Ak sa rozhodnete nechať dosku frézovať, je tento proces jednoduchší. Odošlite súbor tabule frézke s konkrétnymi nastaveniami mlynára. Ak to robíte sami, urobte to skôr, ako to vyberiete, uistite sa, že všetka meď je správne frézovaná dostatočne hlboko. Prvá doska, ktorú som vyrobil, nebola meď frézovaná dostatočne hlboko a musel som nechať vyfrézovať ďalšiu.

Uistite sa, že je všetko spájkované k doske v požadovanom rozložení, a dajte si na to čas, a ak spájkujete na doske plošných spojov, uistite sa, že spájkujete na správnu stranu dosky.

Pri zapínaní IR prijímačov a vysielačov sa uistite, že je vysielač presne pod prijímačom. Budete sa musieť hrať s ohýbaním nôh IR komponentov, aby boli na správnom mieste. Majte po ruke aj kocky, aby ste skontrolovali, či sú miesta pipov tam, kde majú byť.

Keď máte všetko spájkované a pridané na dosku, pokračujete v programovaní senzora.

Krok 4: Programovanie rady

Programovanie rady
Programovanie rady
Programovanie rady
Programovanie rady

Toto je náročná časť na to, aby bol senzor čo najpresnejší a programoval sa doska. Našťastie som pre vás vytvoril knižnicu, ktorú môžete použiť s novo vytvoreným senzorom, aby bolo programovanie oveľa jednoduchšie. Budete však musieť snímač kalibrovať v závislosti od osvetlenia, kde sa tento senzor nachádza.

Na spustenie musíte mať Arduino na prepojenie s týmto senzorom. Využíva 5 analógových pinov a 3 digitálne piny.

Máte možnosť použiť knižnicu, ktorú som vytvoril, na výber vlastných analógových a digitálnych pinov, ale vysvetlím to pomocou pinov, ktoré som urobil na prepojenie so senzorom. Označil som obrázok prepojený s číslami pinov a farebnými políčkami okolo sady pinov, aby som ľahko vysvetlil, ktorý pin sa kde pripája.

Na snímači kolíky 1-5 Červená smerujú k A0-A4, takže červená 1 ide k A0 a tak ďalej. Piny 1-8 biele vyžadujú trochu viac vysvetlenia.

Biela 1 - Dátový kolík, tu Arduino odosiela údaje do posuvného registra. Na Arduine som tento pin nastavil na digitálny pin 3

Biela 2 - Q0, v tomto prípade zastaraná, zahrnul som ju pre prípad, že by som sa vôbec rozhodol rozšíriť

Biela 3 a 4 - Budú spárované, tieto dve môžete buď spájkovať alebo použiť prepojku, ako som to urobil ja.

Biely kolík 5 - západka, veľmi dôležitý kolík, ktorý je posledným krokom v procese zapínania a vypínania jadier. Tento pin som nastavil na pin 12 na Arduine

Biela 6 - hodinový kolík, Poskytuje hodiny od Arduina po posuvný register. Nastavil som to na digitálny pin 13.

Biela 7 a 8 - budú spárované, môžete buď tieto dve spájkovať alebo použiť prepojku, ako som to urobil ja.

Hneď vedľa bieleho poľa máte kolíky Ground a VCC. Na napájanie tohto senzora musíte poskytnúť 5 V z Arduina alebo iného zdroja.

Čísla polohy PIP nájdete v kóde.

Teraz, keď ho musíte pripojiť, musíme ho kalibrovať. Mojim cieľom bolo vytvoriť skript, ktorý by ho pre vás mohol kalibrovať, ale na to som vyčerpal čas. Pri kalibrácii sa musíte uistiť, že senzor je v kontrolovanom svetelnom prostredí, aby vnímal jeho citlivosť na vonkajšie odvodené svetlo. Musíte získať hodnotu z každého umiestnenia pipu s čiernou bodkou a bielou bodkou a priemer z rozdielu. Na kalibráciu som použil iba dve strany kociek, použil som stranu 1, stranu 6 a stranu 6 otočenú o 90 stupňov. Akonáhle budete mať číslo pre bielu a čiernu pre každé miesto pipu, musíte ich vypočítať ako priemer a nájsť stred dvoch čísel. Ak by som napríklad dostal 200 za biele z prvého umiestnenia pipu a 300 za tmavú hodnotu prvého umiestnenia pipu, potom by kalibračné číslo bolo 250. Keď to urobíte pre všetkých 5 pipových umiestnení, váš senzor je správne kalibrované, potom môžete použiť kocky. ReadFace (); získať aktuálnu tvár kociek.

Krok 5: Aplikácia

Aplikácia
Aplikácia
Aplikácia
Aplikácia
Aplikácia
Aplikácia

Teraz ste úspešne vytvorili senzor kociek! Gratulujem Vytvorenie tohto senzora bolo pre mňa dlhou cestou pokusov a omylov, a preto je mojím cieľom pomôcť každému tam vonku, kto chce vytvoriť senzor kociek.

Zahrnul som niekoľko príkladov projektu, ktorý sme postavili a ktorý používal tento senzor. Na prvom obrázku sme pomocou kolesového kolesa vždy správne položili kocky na vrch senzora. Druhý obrázok bol konečným produktom nášho projektu a základňa sa bude otáčať podľa toho, aká bola tvár kocky, a tretí obrázok je zobrazovacia skrinka, ktorú som navrhol a postavil tak, aby sa tieto senzory zobrazovali.

Možnosti tohto senzora sú nekonečné, ak sa tomu budete venovať. Dúfam, že vás tento návod bude baviť a poučí, a dúfam, že sa ho pokúsite vytvoriť aj pre seba.

Boh žehnaj!

Odporúča: