Mündəricat:

İnfraqırmızı zar sensoru: 5 addım
İnfraqırmızı zar sensoru: 5 addım

Video: İnfraqırmızı zar sensoru: 5 addım

Video: İnfraqırmızı zar sensoru: 5 addım
Video: Микроволновый датчик присутствия с сенсором освещения - обзор, работа в Tuya Smart и Home Assistant 2024, Iyul
Anonim
İnfraqırmızı Zar Sensoru
İnfraqırmızı Zar Sensoru
İnfraqırmızı zar sensoru
İnfraqırmızı zar sensoru

Adım Calvin və sizə infraqırmızı zar sensoru necə edəcəyinizi və necə işlədiyini izah edəcəyəm.

Hal -hazırda Taylor Universitetinin Kompüter Mühəndisliyi fakültəsində oxuyuram və komandamdan mənə 1in kvadratına sığa biləcək hər hansı bir obyekti sıralayacaq bir mexanizm hazırlamağımı istədilər. Asan marşrutu seçib sadə bir rəng sensoru istifadə edərək m & m çeşidləməyi seçə bilərdik, ancaq yuxarıda və kənara çıxmağa və göstərilən rəqəmə görə zərləri sıralamağa qərar verdik. Zərin üzünü oxumaq üçün bir bələdçi tapmağa çalışdığım saysız -hesabsız saatlardan sonra bu linkə daxil oldum:

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

Ancaq bu link mənə zarın üzünü necə oxumaq fikrindən daha çox şey vermədi, buna görə də verilən fikri istifadə edərək Arduino ilə əlaqələndirilə bilən bir sensor qurmaq və inkişaf etdirmək üçün yoluma davam etdim. asanlıqla və zarın üzünü mümkün qədər dəqiq oxuya bilər, beləliklə bizə bu infraqırmızı zar sensoru verir.

Təchizat

İndi tədarükə keçək:

Sizə lazım olacaq:

1 x Arduino Uno

5 x IR Alıcıları

5 x IR yayıcı

www.sparkfun.com/products/241

5 x 270 ohm rezistorlar

5 x 10k ohm rezistorlar

1 x 74HC595N çipi

müxtəlif kişi başlıqları

1 x Prototip lövhəsi (xüsusi bir freze taxtası almırsınızsa)

Addım 1: Bunun necə işlədiyini anlayın

Necə Çalışdığını Anlamaq
Necə Çalışdığını Anlamaq
Necə Çalışdığını Anlamaq
Necə Çalışdığını Anlamaq

Bu sensor, zarların üzlərini oxumaq üçün 5 boru yerindən istifadə edir. Bu boru yerlərində zarın üzündən çıxmaq üçün İnfraqırmızı işığı istifadə edir və nəzarətçiyə ağ və ya qara olduğunu bildirir.

Niyə o zaman yalnız 5 boru yeri olduğunu düşünürsünüz? Zarları səmərəli oxumaq üçün 9 -a ehtiyacınız olmayacaqmı?

Zərrin simmetriyasına görə, zar üzərində 5 xüsusi yerdən istifadə etmək, oriyentasiyasından asılı olmayaraq zardakı fərqli ədədlər arasındakı fərqi söyləmək üçün kifayət edə bilər (şəkil 1). Bu, zər sensorunu daha səmərəli edir, çünki yalnız ehtiyac duyduğu şeyi axtarır və əlavə heç nə yoxdur.

Emitent, bu 5 boru yerinin hər birindəki sensordakı qəbuledicinin tam altına girir, sonra sensör İQ işığını yayır və sonra alıcı zarın üzünə sıçrayan İK işığının miqdarını oxuyur. (şəkil 3) Alınan dəyər göstərilən kalibrləmə nömrələrindən daha böyükdürsə, sensor o nöqtəni nöqtə olaraq görəcək, əks halda ağ boşluqdur. (şəkil 2)

Addım 2: Dizayn və Planlaşdırma

Dizayn və Planlaşdırma
Dizayn və Planlaşdırma
Dizayn və Planlaşdırma
Dizayn və Planlaşdırma
Dizayn və Planlaşdırma
Dizayn və Planlaşdırma
Dizayn və Planlaşdırma
Dizayn və Planlaşdırma

Bir zar sensoru qurmağın ilk addımı sxemləri yaratmaqdır, bu inkişafın ən çətin və ya ən asan addımı ola bilər. Əvvəlcə Autodesk tərəfindən EAGLE adlı bir proqrama ehtiyacınız var, bu sxemləri yaratmaq üçün istifadə etdiyim proqram idi.

2 fərqli sxem daxil etdim, bir sxemdə sensorun daha dəqiq olmasını təmin etmək üçün bir keçid qeyd çipi var, digəri isə vərəqə çipi olmayan biri olsa da, bu sxem, verəcəyim kodla işləməyəcək. sonradan öz başına bir şey inkişaf etdirmək məcburiyyətində qalacaqsan.

Vəziyyət reyestri ilə hazırladığım sensor üçün lövhə planımı da daxil etdim.

Lövhənin dizaynına başlamaq üçün 5 İQ Alıcısı və 5 İQ Vericisi var, qəbuledicilərə 10 k müqavimət, emitentlərə isə 270 ohm müqavimət lazımdır, buna görə də bu elementlərin hər biri üçün aşağıdakılardan istifadə edirsiniz:

VCC (5V) -> Rezistor -> Analog Oxu Pin -> IR qəbuledicisi -> GND

VCC (5V) -> Rezistor -> IR yayıcısı -> GND

Analog ox pin, başqa bir qol olaraq rezistorla IR Alıcısı arasında çıxır və Arduino üzərindəki analoq pininə gedir. Emitentin birbaşa alıcının altına düşdüyünə əmin olmalısınız, ilk dəfə etdiyimdə bu səhvi etdim və çox pis nəticələr aldım, buna görə də Alıcının üstündə getdiyinə əmin olun.

Xüsusi lövhəmdə, digər emitentlərdən İQ işığının axmasının qarşısını almaq üçün hər bir emitent və alıcı cütünə enerji vermək üçün növbə qeydindən istifadə edirəm. Bu mənə hər bir boru yerindən daha dəqiq bir oxu verir, əgər keçid qeydindən istifadə etməməyi seçsəniz, yenə də sizin üçün işləyəcək, sadəcə bir az daha dəqiq ola bilər. Vəziyyət qeydində 3-4 və 7-8 sancaqlarını bir-birinə qoşa bilərsiniz, çünki başlıq kimi olması tamamilə lazım deyil. Gələcəkdə inkişaf etdirmək istəyəcəyim üçün onları başlıq olaraq buraxdım və başlıqlara atlayıcılar qoydum.

Şematik dizayn etdikdən sonra, sxeminizin bir lövhə düzeni hazırlamalısınız. Bu hissə çox çətin ola bilər, çünki yollarınızın üst -üstə düşmədiyinə və yollarınızın və deşiklərinizin maşınınızın xüsusiyyətlərinə uyğun olduğundan əmin olmalısınız. Əlavə etdiyim lövhə düzeni, lövhəmi dəyirman etmək üçün istifadə etdiyim maşın üçün xüsusi ölçülərə malik idi. Lövhəni bacardığım qədər kiçik etmək üçün bir neçə saat sərf edirəm. Bu lövhədə hələ də təkmilləşdirmə üçün yer var idi, amma mənim üçün işlədi, onu olduğu kimi tərk etdim. Bütün Ground elementlərini birləşdirən mis GND ilə bir versiya və əlavə edilməmiş bir versiya var.

Şematikinizi bir çörək taxtası və ya prototip lövhəsi üzərində qurmaq üçün də istifadə edə bilərsiniz, çünki bunları əldə etmək çox daha asandır və xüsusi bir taxtaya ehtiyacınız olmadığı üçün daha ucuz bir seçimdir.

Lövhə dizaynına sahib olduqdan sonra növbəti mərhələyə keçə bilərsiniz!

Addım 3: İdarə Heyətinin qurulması

Şuranın qurulması
Şuranın qurulması
Şuranın qurulması
Şuranın qurulması
Şuranın qurulması
Şuranın qurulması

Bu hissə, lövhənin necə yaradılacağından asılıdır. Sensorun konseptin işlədiyini və nə qədər dəqiq olduğunu yoxlamaq üçün prototip lövhəsində yaratdım, buna görə növbəni qeyd etmədən sxemə əməl etdim və lövhəni yaratdım. Xətlərin üst -üstə düşməməsi və təsadüfən bağlanmamalı xətləri lehimləməməsi üçün hər şeyi düzəltdiyinizə əmin olmalısınız. Bir prototip lövhəsində bunu edərkən çox diqqətli olmalısınız, buna görə tələsməyin və tələsməyin. Açıq tellərdən də ehtiyatlı olmalısınız, çünki onlar hərəkət edə bilər və sistemdə şort yarada bilər.

Lövhəni üyütməyi seçsəniz, bu proses daha asandır. Lövhə faylını xüsusi dəyirman parametrləri ilə dəyirmançıya göndərin. Bunu özünüz edirsinizsə, çıxarmadan əvvəl bütün misin kifayət qədər dərinlikdə düzgün şəkildə öğütüldüyünə əmin olun. İlk hazırladığım lövhə, misin kifayət qədər dərin frezelenməməsi və başqa bir freze almalı oldum.

Hər şeyin istədiyiniz sxemdə lövhəyə lehimli olduğundan əmin olun və vaxtınızı ayırın və PCB -də lehimləmə varsa, lövhənin doğru tərəfində lehim etdiyinizə əmin olun.

IR qəbulediciləri və yayıcıları taxarkən, emitentin tam olaraq alıcının altında olduğundan əmin olun. Lazımi yerə çatmaq üçün İR komponentlərinin ayaqlarını əyməklə oynamalı olacaqsınız. Borunun lazım olduğu yerdə olub olmadığını yoxlamaq üçün əlinizdə bir zar saxlayın.

Hər şeyi lehimlədikdən və lövhəyə əlavə etdikdən sonra sensoru proqramlaşdırmağa başladınız.

Addım 4: Şuranın proqramlaşdırılması

Şuranın proqramlaşdırılması
Şuranın proqramlaşdırılması
Şuranın proqramlaşdırılması
Şuranın proqramlaşdırılması

Sensoru mümkün qədər dəqiqləşdirməyin, lövhəni proqramlaşdırmağın çətin hissəsi budur. Xoşbəxtlikdən, proqramlaşdırmanı daha da asanlaşdırmaq üçün yeni yaradılmış sensörünüzlə birlikdə istifadə etməyiniz üçün bir kitabxana yaratdım, ancaq bu sensorun yerləşdiyi işıqlandırmadan asılı olaraq sensoru kalibr etməli olacaqsınız.

Başlamaq üçün bu sensorla əlaqə qurmaq üçün bir Arduino olmalıdır. 5 Analog pin və 3 rəqəmsal pin istifadə edir.

Öz analog və rəqəmsal pinlərinizi seçmək üçün hazırladığım kitabxanadan istifadə etmək qabiliyyətiniz var, amma bunu sensorla əlaqə qurmaq üçün etdiyim sancaqlar vasitəsilə izah edəcəyəm. Pin nömrələri və rəngli qutularla əlaqəli şəkli, hansı pinin haraya tıxandığını asanlıqla izah etmək üçün qeyd etdim.

Sensorda 1-5 Qırmızı sancaqlar A0-A4-ə keçir, buna görə Qırmızı 1 A0-a gedir və s. 1-8 Ağ sancaqlar bir az daha çox izahat tələb edir.

Ağ 1 - Məlumat pimi, burada Arduino məlumatları qeyd qeydinə göndərir. Bu pini Arduino üzərindəki rəqəmsal pin 3 -ə qoydum

Ağ 2 - Q0, bu vəziyyətdə köhnəlmiş, ümumiyyətlə genişləndirmək qərarına gəldiyim halda daxil etdim

Ağ 3 & 4 - Cütlənəcək, ya bu ikisini birlikdə lehimləyə bilərsiniz, ya da mənim kimi bir tullanan istifadə edə bilərsiniz.

Ağ 5 - mandal pimi, tırtılların açılıb sönməsini görmək üçün son addım olan çox vacib bir pin. Bu pimi Arduino'da 12 -ci pin olaraq təyin etdim

Ağ 6 - Saat Pin, Bu, Arduinodan növbənin qeydinə qədər olan saatı təmin edir. Bunu rəqəmsal pin 13 -ə qoydum.

Ağ 7 və 8 - Cütlənəcək, ya bu ikisini bir -birinə lehimləyə bilərsiniz, ya da mənim kimi bir tullanan istifadə edə bilərsiniz.

Ağ qutunun yanında yer və VCC pinləri var. Bu sensoru gücləndirmək üçün Arduino və ya başqa bir mənbədən 5v təmin etməlisiniz.

PIP Yer nömrələrini kodda tapa bilərsiniz.

İndi bağlamalı olduğunuz üçün onu kalibr etməliyik. Məqsədim, sizin üçün kalibr edə biləcək bir skript yaratmaq idi, amma bunu etmək üçün vaxtım bitdi. Kalibrləmə zamanı sensorun idarə olunan işıqlandırma mühitində olduğundan əmin olmaq lazımdır ki, o, xaricdən çıxarılan işığa həssasdır. Qara nöqtə və ağ nöqtə ilə hər bir boru yerindən bir dəyər almalı və fərqi ortalamalısınız. Kalibr etmək üçün zarın yalnız iki tərəfini istifadə etdim, 1 -ci tərəfi, 6 -cı tərəfi və 6 -cı tərəfi 90 dərəcə döndərdim. Hər bir boru yeri üçün ağ və qara üçün bir rəqəm əldə etdikdən sonra onları ortalamalı və iki ədədin ortasını tapmalısınız. Beləliklə, məsələn, ilk borudan 200 ağ, birinci boru yerinin qaranlıq dəyəri üçün 300 alsaydım, kalibrləmə sayı 250 olardı. Bütün 5 boru yeri üçün bunu etdikdən sonra sensoru düzgün kalibrlənmiş, sonra dice. ReadFace () istifadə edə bilərsiniz; zarın indiki üzünü əldə etmək.

Addım 5: Tətbiq

Tətbiq
Tətbiq
Tətbiq
Tətbiq
Tətbiq
Tətbiq

İndi uğurla bir zar sensoru yaratdınız! Təbrik edirik! Bu sensoru yaratmağım üçün uzun bir sınaq və səhv yolu oldu, buna görə də zar sensoru yaratmaq istəyən hər kəsə kömək etmək mənim məqsədimdir.

Bu sensordan istifadə edərək qurduğumuz layihəyə bir neçə nümunə daxil etdim. İlk şəkil, hər dəfə sensorun üstündəki zarları düzgün yerləşdirmək üçün bir təkər istifadə etdik. İkinci şəkil, layihəmizin son məhsulu idi və baza zarın nə olduğuna görə dönəcək, üçüncüsü isə bu sensorları ekrana çıxarmaq üçün hazırladığım bir ekran qutusudur.

Ağlınıza gətirsəniz, bu sensorun imkanı sonsuzdur. Ümid edirəm ki, bu dərsliyi əyləncəli və təhsilli tapacaqsınız və ümid edirəm özünüz üçün bir dərs hazırlamağa çalışacaqsınız.

Allah qorusun!

Tövsiyə: