Tartalomjegyzék:

Infravörös kockaérzékelő: 5 lépés
Infravörös kockaérzékelő: 5 lépés

Videó: Infravörös kockaérzékelő: 5 lépés

Videó: Infravörös kockaérzékelő: 5 lépés
Videó: 🟡 POCO X5 PRO – LEGRÉSZLETESEBB ÁTTEKINTÉS és TESZTEK 2024, Július
Anonim
Infravörös kockaérzékelő
Infravörös kockaérzékelő
Infravörös kockaérzékelő
Infravörös kockaérzékelő

A nevem Calvin, és megmutatom, hogyan kell infravörös kockaérzékelőt készíteni, és elmagyarázom, hogyan működik.

Jelenleg a Taylor Egyetem hallgatója vagyok, aki számítástechnikai tanulmányokat folytat, és a csapatommal felkértek, hogy tervezzünk meg és építsünk meg egy mechanizmust, amely képes rendezni minden olyan tárgyat, amely elfér egy 1 hüvelykes négyzetben. A könnyebb utat választhattuk volna, és úgy dönthettünk volna, hogy egy egyszerű színérzékelő segítségével rendezzük a m & m -eket, de úgy döntöttünk, hogy felül és túl megyünk, és a kockákat a megjelenített szám szerint rendezzük. Miután számtalan órát próbáltam útmutatót találni a kocka arcának olvasásához, belefutottam ebbe a linkbe:

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

Ez a link azonban nem adott sokkal többet, mint az ötlet, hogyan kell olvasni a kocka arcát, így a felkínált ötlet felhasználásával elindítottam egy Arduino -hoz csatlakoztatható érzékelő építését és fejlesztését. könnyedén, és a lehető legpontosabban le tudja olvasni a kocka arcát, így megadva nekünk ezt az infravörös kockaérzékelőt.

Kellékek

Most pedig a kellékekről:

Szükséged lesz:

1 x Arduino Uno

5 db IR vevő

5 x infravörös sugárzó

www.sparkfun.com/products/241

5 x 270 ohmos ellenállás

5 x 10 k ohmos ellenállások

1 x 74HC595N chip

különböző férfi fejlécek

1 x prototípus tábla (ha nem egyedi őrölt táblát kap)

1. lépés: A működés megértése

A működés megértése
A működés megértése
A működés megértése
A működés megértése

Ez az érzékelő 5 pip -helyet használ a kockák arcának olvasására. Infravörös fényt használ, hogy visszapattanjon a kockákról ezeken a pip -helyeken, és megmondja a vezérlőnek, hogy fehér vagy fekete.

Lehet, hogy vajon miért csak 5 pip helyszínt? Nem lenne szüksége mind a 9 -re a kocka hatékony olvasásához?

Nos, a kocka szimmetriája miatt a kocka 5 konkrét helyének használata elegendő lehet ahhoz, hogy tájolástól függetlenül megkülönböztessük a kockán lévő különböző számokat (1. kép). Ez hatékonyabbá teszi a kockaérzékelőt, mert csak azt keresi, amire szüksége van, és semmi extra.

Az emitter pontosan az érzékelő vevője alá kerül mind az 5 pip helyén, az érzékelő ezután kibocsátja az infravörös fényt, majd a vevő leolvassa a kocka felületéről visszaverődő infravörös fény mennyiségét. (3. kép) Ha a kapott érték nagyobb, mint a megadott kalibrációs számok, akkor az érzékelő ezt a pontot pontként fogja látni, ha nem, akkor szóköz. (2. kép)

2. lépés: Tervezés és tervezés

Tervezés és tervezés
Tervezés és tervezés
Tervezés és tervezés
Tervezés és tervezés
Tervezés és tervezés
Tervezés és tervezés
Tervezés és tervezés
Tervezés és tervezés

A kockaérzékelő építésének első lépése a vázlatok elkészítése, ez lehet a fejlesztés legnehezebb vagy legegyszerűbb lépése. Először az Autodesk EAGLE nevű szoftverére van szüksége, ezt a szoftvert használtam a vázlatok elkészítéséhez.

Két különböző típusú vázlatot mellékeltem, az egyik sematikus váltóregiszter -chipet tartalmaz az érzékelő pontosabbá tételéhez, a másik pedig egy váltóregisztrációs chip nélkül, ez a vázlat azonban nem fog működni az általam megadott kóddal. később, így valamit önállóan kell kifejlesztenie.

Mellékeltem a tábla elrendezést is az érzékelőhöz, amelyet a műszakregiszterrel terveztem.

Az alaplap tervezésének megkezdéséhez 5 IR -vevő és 5 IR -adó van, a vevők 10 k -os ellenállást igényelnek, és a kibocsátók 270 ohmos ellenállást igényelnek, így ezen elemek mindegyikéhez a következőket kell választania:

VCC (5V) -> Ellenállás -> Analóg olvasótű -> IR vevő -> GND

VCC (5V) -> Ellenállás -> IR -sugárzó -> GND

Az analóg olvasótüske az ellenállás és az IR -vevő között jön ki, mint egy másik ág, és az Arduino analóg érintkezőjéhez megy. Arról is gondoskodnia kell, hogy az emitter közvetlenül a vevő alá kerüljön, ezt a hibát követtem el először, és nagyon rossz eredményeket kaptam, ezért győződjön meg arról, hogy a vevő a tetején van.

Az egyéni táblámban a váltásregisztert használom az egyes kibocsátó és vevő párok áramellátására egyenként, hogy elkerüljem a többi sugárzó infravörös sugárzását. Ez még pontosabb leolvasást biztosít számomra minden pip helyről, ha úgy döntött, hogy nem használja a műszakregisztert, akkor is működik az Ön számára, csak lehet, hogy valamivel kevésbé pontos. A műszakregiszterben összekapcsolhatja a 3-4. És a 7-8. Csapokat, mivel nem feltétlenül szükséges, hogy fejlécek legyenek. Fejlécekként hagytam őket, és átkötőket tettem a fejlécekre arra az esetre, ha fejleszteni szeretnék a jövőben.

Miután megtervezte a vázlatot, el kell készítenie a vázlat táblájának elrendezését. Ez a rész nagyon bonyolult lehet, mert meg kell győződnie arról, hogy az útvonalak nem fedik egymást, és meg kell győződnie arról, hogy az utak és lyukak megfelelnek a gép előírásainak. Az általam csatolt tábla elrendezés a gép saját méreteit tartalmazta, amellyel a táblámat martam. Néhány órát töltök a tábla lefektetésével, hogy a lehető legkisebb legyen. Ezen a táblán még volt hova fejlődni, de nekem bevált, így hagytam úgy, ahogy van. Létezik egy réz GND -vel ellátott változat, amely összeköti az összes földi elemet, és egy változat, amelyhez nincs csatolva.

A vázlatot használhatja kenyérsütő táblára vagy prototípus táblára is, mivel ezek sokkal könnyebben elérhetők, és olcsóbb megoldás, mivel nem kell egyedi deszkát őrölni.

Ha megvan a tábla kialakítása, akkor léphet a következő lépésre!

3. lépés: A tábla felépítése

A tábla építése
A tábla építése
A tábla építése
A tábla építése
A tábla építése
A tábla építése

Ez a rész teljesen attól függ, hogyan szeretné létrehozni a táblát. Létrehoztam az érzékelőt egy prototípus táblán, hogy teszteljem, működik -e a koncepció és mennyire pontos, ezért követtem a vázlatot a műszakregiszter nélkül, és létrehoztam a táblát. Gondoskodnia kell arról, hogy mindent elrendezzen, hogy a vonalak ne fedjék egymást, és véletlenül ne forraszthasson olyan vonalakat, amelyeket nem szabad összekötni. Amikor prototípus táblán végzi, nagyon óvatosnak kell lennie, ezért szánjon rá időt, és ne siessen vele. Ügyelni kell a nyitott vezetékekre is, mert azok elmozdulhatnak és rövidzárlatot okozhatnak a rendszerben.

Ha a lemez megmarását választotta, akkor ez a folyamat egyszerűbb. Küldje el a tábla fájlt a molnárnak az adott molnár beállításaival. Ha saját maga csinálja, akkor mielőtt kiveszi, győződjön meg arról, hogy az összes réz megfelelően mélyre van őrölve.

Győződjön meg arról, hogy minden a kívánt elrendezésben van a táblához forrasztva, és ügyeljen rá, hogy ne szánjon rá időt, és ha forraszt a NYÁK -on, akkor győződjön meg arról, hogy a tábla megfelelő oldalán forraszt.

Az IR -vevők és -kibocsátók felhelyezésekor győződjön meg arról, hogy az adó pontosan a vevő alatt van. Meg kell játszania az infravörös komponensek lábainak hajlításával, hogy a megfelelő helyre kerüljenek. Tartson kéznél egy kockát is, hogy ellenőrizze, a pipák helyei ott vannak -e, ahol kell.

Miután mindent forrasztott és hozzáadott a táblához, elkezdheti programozni az érzékelőt.

4. lépés: A tábla programozása

A testület programozása
A testület programozása
A testület programozása
A testület programozása

Ez a trükkös része annak, hogy az érzékelőt a lehető legpontosabbá tegyük, a táblát programozzuk. Szerencsére létrehoztam egy könyvtárat, amelyet az újonnan létrehozott érzékelővel használhat, hogy sokkal könnyebben programozhassa, azonban az érzékelőt a megvilágítástól függően kalibrálnia kell.

Az indításhoz rendelkeznie kell egy Arduino -val, hogy csatlakozzon ehhez az érzékelőhöz. 5 analóg és 3 digitális tűt használ.

Lehetősége van arra, hogy az általam készített könyvtárat saját analóg és digitális tűinek kiválasztásához használja, de elmagyarázom az érzékelővel való érintkezéshez használt csapok segítségével. Megjelöltem a képet tüskékkel és színes dobozokkal összekapcsolva a csapok körül, hogy könnyen elmagyarázzam, melyik csap hol van.

Az érzékelőn az 1-5 Piros érintkezők az A0-A4-re, tehát a Piros 1 az A0-ra és így tovább. Az 1-8. Fehér tüskék némi magyarázatot igényelnek.

Fehér 1 - Adatcsap, itt az Arduino elküldi az adatokat a műszakregiszternek. Ezt a tűt az Arduino 3 -as digitális tűjére állítottam

Fehér 2 - Q0, ebben az esetben elavult, beillesztettem, ha egyáltalán úgy döntök, hogy bővítem

Fehér 3 és 4 - Párosításra kerül, vagy forraszthatja össze ezt a kettőt, vagy használhat jumpert, mint én.

Fehér 5 reteszes csap, egy nagyon fontos csap, amely a folyamat utolsó lépése, hogy a magok ki- és bekapcsolódjanak. Ezt a csapot a 12 -es tűre állítottam az Arduino -n

Fehér 6 - Óracsap, Ez biztosítja az órát az Arduino -tól a műszakregiszterig. Ezt a 13 -as digitális tűre állítottam.

Fehér 7 és 8 - Párosításra kerül, vagy forraszthatja össze ezt a kettőt, vagy használhat jumpert, mint én.

Közvetlenül a fehér doboz mellett vannak a földelés és a VCC csapok. Az érzékelő áramellátásához 5 V -ot kell biztosítania az Arduino -ból vagy más forrásból.

PIP Helyszámok megtalálhatók a kódban.

Most, hogy csatlakoztatnia kell, kalibrálnunk kell. A célom az volt, hogy készítsek egy forgatókönyvet, amely kalibrálhatja az Ön számára, de elfogyott az időm. Kalibráláskor meg kell győződnie arról, hogy az érzékelő szabályozott megvilágítási környezetben van, és érzékeli a külső következtetéses fényt. Minden pip helyről meg kell kapnia egy értéket egy fekete és egy fehér ponttal, és átlagolnia kell a különbséget. A kalibráláshoz csak a kocka két oldalát használtam, az 1., a 6. és a 6. oldalt 90 fokkal elforgatva. Ha minden pip helyhez megvan a fehér és fekete szám, átlagolnia kell őket, és meg kell találnia a két szám közepét. Például, ha például 200 -at kaptam fehérre az első pip -helyről, és 300 -at az első pip -hely sötét értékére, akkor a kalibrálási szám 250 lenne. Ha ezt megteszi mind az 5 pip -helyen, akkor az érzékelő megfelelően működik kalibrálva, akkor használhatja a kockákat. ReadFace (); hogy megkapja a kocka aktuális arcát.

5. lépés: Alkalmazás

Alkalmazás
Alkalmazás
Alkalmazás
Alkalmazás
Alkalmazás
Alkalmazás

Most sikeresen létrehozott egy kockaérzékelőt! Gratulálunk! Ez a próba és hiba út hosszú utat jelentett számomra, hogy létrehozzam ezt az érzékelőt, ezért az a célom, hogy segítsek mindenkinek, aki kockaérzékelőt szeretne létrehozni.

Mutattam néhány példát az általunk készített projektre, amely ezt az érzékelőt használta. Az első képen lapátkerékkel minden alkalommal helyesen helyeztük el az érzékelő kockáját. A második kép a projektünk végterméke volt, és az alap forogni fog attól függően, hogy milyen kocka volt, a harmadik kép pedig egy kijelző doboz, amelyet úgy terveztem és építettem, hogy ezeket az érzékelőket megjelenítsem.

Ennek az érzékelőnek a lehetősége végtelen, ha jól meggondolja magát. Remélem, hogy ezt az oktatóanyagot élvezetesnek és tanulságosnak találja, és remélem, hogy megpróbálja elkészíteni magának.

Isten áldjon!

Ajánlott: