Spisu treści:

Czujnik kości na podczerwień: 5 kroków
Czujnik kości na podczerwień: 5 kroków

Wideo: Czujnik kości na podczerwień: 5 kroków

Wideo: Czujnik kości na podczerwień: 5 kroków
Wideo: #policja ❤️ #kia #randka 2024, Lipiec
Anonim
Czujnik kości na podczerwień
Czujnik kości na podczerwień
Czujnik kości na podczerwień
Czujnik kości na podczerwień

Nazywam się Calvin i pokażę ci, jak zrobić czujnik do kości na podczerwień i wyjaśnię, jak to działa.

Obecnie jestem studentem Taylor University studiującym inżynierię komputerową wraz z moim zespołem i zostałem poproszony o zaprojektowanie i zbudowanie mechanizmu, który może posortować dowolny obiekt, który zmieści się w jednym kwadracie. Mogliśmy wybrać łatwą drogę i zdecydować się na sortowanie m&m's za pomocą prostego czujnika koloru, ale zdecydowaliśmy się pójść dalej i posortować kości według pokazanej liczby. Po niezliczonych godzinach szukania przewodnika, jak odczytać oblicze kości, natknąłem się na ten link tutaj:

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

Ten link nie dał mi jednak dużo więcej niż pomysł na odczytanie lica kości, więc korzystając z dostarczonego pomysłu, poszedłem dalej budować i rozwijać czujnik, który można połączyć z Arduino z łatwością i może jak najdokładniej odczytać twarz kości, dając nam ten czujnik na podczerwień.

Kieszonkowe dzieci

Teraz przejdźmy do dostaw:

Będziesz potrzebować:

1 x Arduino Uno

5 odbiorników podczerwieni

5 x emitery IR

www.sparkfun.com/products/241

Rezystory 5 x 270 omów

Rezystory 5 x 10 kΩ

1x74HC595N chip

różne męskie nagłówki

1 x płyta prototypowa (jeśli nie otrzymujesz niestandardowej płyty frezowanej)

Krok 1: Zrozumienie, jak to działa

Zrozumienie, jak to działa
Zrozumienie, jak to działa
Zrozumienie, jak to działa
Zrozumienie, jak to działa

Ten czujnik wykorzystuje 5 lokalizacji pipsów do odczytywania ścian kostek. Wykorzystuje światło podczerwone, aby odbijać się od kostek w tych miejscach i mówi kontrolerowi, czy jest biały, czy czarny.

Być może zastanawiasz się, dlaczego w takim razie tylko 5 lokalizacji pipsów? Czy nie potrzebowałbyś wszystkich 9, aby skutecznie czytać kości?

Cóż, ze względu na symetrię kości, użycie 5 określonych miejsc na kostce może wystarczyć, aby odróżnić różne liczby na kostce niezależnie od orientacji (rysunek 1). To sprawia, że czujnik kostek jest bardziej wydajny, ponieważ szuka tylko dokładnie tego, czego potrzebuje, i niczego dodatkowego.

Emiter wchodzi dokładnie pod odbiornikiem na czujniku w każdym z tych 5 punktów pipsowych, czujnik następnie emituje światło podczerwone, a następnie odbiornik odczytuje ilość światła podczerwonego, które odbija się od powierzchni kostki. (rysunek 3) Jeśli otrzymana wartość jest większa niż podane wartości kalibracyjne, czujnik zobaczy tę plamkę jako kropkę, jeśli nie, to jest to biała przestrzeń. (zdjęcie 2)

Krok 2: Projektowanie i planowanie

Projektowanie i planowanie
Projektowanie i planowanie
Projektowanie i planowanie
Projektowanie i planowanie
Projektowanie i planowanie
Projektowanie i planowanie
Projektowanie i planowanie
Projektowanie i planowanie

Pierwszym krokiem do zbudowania czujnika kości jest stworzenie schematów, może to być najtrudniejszy lub najłatwiejszy etap rozwoju. Najpierw potrzebujesz oprogramowania o nazwie EAGLE firmy Autodesk, to było oprogramowanie, którego użyłem do tworzenia schematów.

Dołączyłem 2 różne rodzaje schematów, jeden schemat ma układ rejestru przesuwnego, aby pomóc w zwiększeniu dokładności czujnika, a drugi jest bez układu rejestru przesuwnego, jednak ten schemat nie będzie działał z kodem, który dostarczę później, więc będziesz musiał coś opracować samodzielnie.

Dołączyłem również układ płytki dla czujnika, który zaprojektowałem z rejestrem przesuwnym.

Aby rozpocząć projektowanie płytki, masz 5 odbiorników IR i 5 nadajników IR, odbiorniki wymagają rezystora 10k, a emitery wymagają rezystora 270 omów, więc dla każdego z tych elementów wybierasz:

VCC (5V) -> Rezystor -> Pin odczytu analogowego -> Odbiornik IR -> GND

VCC (5V) -> Rezystor -> Nadajnik IR -> GND

Analogowy pin odczytu wychodzi pomiędzy rezystorem a odbiornikiem podczerwieni jako kolejna gałąź i przechodzi do pinu analogowego w Arduino. Musisz również upewnić się, że emiter wchodzi bezpośrednio pod odbiornik, popełniłem ten błąd za pierwszym razem i uzyskałem bardzo złe wyniki, więc upewnij się, że odbiornik idzie na wierzch.

Na mojej niestandardowej płycie używam rejestru przesuwnego, aby zapewnić zasilanie każdej z par nadajnika i odbiornika pojedynczo, aby uniknąć wycieku światła podczerwonego z innych nadajników. Daje mi to jeszcze dokładniejszy odczyt z każdej z lokalizacji pipsów, jeśli zdecydujesz się nie używać rejestru przesuwnego, będzie on nadal działał dla ciebie, może po prostu być nieco mniej dokładny. W rejestrze przesuwnym możesz połączyć ze sobą piny 3-4 i 7-8, ponieważ nie jest całkowicie konieczne, aby były one nagłówkami. Zostawiłem je jako nagłówki i umieściłem zworki na nagłówkach na wypadek, gdybym chciał rozwijać w przyszłości.

Po zaprojektowaniu schematu, musisz stworzyć układ planszy swojego schematu. Ta część może być bardzo trudna, ponieważ musisz upewnić się, że ścieżki się nie nakładają i upewnić się, że ścieżki i otwory spełniają specyfikacje twojej maszyny. Układ płyty, który dołączyłem, miał określone rozmiary dla maszyny, której użyłem do frezowania mojej płyty. Spędzam kilka godzin, układając deskę tak, aby była jak najmniejsza. Wciąż było miejsce na ulepszenia na tej płycie, ale zadziałało to dla mnie, więc zostawiłem ją tak, jak jest. Dostępna jest wersja z miedzianym GND łączącym wszystkie elementy uziemienia oraz wersja bez dołączonych.

Możesz również użyć swojego schematu, aby zbudować go na płytce prototypowej lub płytce prototypowej, ponieważ są one znacznie łatwiejsze do zdobycia i są tańszą opcją, ponieważ nie musisz mieć frezowanej płytki niestandardowej.

Gdy już masz projekt tablicy, możesz przejść do następnego kroku!

Krok 3: Budowanie tablicy

Budowanie zarządu
Budowanie zarządu
Budowanie zarządu
Budowanie zarządu
Budowanie zarządu
Budowanie zarządu

Ta część jest całkowicie zależna od tego, jak chcesz utworzyć tablicę. Stworzyłem czujnik na płytce prototypowej, aby sprawdzić, czy koncepcja działa i jaka jest dokładna, więc postępowałem zgodnie ze schematem bez rejestru przesuwnego i stworzyłem płytkę. Musisz zadbać o to, aby wszystko ułożyć tak, aby linie się nie nakładały i aby przypadkowo nie przylutować linii, które nie powinny być połączone. Robiąc to na płytce prototypowej, musisz być bardzo ostrożny, więc nie spiesz się i nie spiesz się. Należy również uważać na otwarte przewody, ponieważ mogą się poruszać i powodować zwarcia w systemie.

Jeśli zdecydujesz się na frezowanie płyty, ten proces jest prostszy. Wyślij plik płyty do młynarza z określonymi ustawieniami młynarza. Jeśli robisz to sam, zrób zanim go wyciągniesz, upewnij się, że cała miedź jest odpowiednio głęboko wyfrezowana. Pierwsza płyta jaką zrobiłem, miedź nie była wystarczająco głęboko wyfrezowana i musiałem dostać kolejną.

Upewnij się, że wszystko jest przylutowane do płyty w pożądanym układzie i nie spiesz się, a jeśli lutujesz na płytce drukowanej, upewnij się, że lutujesz po właściwej stronie płyty.

Podczas zakładania odbiorników i nadajników IR upewnij się, że nadajnik znajduje się dokładnie pod odbiornikiem. Będziesz musiał bawić się zginaniem nóg komponentów IR, aby umieścić je we właściwym miejscu. Trzymaj też pod ręką kostkę, aby sprawdzić, czy lokalizacje pipsów są tam, gdzie powinny.

Kiedy już wszystko przylutujesz i dodasz na płytkę, przystępujesz do programowania czujnika.

Krok 4: Programowanie tablicy

Programowanie Zarządu
Programowanie Zarządu
Programowanie Zarządu
Programowanie Zarządu

Jest to trudna część, aby czujnik był jak najdokładniejszy, programując płytkę. Na szczęście stworzyłem bibliotekę, której możesz używać z nowo utworzonym czujnikiem, aby znacznie ułatwić jego programowanie, jednak będziesz musiał skalibrować czujnik w zależności od oświetlenia, w którym ten czujnik się znajduje.

Aby rozpocząć, musisz mieć Arduino do współpracy z tym czujnikiem. Wykorzystuje 5 pinów analogowych i 3 piny cyfrowe.

Masz możliwość korzystania z biblioteki, którą stworzyłem, aby wybrać własne piny analogowe i cyfrowe, ale wyjaśnię to za pomocą pinów, które zrobiłem, aby połączyć się z czujnikiem. Zaznaczyłem obraz połączony z numerami pinów i kolorowymi polami wokół zestawu pinów, aby łatwo wyjaśnić, który pin jest w którym miejscu.

Na czujniku piny 1-5 czerwone przechodzą do A0-A4, więc czerwony 1 idzie do A0 i tak dalej. Piny 1-8 Białe wymagają nieco więcej wyjaśnień.

Biały 1 - Data pin, tutaj Arduino wysyła dane do rejestru przesuwnego. Ustawiłem ten pin na cyfrowy pin 3 na Arduino

Biały 2 - Q0, w tym przypadku przestarzały, uwzględniłem go na wypadek, gdybym w ogóle zdecydował się na rozbudowę

Białe 3 i 4 - będą sparowane, możesz albo zlutować te dwa razem, albo użyć zworki tak jak ja.

Biały 5 - kołek zatrzaskowy, bardzo ważny kołek, który jest ostatnim krokiem w procesie, aby zobaczyć, jak czopki włączają się i wyłączają. Ustawiłem ten pin na pin 12 na Arduino

Biały 6 - Pin zegara, zapewnia zegar z Arduino do rejestru przesuwnego. Ustawiłem to na cyfrowy pin 13.

Białe 7 i 8 - będą sparowane, możesz albo zlutować te dwa razem, albo użyć zworki tak jak ja.

Tuż obok białego pola masz piny uziemienia i VCC. Aby zasilić ten czujnik, musisz dostarczyć 5V z Arduino lub innego źródła.

Numery lokalizacji PIP można znaleźć w kodzie.

Teraz, gdy musisz go podłączyć, musimy go skalibrować. Moim celem było stworzenie skryptu, który mógłby go dla ciebie skalibrować, ale zabrakło mi na to czasu. Podczas kalibracji musisz upewnić się, że czujnik znajduje się w kontrolowanym środowisku oświetleniowym, wyczuj jego wrażliwość na zewnętrzne światło wnioskowane. Musisz uzyskać wartość z każdej lokalizacji pipsa z czarną i białą kropką i uśrednić różnicę. Do kalibracji użyłem tylko dwóch stron kostki, użyłem strony 1, strony 6 i strony 6 obróconej o 90 stopni. Gdy już masz liczbę dla białych i czarnych dla każdej lokalizacji pipsa, musisz je uśrednić i znaleźć środek z dwóch liczb. Na przykład, jeśli otrzymam 200 dla bieli z pierwszej lokalizacji pipsa i 300 dla ciemnej wartości pierwszej lokalizacji pipsa, to numer kalibracji wyniesie 250. Gdy zrobisz to dla wszystkich 5 lokalizacji pipsów, twój czujnik jest prawidłowo skalibrowany, możesz użyć dice. ReadFace(); aby uzyskać aktualną twarz kości.

Krok 5: Aplikacja

Podanie
Podanie
Podanie
Podanie
Podanie
Podanie

Udało Ci się stworzyć czujnik do kości! Gratulacje! To była długa droga prób i błędów, aby stworzyć ten czujnik, więc moim celem jest pomóc każdemu, kto chce stworzyć czujnik do kości.

Zamieściłem kilka przykładów projektu, który budujemy, który wykorzystywał ten czujnik. Na pierwszym zdjęciu używaliśmy koła łopatkowego, aby za każdym razem prawidłowo umieszczać kostkę nad czujnikiem. Drugie zdjęcie było końcowym produktem naszego projektu, a podstawa będzie się obracać w zależności od tego, jaka była twarz kostki, a trzecie zdjęcie to pudełko, które zaprojektowałem i zbudowałem, aby umieścić te czujniki na wyświetlaczu.

Możliwości tego czujnika są nieograniczone, jeśli się nad tym zastanowisz. Mam nadzieję, że ten samouczek będzie dla Ciebie przyjemny i pouczający, i mam nadzieję, że spróbujesz go stworzyć dla siebie.

Boże błogosław!

Zalecana: