Mündəricat:

Avtomatik zibil qutusu: 7 addım
Avtomatik zibil qutusu: 7 addım

Video: Avtomatik zibil qutusu: 7 addım

Video: Avtomatik zibil qutusu: 7 addım
Video: ЮЛЯ ФИНЕСС: Как я вышла с 8 этажа! Групповое изнасилование под мефедроном, психиатрическая больница 2024, Iyun
Anonim
Avtomatik zibil qutusu
Avtomatik zibil qutusu
Avtomatik zibil qutusu
Avtomatik zibil qutusu

Bu, avtomatik açılan zibil qutusunu aşkar edən bir hərəkətdir. Wi -Fi bağlantısı var və dolu olduqda mətn mesajı göndərir. Bu, Massachusetts Universitetində ECE -297DP üçün hazırlanmışdır - Amherst. Bu kursun əsas məqsədi həmyaşıdlarımın arxasında olduğumu hiss etdiyim üçün praktiki elektronika ilə təcrübə qazanmaq və mühazirələrimdən öyrəndiklərimi təcrübəli işlərlə birləşdirməkdən faydalanmaq idi.

Lazım olan materiallar:

- 1 dəfə Arduino Uno

- 1x ESP-8266

- 2 dəfə Microservos

- 2x Ultrasonik HC-SR04 Hərəkət Detektorları

- 1x RBG LED

- 3x 330 Ω rezistorlar

- 1x 3.3 gərginlik tənzimləyicisi

- 2x 100 uF elektrolitik kondansatör

- 1x 0.1 uF Seramik Kondansatör

- 1x Corona Əlavə 12 paketlik Uzun Boylu Şüşə Pivə Konteyneri

Addım 1: Orijinal Planlar və Tərəqqi

Orijinal Planlar və Tərəqqi
Orijinal Planlar və Tərəqqi
Orijinal Planlar və Tərəqqi
Orijinal Planlar və Tərəqqi
Orijinal Planlar və Tərəqqi
Orijinal Planlar və Tərəqqi
Orijinal Planlar və Tərəqqi
Orijinal Planlar və Tərəqqi

Semestrin əvvəlində etmək istədiklərim üçün heç bir planım yox idi. Ağlıma heç bir fikir gəlmədən bu sinfə daxil oldum. Başlamaq üçün hobbi elektronika dünyasında yavaş -yavaş gəzməyim üçün asan bir yol hazırladım.

Addımlar:

1. Arduinonun əsaslarını öyrənin

- Bu, başlanğıc dəsti ilə birlikdə gələn SparkFun ixtiraçı təlimatına əməl etməklə edildi. Arduino ilə rezistorların, LED -lərin, piezo elementlərin (səs), algılamanın və ümumi kodlaşdırmanın əsaslarını öyrənməyimə imkan verdi.

2. Online DIY Arduino layihələrinə baxın

- Bu yaradıcı və faydalı elektronika etmək üçün bir az ilham tapmaq idi

3. Etmək istədiklərimi tapmaq üçün ilhamdan istifadə edin

- Tənbəl insan olduğum üçün və növbəti semestrdə otağımdakı dostlarımı çox yaxşı təmizləmədikləri üçün avtomatik zibil qutusu düzəltmək qərarına gəldim.

Bunun üçün orijinal plan həmyaşıd müəllimlərimdən biri, başqa bir kompüter mühəndisliyi tələbəsi Bryan Tam ilə danışmaqla gəldi. Dizaynlarımı tənqid edərək onunla yüksək səslə müzakirə etmək, dizayn prosesini başa düşməyimə kömək etdi. Bir problemi həll etmək və nə qədər qeyri -mümkün olsa da bir həll düşünmək və sonra bu layihənin necə ediləcəyini müzakirə etmək. Mühəndislikdə dizayn etmək üçün həvəs və yaradıcılığın hər şeydən önəmli olduğunu mənə öyrətdi.

Başlanğıcda, zibil qutusunun nə vaxt dolu olduğunu aşkar edərək avtomatik olaraq çantanı düzəltmək və sonra çantanı bağlamaq və ya bağlamaq istəyirdim. Bunu dizayn etməyin mümkün yollarını araşdırdıqdan sonra bunun əlimdən uzaq olduğunu anladım. Beləliklə, hədəfi bir qədər dəyişdim - dolu olanda mətn göndərə biləcək bir zibil qutusu düzəltmək.

Semestrin sonuna yaxınlaşaraq, mətni göndərmək üçün WiFi komponentini inteqrasiya etməkdə çətinlik çəkirdim və narahat idim ki, həyəcan siqnalı olaraq digər alternativləri düşündüm. Zibil çıxarılana qədər dayanmayacaq əsəbi bir səs çıxarmaq üçün piezo elementlərinə baxdım. Ayrıca, zibil səviyyəsini göstərmək üçün fərqli rənglər hazırlamaq üçün LED -lərdən istifadə etdim.

Bunu yaratmaq üçün iki sensora ehtiyac olardı: biri əlin üstündə olduğunu açmaq üçün kənardan hiss etmək üçün, digəri isə zibil səviyyəsini aşkar etmək üçün içəridən. Əvvəlcə yalnız WiFi modulu mətni həyəcan siqnalı olaraq göndərərdi, lakin semestrin sonuna yaxın bunu dəstəkləmək üçün zibil qutusunun üstünə işıq əlavə etmək qərarına gəldim.

Yapışdığım və sona qədər keçdiyim layihə dizaynı budur.

Addım 2: Araşdırma

Bu sınağa hazırlaşmaq üçün bir çox şeyi araşdırdım.

Əvvəlcə Arduino kodlaşdırmağın ümumi yolunu araşdırıram. SparkFun ixtiraçı dəsti ilə məşq etmək çox kömək etdi; sancaqları Arduinoya bağlamağı və çörək taxtasını necə istifadə etməyi öyrədirəm.

Daha sonra dönmək üçün qapağı necə idarə etməli olduğumu bildiyim üçün xüsusilə servo istifadə etdim. Birincisi, vaxtlarını idarə etmə praktikası və sonra istifadəni şərtlərlə birləşdirməklə aktivləşdirildikdə idarə edə bilərəm.

Sonra hansı sensorlardan istifadə edəcəyimi araşdırdım. İki növ var idi: ultrasəs sensoru (HC-SR04) və infraqırmızı sensor (PIR Motion Sensor). Ultrasonik sensor, geri çəkilən bir nəbz göndərir və HC-SR04 tərəfindən oxunur, aradakı məsafəni və sıçrayış yerini təyin etmək üçün bu aralıqdakı vaxtı hesablayır. Daxili sensor üçün ultrasəs sensorundan istifadə etmək qərarına gəldim, çünki məsafəni aşkar etmək daha faydalı olardı, xüsusən də zibil çox radiasiya yaymır. Sonra həm daxili, həm də xarici sensor üçün HC-SR04 istifadə etmənin daha asan olacağına qərar verdim.

ESP-8266 haqqında araşdırma apararaq wifi-nin necə işlədiyini öyrəndim. Giriş nöqtələri və stansiya nöqtələri haqqında öyrəndim. Mümkün bir seçim olaraq veb serverləri də öyrəndim. Sonda. ESP, Arduino üçün tamamilə ayrı olaraq proqramlaşdırıla bilən öz lövhəsidir. Beləliklə, bütün layihəni yalnız istifadə edərək etmək mümkündür. ESP -ni proqramlaşdırmaq üçün onu Arduino -ya bağladım və Arduino -dakı GND -ni Sıfırlamaq üçün bağladım və onu ESP ilə USB kabeli arasında kommunikator rolunu oynadım.

Sonra öyrəndim ki, ESP -ni bir veb saytdan məlumat əldə etmək və ya istəmək istəyən bir müştəri kimi hərəkət etdirə bilərəm. Bunu bilə -bilə IFTTT.com veb saytından istifadə edərək webhooks -u bütünlüklə SMS -lərlə əlaqələndirmək üçün bir applet yaratdım ki, bir hadisə tetiklendiğinde (müştəri müəyyən bir URL -dən məlumat istədikdə bir mətn göndərər).

Araşdırdığım başqa bir şey gərginlik tənzimləyiciləri, diodlar və rezistorlar idi. LED -in Arduino -ya qoşulması üçün rezistorlar lazım idi. Diodlar və gərginlik tənzimləyiciləri ESP-8266-nı gücləndirmək üçün mümkün olan həllər idi, çünki Vcc üçün 3.3V tələb edir. Gərginlik tənzimləyicisi ən asan həll idi. Arduino'da 3.3V variant olsa da, daha çox öyrənmək üçün bir fürsət olaraq istifadə etdim.

Bunun ardınca, işləyən bir gərginlik tənzimləyicisi üçün lazım olan kondansatörlər haqqında öyrəndim. Kondansatörler, çox "sıçrayış" və ya "hıçqırıq" vəziyyətində gərginliyi düzəltməyə kömək edir. 2 elektrolitik və 1 keramika kondansatörü, gərginlik tənzimləyiciləri üçün adi quruluşdur.

Araşdırmaların çoxu mənim kodumu düzəltməyə çalışırdı, çünki onu düzəldərkən çoxlu səhvlər oldu.

Addım 3: Qarşılaşdığınız Çətinliklər və Onları Necə Aşmışam

Semestr əvvəlindəki çətinliklərin çoxu sadəcə təcrübəsiz olduğum faktdır. Daha əvvəl heç nə düşünməmişdim, buna görə də çox iddialı və ya çox sadə olmaqdan qorxurdum. Bu səbəbdən bir fikir seçməyi uzun müddət təxirə saldım.

Bunun öhdəsindən gəlmək üçün təcrübəsi olan bir yaşlı ilə danışmaq mütləq kömək etdi. Bryan fikirlərimi tənqid edə və hansının doğru istiqamətdə, hansının yanlış istiqamətdə getdiyini mənə deyə bildi. Bacarıq səviyyəmi, əldə etdiyim mənbələri və vaxt idarəçiliyini nəzərə almalı olduğumu başa düşməyimə kömək etdi.

Vaxt idarəetməsi də mənim üçün çox çətin idi. Zaman idarəçiliyinə gəldikdə, bir zəifliyimin olduğunu artıq bilirəm, xüsusən də 21 kreditlə həddən artıq yükləndiyim üçün bu semestr inanılmaz dərəcədə dolu idi.

Layihəm üzərində çalışmaq üçün qurban verməli olduğum vaxtlar var idi, amma bunun öhdəsindən gəlmək üçün həftə sonları ən azı bir saatlıq araşdırmanı layihə üzərində işləmək üçün və hər həftə sonları M5 -ə getmək üçün işləmək üçün həsr etdim.

Başqa bir çətinlik hissələrin çoxunu bilməməyim idi. Necə işlədiklərini və hansı telləri haraya bağladıqlarını bilmirdim. Bunun öhdəsindən gəlmək üçün məlumat cədvəllərini onlayn axtarmağın dəyərli varlığını öyrəndim ki, bu da lazımi gərginlik girişinin nə olduğunu və VCC, GND və girişlərin harada bağlanmalı olduğunu anlamağa kömək etdi. Xüsusilə servoları hərəkət detektorlarına bağlamağa çalışdığımı və servoların ümumiyyətlə işləmədiyi üçün əsəbiləşdiyimi xatırlayıram.

Bu, onlarda bir şeyin səhv olduğunu ümid edərək fərqli servoları sınamağa səbəb oldu. Ancaq yenə də işləmədilər, bu ya mənim kabellərim, ya da kodum olmalı idi. Daha sonra oxuduğum kimi servoları 4 AA batareyaya bağlayaraq xarici bir enerji mənbəyindən istifadə etməyə çalışdım, bəzən kompüterdəki USB onları gücləndirmək üçün kifayət qədər gərginlik verməyə bilər. Nəhayət, məlumat cədvəlinə baxmağa qərar verdim və bunun səbəbinin bütün vaxt ərzində naqillərimin düzgün işləməməsi olduğunu başa düşdüm.

Mənim ən çətin maneəm WiFi komponentini Arduinoya inteqrasiya etmək idi. İnternetdə bir çox dərslik axtarırdım və proqramlaşdırmanı başa düşmək mənim üçün çətin idi. Ancaq müəyyən bir veb sayt mənə kömək etdi və məni IFTTT ilə tanış etdi. Qələbə əldə etdiyimə inanırdım, amma lövhələrin ayrı olduğunu başa düşmədim və lövhələri fərqli kodlarla proqramlaşdırmağa başladım. Onları necə bağlayacağımı öyrənmək üçün bir həftə dayandım, amma internet kömək etmədi. Bu maneəni aşmaq üçün nəhayət, sadəcə olaraq doktor Mallochdan kömək istədim. Mən çox qürurlu bir insanam və hər şeyi tək etmək istəyirəm. Daha əvvəl mənə kömək etmişdi, amma mənim problemim yox, layihəmə yaxınlaşmağın mümkün yollarının müzakirəsi idi. Sadəcə doktor Mallochdan soruşmaq ESP-8266-nı birləşdirməyi dərhal həll etdi.

Bu layihə məni öz yerinə qoymağa kömək etdi və işləməli olduğumu və insanlardan daha çox kömək istəməli olduğumu başa düşməyə kömək etdi, çünki mühəndislik tək bir layihə deyil, komanda dinamikasıdır.

Addım 4: Öyrənmə prosesini asanlaşdırmaq üçün M5 -dəki dəyişikliklər

Öyrənmə prosesini asanlaşdırmaq üçün M5 -dəki dəyişikliklər
Öyrənmə prosesini asanlaşdırmaq üçün M5 -dəki dəyişikliklər

M5 bu semestr mənim üçün fantastik bir vasitə oldu. Artıq yeni kəşfiyyatçılar və təcrübəli qazilər üçün çoxlu qaynaqlar var.

Düşünürəm ki, M5 daha geniş mövzularda daha çox seminar keçirərək və daha çox elan etməklə öyrənmə prosesini asanlaşdırmağa kömək edə bilər. M5 -də baş verən atelyelər haqqında çox eşitməmişdim və bildiyim tək şey lehim emalatxanaları idi.

"Necə dizayn etməli" və ya "3D Yazıcıdan necə istifadə ediləcək" kimi digər seminarlar da faydalı olardı. Bəlkə də bu atelyelər var, amma heç vaxt eşitməmişəm.

Addım 5: Sonda əldə etdiyim işlər

Avtomatik zibil qutusu hazırlaya bildim

Ancaq daha da əhəmiyyətlisi, vaxt idarəçiliyinin əhəmiyyətini, dövrələr qurmağı və elektron hissələrdən istifadə etməyi öyrəndim. Arduino, dalğalar və algılama, rezistorlar, çörək lövhələri, WiFi, ESP-8266, veb serverlər, gərginlik tənzimləyiciləri, diodlar və s. Haqqında öyrəndim. Elektronika və dövrə haqqında praktiki səviyyədə anlayış əldə etmək.

Bəzən son dərəcə sinir bozucu olsa da, bunu etmək çox əyləncəli və mükafatlandırıcı olduğu üçün bu layihəni yaratmağımda da yaradıcı bir yanğın baş verdi. Nəhayət, bir hissənin necə işlədiyini başa düşmək və ya istədiyim kimi işləmək üçün kodu əldə etmək, etməli olduğum tweaks və dəyişikliklər saatına dəyərdi. Bunu etmək istədiyimi başa düşməyimə kömək etdi. Semestrin əvvəlində Elektrik və Kompüter Mühəndisliyi mövzusunda tərəddüd edirdim, çünki təcrübəm yox idi, bəyəndim ya yox. Kimsə sınamadıqca bir idmanı, video oyununu və ya hobbi sevdiyini necə bilmədiyi kimi.

Ən böyük uğurum Elektrik və Kompüter Mühəndisliyinə davam etmək istədiyimi əminliklə söyləmək idi.

Addım 6: Başqası Necə Mənim Ayaqlarımı İzləyə bilər

Kimsə semestrin əvvəlində yaşadığım eyni vəziyyətdədirsə, "Orijinal Planlar və İnkişaf" da qeyd etdiyim addımları atmağı məsləhət görürəm. Bu, həqiqətən, nə etmək istədiyimi və nə edə biləcəyimi yavaş -yavaş ayırd etməyimə kömək etdi.

Xüsusilə, bu layihə üçün aşağıda necə olacağını təsvir edəcəyəm.

Addım 1: IFTTT.com saytına daxil olun, telefon nömrənizi qeyd edin və sonra bir applet yaradın. Webhooks olmaq üçün "if" və SMS olmaq üçün "that" seçin. Yaradıldıqdan sonra, axtarış qutusunda Maker Webhooks axtarın və sənədləri vurun. Məlumatı öz hadisə adınızla doldurun və URL -ni kopyalayın. Aşağıda olan ESP-8266 kodu üçün istifadə edəcəyiniz URL budur.

Addım 1: ESP-8266-nı belə bağlayın:

RXD -> RX

TXD -> TX

VCC -> VCC

CH_PD VCC

GPIO0 -> GND

GND -> GND

Arduino üzərindəki GND -ni söndürmək üçün üzərindəki Sıfırlamaya qoşun.

Addım 2: Aşağıdakı kodu daxil edin və ESP-8266-ya yükləyin (əvvəlcə esp-8266 lövhəsini IDE-də yükləyin). Sonra ESP-8266-nı ayırın.

Addım 3: Arduino -da 8 və 9 -cu pinlərə servo qoşun

Addım 4: İlk HC-SR04 sensorunu 10 və 13-cü pinlərə qoşun (sırasıyla trig və echo üçün). Sonra ikincisini 11 və 12 -ci pinlərə bağlayın (yenə sırasıyla trig və echo üçün).

Addım 5: RGB LEDini 4 (qırmızı), 5 (yaşıl) və 6 (mavi) pinlərə bağlayın.

Addım 6: GPIO2 -ni pin 2 -ə qoşun

Addım 7: Aşağıdakı kodu daxil edin (ECE_297_DP) və Arduinoya yükləyin.

Addım 8: Köhnə təkrar emal edilmiş bir pivə qutusu və qapaq üçün bir karton parçası tapın. İsti yapışqan popsicle servolara yapışır və sonra servoları hər tərəfdən botun içərisinə isti yapışdırır. Qapağı popsicle çubuqlarına yapışdırın. İki sensoru qapağa yapışdırın (içindəki zibili aşkar edən (sancaqlar 11 və 12), kənarı isə hərəkəti aşkar edən (sancaqlar 10 və 13). Sonra LED -i qapağın üstünə yapışdırın. Çirkin naqilləri gizlətmək üçün qutunun arxasındakı naqilləri bantlayın.

Addım 7: Bundan sonra nə edəcəm

Layihəyə davam edərkən LED -ə əlavə olaraq səsli həyəcan siqnalı tətbiq etmək üçün bəzi fikirlərim var idi. İşləmək üçün ESP-8266 aldığım üçün işləməməyə qərar verdim. Ancaq irəliyə gedsəydim, birini əlavə edib zibili çıxarmaq üçün insanları qıcıqlandırmaq maraqlı olardı.

Həm də daha qəti bir layihə üzərində işləmək istərdim, çünki bu, əsasən konsept layihəsinin sübutudur. İrəli hərəkət etsəydim, əsl zibil qutusu və ya daha ağır plastik qab istifadə edərdim. Əlavə olaraq, çox qarışıq olduğu üçün məftillərlə daha səmərəli olmaq istərdim.

İnteqrasiya edə bilməməkdən narahat olduğum zaman araşdırdığım ESP-8266-ya alternativ bir Bluetooth modulu istifadə etmək idi. Dostum Sean, əvvəllər öz layihəsindən məlumatlarını telefonuna göndərməli olduğu bir layihə etdiyini və Bluetooth modulundan istifadə etdiyini söylədi. Nisbətən asan olduğunu söylədi. Bununla birlikdə, ciddi bir detektiv işi etmədən əvvəl WiFi modulunu işə saldım. Düşünürəm ki, bu yolun məni hara aparacağını görmək maraqlı olardı.

Bunun xaricində, "avtomatik zibil torbası sarma" hissəsini tətbiq etmək istərdim, amma bu, indiki kimi hələ də liqamdan çıxıb. Bəlkə də gələcəkdə bu layihəyə yenidən baxacağam və daha səmərəli olmağa çalışacağam.

Tövsiyə: