Obsah:

Infračervený senzor kostek: 5 kroků
Infračervený senzor kostek: 5 kroků

Video: Infračervený senzor kostek: 5 kroků

Video: Infračervený senzor kostek: 5 kroků
Video: Использование датчика расстояния Sharp IR GP2Y0A51SK0F с Arduino (от 2 см до 15 см) 2024, Červenec
Anonim
Infračervený senzor kostek
Infračervený senzor kostek
Infračervený senzor kostek
Infračervený senzor kostek

Jmenuji se Calvin a ukážu vám, jak vyrobit infračervený senzor kostek, a vysvětlím, jak funguje.

V současné době jsem studentem Taylorovy univerzity studujícím počítačové inženýrství a můj tým a já jsme byli požádáni, abych navrhl a postavil mechanismus, který dokáže třídit jakýkoli objekt, který se vejde na čtvereček 1 palce. Mohli jsme se vydat snadnou cestou a rozhodli jsme se třídit m & m pomocí jednoduchého barevného senzoru, ale rozhodli jsme se jít nad rámec a třídit kostky podle zobrazeného čísla. Po nespočetných hodinách zkoušení najít průvodce, jak přečíst tvář kostky, jsem narazil na tento odkaz zde:

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

Tento odkaz mi však neposkytl nic víc než myšlenku, jak přečíst tvář kostky, takže s využitím myšlenky, která byla poskytnuta, jsem se vydal na cestu k vybudování a vývoji senzoru, který lze připojit k Arduinu s lehkostí a dokáže přečíst tvář kostky co nejpřesněji, což nám dává tento infračervený senzor kostek.

Zásoby

Nyní k zásobám:

Budete potřebovat:

1 x Arduino Uno

5 x IR přijímač

5 x IR vysílače

www.sparkfun.com/products/241

Rezistory 5 x 270 ohmů

Rezistory 5 x 10 k ohmů

1 x 74HC595N čip

různé mužské hlavičky

1 x prototypová deska (pokud nedostáváte vlastní frézovanou desku)

Krok 1: Pochopení toho, jak to funguje

Pochopení toho, jak to funguje
Pochopení toho, jak to funguje
Pochopení toho, jak to funguje
Pochopení toho, jak to funguje

Tento senzor používá 5 míst pipu ke čtení ploch kostek. Používá infračervené světlo, aby se odrazilo od povrchu kostky v těchto místech pipu a řekne ovladači, zda je bílý nebo černý.

Možná si říkáte, proč tedy jen 5 pipů? Nepotřebovali byste všech 9 k efektivnímu čtení kostek?

Vzhledem k symetrii kostek může použití 5 konkrétních míst na kostkách stačit k rozlišení rozdílu mezi různými čísly na kostkách bez ohledu na orientaci (obrázek 1). Díky tomu je senzor kostek efektivnější, protože hledá pouze přesně to, co potřebuje, a nic extra.

Vysílač jde přesně pod přijímač na senzoru v každém z těchto 5 míst pipu, senzor pak vydává infračervené světlo a poté přijímač čte množství infračerveného světla, které odráží tvář kostky. (obrázek 3) Pokud je přijatá hodnota větší než zadaná kalibrační čísla, pak senzor uvidí toto místo jako tečku, pokud ne, pak je to prázdné místo. (obrázek 2)

Krok 2: Navrhování a plánování

Navrhování a plánování
Navrhování a plánování
Navrhování a plánování
Navrhování a plánování
Navrhování a plánování
Navrhování a plánování
Navrhování a plánování
Navrhování a plánování

Prvním krokem k vybudování senzoru kostek je vytvoření schémat, což může být buď nejtěžší, nebo nejsnadnější krok vývoje. Nejprve potřebujete software s názvem EAGLE od Autodesk, to byl software, který jsem použil k vytvoření schémat.

Zahrnul jsem 2 různé druhy schémat, jedno schéma má čip posuvného registru, který pomáhá zvýšit přesnost snímače, a druhý je bez čipu posuvného registru, toto schéma však nebude fungovat s kódem, který poskytnu později, takže budete muset něco vyvinout sami.

Zahrnul jsem také své rozložení desky pro snímač, který jsem navrhl s posuvným registrem.

Chcete -li začít navrhovat desku, máte 5 IR přijímačů a 5 IR vysílačů, přijímače vyžadují odpor 10k a vysílače vyžadují odpor 270 ohmů, takže pro každý z těchto prvků jdete z:

VCC (5V) -> Rezistor -> Analogový čtecí pin -> IR přijímač -> GND

VCC (5V) -> Rezistor -> IR vysílač -> GND

Analogový čtecí pin vychází mezi odporem a IR přijímačem jako další větev a jde na analogový pin na Arduinu. Musíte se také ujistit, že vysílač jde přímo pod přijímač. Tuto chybu jsem udělal poprvé, když jsem to udělal, a dosáhl jsem velmi špatných výsledků, takže se ujistěte, že přijímač jde nahoru.

Ve své vlastní desce používám posuvný registr k napájení každého z párů vysílače a přijímače jeden po druhém, abych se vyhnul jakémukoli infračervenému světlu z ostatních zářičů. To mi dává ještě přesnější čtení z každého místa pipu, pokud jste se rozhodli nepoužívat posuvný registr, bude to pro vás stále fungovat, jen to může být o něco méně přesné. Na posuvném registru můžete spojit piny 3-4 a 7-8 dohromady, protože není zcela nutné mít je jako záhlaví. Nechal jsem je jako záhlaví a na záhlaví dal propojky pro případ, že bych chtěl v budoucnu dělat vývoj.

Poté, co jste navrhli schéma, musíte vytvořit rozvržení schématu. Tato část může být velmi složitá, protože musíte zajistit, aby se vaše cesty nepřekrývaly, a zajistit, aby vaše cesty a otvory splňovaly specifikace vašeho stroje. Rozložení desky, které jsem připojil, mělo konkrétní velikosti pro stroj, který jsem použil k frézování desky. Strávil jsem několik hodin rozložením desky, aby byla tak malá, jak jsem mohl. Na této desce byl stále prostor pro zlepšení, ale fungovalo to pro mě, takže jsem to nechal tak, jak to je. Existuje verze s měděným GND spojující všechny prvky Ground a verze bez připojeného.

Schéma můžete také použít k vytvoření na prkénku nebo prototypové desce, protože jsou mnohem snazší a jsou levnější, protože nemusíte frézovat vlastní desku.

Jakmile budete mít návrh desky, můžete přejít k dalšímu kroku!

Krok 3: Sestavení rady

Budování rady
Budování rady
Budování rady
Budování rady
Budování rady
Budování rady

Tato část je zcela závislá na tom, jak chcete desku vytvořit. Senzor jsem vytvořil na prototypové desce, abych vyzkoušel, zda koncept funguje a jak přesný je, takže jsem postupoval podle schématu bez posuvného registru a vytvořil jsem desku. Musíte se ujistit, že jste rozložili vše tak, aby se linky nepřekrývaly a abyste omylem nepájili linky, které by neměly být spojeny. Když to děláte na prototypové desce, musíte být velmi opatrní, takže si udělejte čas a nespěchejte. Také byste si měli dávat pozor na otevřené vodiče, protože se mohou pohybovat a způsobit zkraty v systému.

Pokud jste se rozhodli nechat frézovat desku, pak je tento proces jednodušší. Odešlete soubor desky mlynáři s konkrétním nastavením mlynáře. Pokud to děláte sami, udělejte to, než to vyjmete, a ujistěte se, že veškerá měď je řádně vyfrézována dostatečně hluboko. První deska, kterou jsem vyrobil, měď nebyla frézována dostatečně hluboko a musel jsem si nechat vyfrézovat další.

Ujistěte se, že je vše připájeno k desce v požadovaném rozložení a ujistěte se, že si uděláte čas, a pokud pájíte na desku plošných spojů, ujistěte se, že pájíte na správnou stranu desky.

Při nasazování IR přijímačů a vysílačů se ujistěte, že je vysílač přesně pod přijímačem. Budete si muset pohrát s ohýbáním nohou IR komponent, abyste je dostali na správné místo. Mějte po ruce také kostky, abyste zkontrolovali, zda jsou místa pipů tam, kde mají být.

Jakmile máte vše připájené a přidané na desku, jste na programování senzoru.

Krok 4: Programování desky

Programování rady
Programování rady
Programování rady
Programování rady

Toto je ošemetná část toho, aby byl senzor co nejpřesnější, programování desky. Naštěstí jsem pro vás vytvořil knihovnu, kterou můžete použít s nově vytvořeným senzorem, aby bylo programování mnohem jednodušší, budete však muset senzor kalibrovat v závislosti na osvětlení, kde je tento senzor umístěn.

Chcete -li začít, musíte mít k tomuto senzoru připojeno Arduino. Používá 5 analogových pinů a 3 digitální piny.

Máte možnost použít knihovnu, kterou jsem vytvořil, k výběru vlastních analogových a digitálních pinů, ale vysvětlím to pomocí pinů, které jsem udělal pro propojení se senzorem. Označil jsem obrázek propojený čísly pinů a barevnými rámečky kolem sady pinů, abych snadno vysvětlil, který pin se kam zapojuje.

Na senzoru piny 1-5 červená jdou na A0-A4, takže červená 1 jde na A0 a tak dále. Piny 1-8 bílé vyžadují trochu více vysvětlení.

Bílá 1 - Datový pin, zde Arduino odesílá data do posuvného registru. Tento pin jsem nastavil na digitální pin 3 na Arduinu

Bílá 2 - Q0, v tomto případě zastaralá, zahrnul jsem ji pro případ, že bych se vůbec rozhodl rozšířit

Bílá 3 a 4 - budou spárovány, můžete buď tyto dva pájet dohromady, nebo použít propojku jako já.

Bílá 5 - kolíková západka, velmi důležitý kolík, který je posledním krokem v procesu, jak vidět zapínání a vypínání jader. Tento pin jsem nastavil na pin 12 na Arduinu

White 6 - Clock Pin, Poskytuje hodiny od Arduina k posuvnému registru. Nastavil jsem to na digitální pin 13.

Bílá 7 a 8 - Budou spárovány, můžete buď tyto dva spojit dohromady, nebo použít propojku jako já.

Hned vedle bílého pole máte piny Ground a VCC. K napájení tohoto senzoru musíte poskytnout 5v z Arduina nebo jiného zdroje.

Čísla umístění PIP najdete v kódu.

Teď, když to musíte připojit, musíme to zkalibrovat. Mým cílem bylo vytvořit skript, který by vám to mohl zkalibrovat, ale na to mi došel čas. Při kalibraci se musíte ujistit, že je senzor v prostředí s řízeným osvětlením, aby byl citlivý na vnější odvozené světlo. Musíte získat hodnotu z každého místa pipu s černou tečkou a bílou tečkou a průměr z rozdílu. Ke kalibraci jsem použil pouze dvě strany kostek, stranu 1, stranu 6 a stranu 6 jsem otočil o 90 stupňů. Jakmile máte pro každé místo pipu číslo bílé a černé, musíte je zprůměrovat a najít střed těchto dvou čísel. Pokud bych tedy například dostal 200 za bílou z prvního umístění pipu a 300 za tmavou hodnotu prvního umístění pipu, pak by kalibrační číslo bylo 250. Jakmile to uděláte pro všech 5 pipů, váš senzor je správně kalibrováno, pak můžete použít kostky. ReadFace (); získat aktuální tvář kostek.

Krok 5: Aplikace

aplikace
aplikace
aplikace
aplikace
aplikace
aplikace

Nyní jste úspěšně vytvořili senzor kostek! Gratulujeme! Byla to dlouhá cesta pokusů a omylů k vytvoření tohoto senzoru, takže je mým cílem pomoci komukoli tam venku, kdo chce vytvořit senzor kostek.

Zahrnul jsem několik příkladů projektu, který jsme postavili a který používal tento senzor. Na prvním obrázku jsme pomocí pádlového kola pokaždé správně umístili kostky přes senzor. Druhý obrázek byl konečným produktem našeho projektu a základna se bude otáčet v závislosti na tom, jaký byl obličej kostky, a třetí obrázek je zobrazovací box, který jsem navrhl a postavil tak, aby tyto senzory byly vystaveny.

Možnosti tohoto senzoru jsou nekonečné, pokud tomu věnujete pozornost. Doufám, že vás tento návod bude bavit a poučí, a doufám, že si ho zkusíte vytvořit sami.

Bůh žehnej!

Doporučuje: