Mundarija:
- Ta'minotlar
- 1 -qadam: Bu qanday ishlashini tushunish
- 2 -qadam: Loyihalash va rejalashtirish
- 3 -qadam: Kengashni qurish
- 4 -qadam: Kengashni dasturlash
- 5 -qadam: ariza
Video: Infraqizil zarlar sensori: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Mening ismim Kalvin va men sizga infraqizil zar sensori yasashni ko'rsataman va uning qanday ishlashini tushuntirib beraman.
Men hozirda Teylor universiteti talabasiman, kompyuter muhandisligi fakultetida o'qiyman va menga 1 dyuymli maydonga sig'adigan har qanday ob'ektni saralash mexanizmini ishlab chiqish va qurish taklif qilingan. Biz oson yo'lni tanlab, oddiy rang sensori yordamida m & m ni saralashni tanlagan bo'lardik, lekin biz yuqorida va tashqariga chiqib, ko'rsatilgan raqam bo'yicha zarlarni saralashga qaror qildik. Zarlarning yuzini o'qish bo'yicha ko'rsatma topishga ko'p sonli soatlardan so'ng, men bu havolaga kirdim:
makezine.com/2009/09/19/dice-reader-versio…
Biroq, bu havola menga zarning yuzini qanday o'qish kerakligi haqida ko'proq ma'lumot bermadi, shuning uchun men taqdim etilgan g'oyadan foydalanib, Arduino bilan bog'lanishi mumkin bo'lgan sensorni ishlab chiqish va rivojlantirishga bordim. osonlik bilan va zarning yuzini iloji boricha aniq o'qishi mumkin, shuning uchun bizga bu infraqizil zar sensori beradi.
Ta'minotlar
Endi materiallar haqida:
Sizga kerak bo'ladi:
1 x Arduino Uno
5 x IQ qabul qiluvchilar
5 x IQ emitentlari
www.sparkfun.com/products/241
5 x 270 ohmli rezistorlar
5 x 10k ohmli rezistorlar
1 x 74HC595N chip
har xil erkak sarlavhalari
1 x prototip taxtasi (agar siz maxsus frezelangan taxtani olmasangiz)
1 -qadam: Bu qanday ishlashini tushunish
Bu sensor zarlarning yuzlarini o'qish uchun 5 ta quvur joyidan foydalanadi. U infraqizil nurni ishlatib, bu joylardagi zarlarning yuzidan sakrab chiqadi va nazoratchiga oq yoki qora ekanligini aytadi.
Sizni qiziqtirishi mumkin, nega faqat 5 ta quvurli joy? Zarlarni samarali o'qish uchun sizga 9 ta kerak emasmi?
Xo'sh, zarlarning simmetriyasi tufayli, zarning 5 ta aniq joyidan foydalanib, yo'nalishidan qat'i nazar, zarning turli sonlari orasidagi farqni aytish kifoya (1 -rasm). Bu zar sensorini yanada samaraliroq qiladi, chunki u faqat kerakli narsani qidiradi va hech narsa kerak emas.
Emitent sensori qabul qilgichning tagiga, bu 5 ta quvurli joyning har bir qismiga tushadi, keyin sensor IQ nurini chiqaradi, so'ngra qabul qiluvchi zarning yuziga tushadigan IQ nurini o'qiydi. (3 -rasm) Agar olingan qiymat belgilangan kalibrlash raqamlaridan kattaroq bo'lsa, sensor bu nuqtani nuqta sifatida ko'radi, agar bo'lmasa, bu bo'sh joy. (2 -rasm)
2 -qadam: Loyihalash va rejalashtirish
Zar sensori qurishning birinchi bosqichi sxemalarni yaratishdir, bu rivojlanishning eng qiyin yoki eng oson bosqichi bo'lishi mumkin. Sizga birinchi navbatda Autodesk tomonidan EAGLE deb nomlangan dastur kerak, bu men sxemalarni tuzishda ishlatgan dastur edi.
Men 2 xil sxemani kiritdim, bitta sxemada sensorni aniqroq qilish uchun siljish registri chipi, ikkinchisida esa registr chipi bo'lmagan, bu sxema men ko'rsatadigan kod bilan ishlamaydi. keyinchalik, shuning uchun siz o'zingiz biror narsani ishlab chiqishingizga to'g'ri keladi.
Men, shuningdek, smenali registr bilan ishlab chiqilgan sensorlar uchun taxtaning tartibini o'z ichiga olganman.
Kengashni loyihalashni boshlash uchun sizda 5 ta IR qabul qilgich va 5 ta IQ chiqaruvchi bor, qabul qiluvchilarga 10k rezistor, emitentlarga esa 270 ohmli rezistor kerak, shuning uchun bu elementlarning har biri uchun siz:
VCC (5V) -> Qarshilik -> Analog o'qish pin -> IQ qabul qilgich -> GND
VCC (5V) -> Qarshilik -> IQ emitent -> GND
Analog o'qish pimi qarshilik va IQ qabul qilgich o'rtasida boshqa tarmoq sifatida chiqadi va Arduino analog piniga o'tadi. Bundan tashqari, emitent to'g'ridan -to'g'ri qabul qilgich ostiga tushishiga ishonch hosil qilishingiz kerak, men buni birinchi marta qilganimda xato qildim va juda yomon natijalarga erishdim, shuning uchun Qabul qilgich tepada joylashganligiga ishonch hosil qiling.
Maxsus taxtada men boshqa emitentlardan IQ nurlari oqmasligi uchun har bir emitent va qabul qiluvchi juftini birma -bir quvvat bilan ta'minlash uchun smenali registrni ishlataman. Bu menga har bir quvur joyidan aniqroq o'qish imkonini beradi, agar siz smenali registrni ishlatmaslikni tanlagan bo'lsangiz, u hali ham siz uchun ishlaydi, biroz aniqroq bo'lishi mumkin. Shift registrida siz 3-4 va 7-8 pinlarni bir-biriga ulashingiz mumkin, chunki ularni sarlavha sifatida joylashtirish shart emas. Men kelajakda rivojlanishni xohlasam, ularni sarlavha sifatida qoldirdim va sarlavhalarga o'tish joylarini qo'ydim.
Sxemani tuzganingizdan so'ng, siz sxemaning taxtasi tartibini tuzishingiz kerak. Bu qism juda qiyin bo'lishi mumkin, chunki siz yo'llaringiz bir -biriga to'g'ri kelmasligiga va yo'llaringiz va teshiklaringiz mashinangizning texnik xususiyatlariga mos kelishiga ishonch hosil qilishingiz kerak. Men biriktirgan taxtaning tartibi men taxtani maydalash uchun ishlatadigan mashinaning o'ziga xos o'lchamlariga ega edi. Men taxtani iloji boricha kichik qilib qo'yish uchun bir necha soat sarflayman. Bu taxtada hali ham yaxshilanish uchun joy bor edi, lekin u men uchun ishladi, shuning uchun men uni avvalgidek qoldirdim. Barcha Ground elementlarini bog'laydigan mis GND versiyasi va biriktirilmagan versiyasi mavjud.
Bundan tashqari, siz sxemani taxtada yoki prototip taxtasida qurish uchun ishlatishingiz mumkin, chunki ularni olish ancha oson va arzonroq variant, chunki sizga maxsus taxtani maydalash shart emas.
Agar siz taxta dizaynini olsangiz, keyingi bosqichga o'tishingiz mumkin!
3 -qadam: Kengashni qurish
Bu qism butunlay taxtani qanday yaratishni xohlashingizga bog'liq. Sensorni prototip taxtasida kontseptsiya ishlayaptimi yoki yo'qligini tekshirish uchun yaratdim, shuning uchun men smenani smenali registrsiz kuzatdim va men taxtani yaratdim. Chiziqlar bir -birining ustiga chiqmasligi va tasodifan ulanmasligi kerak bo'lgan chiziqlarni lehimlamaslik uchun hamma narsani joylashtirishga ishonch hosil qilishingiz kerak. Buni prototip taxtasida bajarayotganda, juda ehtiyot bo'lish kerak, shuning uchun shoshmang. Bundan tashqari, ochiq simlardan ehtiyot bo'lish kerak, chunki ular harakatlanishi va tizimda qisqa tutashuvga olib kelishi mumkin.
Agar siz taxtani frezalashni tanlagan bo'lsangiz, bu jarayon osonroq bo'ladi. Tegishli tegirmon sozlamalari bilan taxta faylini tegirmonga yuboring. Agar buni o'zingiz qilsangiz, uni olishdan oldin qiling, misning hammasi etarlicha chuqur frezalanganligiga ishonch hosil qiling, men qilgan birinchi taxta, mis etarlicha chuqur tegirmon emas edi va men boshqasini tegirmon qilishim kerak edi.
Har bir narsa taxtaga kerakli tartibda lehimlanganligiga ishonch hosil qiling va shoshilmang, agar PCBda lehim bo'lsa, taxtaning o'ng tomonida lehimlanganligiga ishonch hosil qiling.
IQ qabul qiluvchilar va emitentlarni qo'yayotganda, emitent qabul qilgich ostida ekanligiga ishonch hosil qiling. IQ komponentlarini oyoqlarini bukish bilan o'ynash kerak, ularni to'g'ri joyga qo'yish kerak. Quvurlarni qo'lingizda ushlab turing, shunda quvurlar joylari kerak bo'ladimi yoki yo'qmi.
Hammasi lehimlangan va taxtaga qo'shilgandan so'ng, siz sensorni dasturlashni boshlaysiz.
4 -qadam: Kengashni dasturlash
Bu sensorni iloji boricha aniqroq qilish, taxtani dasturlashning qiyin qismi. Yaxshiyamki, men siz kutubxonani yaratdim, siz uni dasturlash jarayonini osonlashtiradigan yangi sensori bilan ishlatishingiz mumkin, lekin siz bu sensori joylashgan yorug'likka qarab sensorni sozlashingiz kerak bo'ladi.
Ishga tushirish uchun sizda Arduino bo'lishi kerak, bu sensor bilan ishlash. U 5 ta analog pin va 3 ta raqamli pinni ishlatadi.
Siz analog va raqamli pinlarni tanlash uchun men tayyorlagan kutubxonadan foydalanish imkoniga egasiz, lekin men buni sensor bilan ishlash uchun qilgan pinlarim yordamida tushuntiraman. Men pinlar va rangli qutilar bilan bog'langan tasvirni qaysi pin qaerga ulanishini osongina tushuntirish uchun belgiladim.
Sensorda 1-5 qizil pin A0-A4 ga o'tadi, shuning uchun qizil 1 A0 ga o'tadi va hokazo. Pim 1-8 Oq biroz ko'proq tushuntirishni talab qiladi.
Oq 1 - Ma'lumot pinasi, bu erda Arduino ma'lumotlarni o'zgarish registriga yuboradi. Men bu pinni Arduino -dagi raqamli 3 -pinga o'rnatdim
Oq 2 - Q0, bu holatda eskirgan, agar men umuman kengaytirishga qaror qilgan bo'lsam, uni qo'shdim
Oq 3 va 4 - juft bo'ladi, siz bu ikkalasini bir -biriga lehimlashingiz yoki men kabi jumperdan foydalanishingiz mumkin.
Oq 5 -mandalli pin, bu pipsning yoqilishi va o'chishini ko'rishning oxirgi bosqichi bo'lgan juda muhim pin. Men bu pinni Arduino -dagi 12 -pinga o'rnatdim
Oq 6 - soat pinasi, bu soatni Arduino -dan smenali registrgacha beradi. Men buni raqamli pin 13 ga o'rnatdim.
Oq 7 va 8 - juft bo'ladi, siz ikkalasini bir -biriga lehimlashingiz yoki men kabi jumperdan foydalanishingiz mumkin.
Oq qutining yonida sizda Ground va VCC pinlari bor. Sensorni quvvatlantirish uchun siz Arduino -dan 5V yoki boshqa manbadan ta'minlashingiz kerak.
PIP joylashuv raqamlarini kodda topish mumkin.
Endi siz uni ulashingiz kerak, biz uni kalibrlashimiz kerak. Maqsadim, siz uchun sozlanishi mumkin bo'lgan skriptni yaratish edi, lekin menda vaqt tugab qoldi. Kalibrlashda siz sensori boshqariladigan yorug'lik muhitida uning tashqi nurga sezgirligini sezishingiz kerak. Siz har bir quvur joyidan qora nuqta va oq nuqta bilan qiymat olishingiz va farqni o'rtacha hisoblashingiz kerak. Men kalibrlash uchun zarning faqat ikki tomonini ishlatardim, men 1, 6 va 6 tomonlarini 90 gradusga burdim. Har bir quvur joyi uchun oq va qora rangga ega bo'lgandan so'ng, siz ularni o'rtacha hisoblab, ikkita raqamning o'rtasini topishingiz kerak. Misol uchun, agar men birinchi quvur joyidan oq rang uchun 200, va birinchi quvur joyining qorong'i qiymati uchun 300 olsam, kalibrlash raqami 250 bo'ladi. Agar siz 5 ta quvurli joy uchun buni qilsangiz, sensori to'g'ri sozlang, keyin dice. ReadFace () dan foydalanishingiz mumkin; zarlarning hozirgi yuzini olish uchun.
5 -qadam: ariza
Siz hozir zar sensorini muvaffaqiyatli yaratdingiz! Tabriklaymiz! Bu sensorni yaratish men uchun uzoq sinov va xato bo'ldi, shuning uchun u erda zar sensori yaratmoqchi bo'lganlarga yordam berish mening maqsadim.
Men ushbu sensordan foydalangan holda biz qurgan loyihaning bir nechta misollarini qo'shdim. Birinchi rasmda biz har safar sensorlar ustki qismidagi zarlarni to'g'ri joylashtirish uchun belkurak g'ildiragidan foydalanganmiz. Ikkinchi rasm bizning loyihamizning yakuniy mahsuloti edi, va tayanch zarning yuziga qarab aylanadi, uchinchi rasm - bu sensorlarni namoyish qilish uchun men ishlab chiqqan va qurgan ekran qutisi.
Agar siz aql bovar qilmasangiz, bu sensorning imkoniyatlari cheksizdir. Umid qilamanki, sizga ushbu darslik ma'qul va ma'rifiy bo'ladi va umid qilamanki, siz o'zingiz uchun darslik yaratishga harakat qilasiz.
Xudo panohida saqlasin!
Tavsiya:
Arduino Blue LED zarlar: 8 qadam
Arduino Blue LED Dice: Ishonch uchun nick_rivera-ga rahmat, bu stol o'yinlarida ishlatilishi mumkin bo'lgan raqamlar tasodifiy ko'rsatiladigan Arduino zarlari
Buzzerli LED zarlar: 6 qadam
"Buzzerli LED zar": Bu ko'rsatma sizga tugma bosilganda zerikarli diodli zar yasashni o'rgatadi. Asl manba: https://www.instructables.com/id/Easy-Arduino-LED-Dice
UTSOURCE bilan elektron zarlar: 15 qadam
UTSOURCE bilan elektron zar: Elektron zar - bu elektron komponentalarni birlashtirgan holda o'ynaydigan elektron loyiha. Zar, har qanday qulay sharoitda, foydalanuvchi o'yin o'ynaganda, juda yaxshi ishlaydi. Chiroyli sxematik va rang -barang diodli zarlardan foydalanish
Raspberry Pi - TMP007 infraqizil termopil sensori Python darsligi: 4 qadam
Raspberry Pi - TMP007 infraqizil termopil sensori Python qo'llanmasi: TMP007 - bu infraqizil termopil sensori, u ob'ektning haroratini u bilan aloqa qilmasdan o'lchaydi. Sensor maydonidagi ob'ekt chiqaradigan infraqizil energiya sensorga o'rnatilgan termopil tomonidan so'riladi. Termopil
Ikkilik zarlar: 4 qadam
Binary Dice: Instituto Tecnológico de Costa RicaIngeniería en Computación SemestreSede Central, CartagoFundamentos de Organización de ComputadoresProyecto con Arduino: Binary DiceProfesor: Esteban Arias MéndezEstudiantes: Sebe88: Sebeo8: 14