Mündəricat:

Arduino ilə Gündoğumu Zəngli Saat: 9 addım (şəkillərlə)
Arduino ilə Gündoğumu Zəngli Saat: 9 addım (şəkillərlə)

Video: Arduino ilə Gündoğumu Zəngli Saat: 9 addım (şəkillərlə)

Video: Arduino ilə Gündoğumu Zəngli Saat: 9 addım (şəkillərlə)
Video: Уроки Ардуино #0 - что такое Arduino, куда подключаются датчики и как питать Ардуино 2024, Dekabr
Anonim
Image
Image
Arduino ilə Günəşin çıxması üçün zəngli saat
Arduino ilə Günəşin çıxması üçün zəngli saat

Qış kədərli ola bilər. Oyanırsan, qaranlıqdır və yataqdan qalxmalısan. Eşitmək istədiyiniz son şey zəngli saatınızın gur səsidir. Mən Londonda yaşayıram və səhər oyanmaqda çətinlik çəkirəm. Təbii işığa oyanmağı da darıxıram.

Bu dərslikdə Günəşin çıxması üçün bir Zəngli Saat quracağıq. Oyanmaq istədiyiniz saatı və dəqiqəni təyin edə biləcəyiniz digər saatlar kimi bir zəngli saatdır, ancaq daha təbii bir şəkildə oyanmaq üçün günəşin doğması kimi bir müddət ərzində yataq otağınızı işıqlandırmaq üçün işığın əlavə faydası ilə.

Sunrise lampaları bazarda mövcuddur, lakin onlar bahalı ola bilər (Amazon-da sürətli axtarış 100 funt sterlinqlik məhsulları qaytarır), kövrək və olduqca kliniki görünüşlüdür. Bir şeyi daha ucuz və daha gözəl etmək niyyətindəyik.

Növbəti addımda bütün hissələr siyahıya alınacaq. Kodu Github repo gold-sunrise-saatımdan yükləyə bilərsiniz. Dava üçün bütün sxemləri və qurma fayllarını bu dərslikdən yükləmək mümkündür.

Gedək:)

Problemlərlə qarşılaşsanız və ya salam demək istəsəniz, mənə [email protected] xəttini yazın və ya məni Instagramda @celinechappert izləyin.

Addım 1: Komponentlərin toplanması

Komponentlərin toplanması
Komponentlərin toplanması

Başlamaq üçün günəşin doğuşunu simulyasiya etmək üçün giriş saatımız və çıxışımız kimi ultra parlaq bir LED istifadə edəcəyik.

Bir dövrə qurmaq üçün bizə lazım olacaq:

- saat. RTC DS3231 (5 funt) istifadə edəcəyik

- işığın parlaqlığını idarə etmək üçün MOSFET (£ 9)

- super parlaq LED (1 funt)

- LED -i gücləndirmək üçün 9V batareya (3 funt)

- asan montaj üçün çörək taxtası (3 funt)

- Arduino Uno (20 funt)

- bir düymə (isteğe bağlı - yalnız demo məqsədləri üçün)

Ümumi qiymət = 41 AZN

Evinizdə bir Arduino, bir çörək taxtası və 9V batareyanız varsa, bütün layihə sizə 15 funt sterlinqdən ucuz başa gələcək.

Akrilik qutu hazırlamaq üçün sizə lazım olacaq:

- 0.3 mm Perspex akril təbəqədən 2 təbəqə, günəş və qutu üçün rəng başına 1 təbəqə.

- lazer kəsiciyə giriş.

Məktəbimin atelyesinə daxil olduğum üçün şanslıyam, buna görə də bu xərclər çox hissəsi üçün ödənildi. Əlavə bir akril təbəqə aldım, çünki dizaynım günəş üçün narıncı bir rəng tələb edir, bu da 14 funt sterlinqə başa gəlir (Perspex bahalıdır!).

Addım 2: Dövrün montajı

Image
Image
Dövrə yığılması
Dövrə yığılması
Dövrə yığılması
Dövrə yığılması

Dövrəmin qara və ağ eskizinə (qarışıqlıq üçün üzr istəyirəm) və Arduinonun (Fritzing ilə işlənmiş) diaqramına müraciət edə bilərsiniz.

Əslində nəyə bağlı olanların bir dağılımı budur:

Saat:

(-) GND-yə qoşulur

NC 'Bağlanmadı' deməkdir və heç bir şeyə qoşulmur

C/SCL, Arduino üzərindəki A5 pininə bağlanır

D/SDA, Arduino üzərindəki A4 pininə qoşulur

(+) Arduino 5V -ə qoşulur

MOSFET

Gate pin, PWM olduğu üçün Arduino Uno'da ~ 9 pininə gedir

Drenaj pimi LED -in mənfi tərəfinə gedir

Mənbə pin Arduino üzərindəki GND -ə gedir

LED

Mənfi tərəfi MOSFET üzərindəki drenaj pininə bağlıdır

Müsbət tərəfi çörək lövhəsində 5V -a bağlıdır

9V batareya

Çörək lövhəsində (+)-(+), (-) ilə eyni.

Arduino Uno

Çörək taxtasında 5V-dən (+) və GND-ni (-) -ə bağlamağı unutmayın. Çörək taxtasının bir tərəfində (-) digər tərəfdə (-) bağlamağı unutmayın.

Bundan sonra DS3231 kitabxanasından istifadə edərək saatımızı quracağıq.

Addım 3: Saatı Qurmaq və Qurmaq

Saatın Qurulması və Qurulması
Saatın Qurulması və Qurulması
Saatın Qurulması və Qurulması
Saatın Qurulması və Qurulması
Saatın Qurulması və Qurulması
Saatın Qurulması və Qurulması

Bu saatı işlətmək üçün istifadə etdiyim kitabxananı Rinky-Dink Electronics-də tapa bilərsiniz (yuxarıdakı ekran görüntüləri). Linki vurun və DS3231 səhifəsində olduğunuzdan əmin olun. Zip faylını yükləyin, qeyd edin və Arduino /libraries qovluğuna yerləşdirin.

İndi saatı düzgün təyin etmək üçün Arduino'yu açın və Nümunələr/DS3231/Arduino/DS3231_Serial_Easy bölməsinə keçin.

Üç kod sətrini (ekran görüntüsündə narıncı rənglə göstərilmişdir) şərhdən çıxarın, hərbi formatdakı bu üç kod sətrində doğru vaxtı və vaxtı yoxlayın.

Yüklə düyməsini basın.

İndi bu üç sətri şərh edə və yenidən Yüklə düyməsini basa bilərsiniz.

Serial Monitorunuzu açın və vaxtınızın düzgün olub olmadığını yoxlayın.

Saatımız quruldu! Dövrümüz var, indi kodlamağa başlayaq. Yenə də repo Github -da mövcuddur.

Addım 4: Kodlaşdırma

Image
Image

Kodu yükləyin və DS3231 kitabxanasının düzgün qurulduğundan əmin olun.

Əvvəlcə parametrlərimizi təyin etmək istəyirik.

fadeTime, işığın 0 -dan maksimum parlaqlığa qədər neçə dəqiqə ərzində yox olacağıdır. setHour/setMin, oyanmaq istədiyimiz vaxta uyğundur (qeyd: bu hərbi formatı oxuyur, buna görə 24 saat vaxt lazımdır). Arduino -da pin 9 -u Çıxış olaraq təyin edirik.

Quraşdırmada (), SerialBegin nömrəsinin (burada 96000 baud) Serial Monitor nömrəsinə uyğun olduğundan əmin olun.

Döngədə (), if ifadəsi oyanmağın vaxtı olub olmadığını yoxlayır. Kod bir döngə üzərində işləyir və hər dəfə saatın qaytardığı saat və dəqiqə dəyərlərinin setHour/setMin dəyişənlərimizə uyğun olub olmadığını yoxlayır. Əgər belədirsə, if ifadəsi active () funksiyasını qaytarır.

Active () funksiyası iki hissədən ibarətdir. Əvvəlcə işığı tədricən söndürməyə başlayırıq: gecikmə funksiyaları LED -in fadeTime -in 'erkən' mərhələlərində çox tez parlamasının qarşısını almaq üçündür. Sonra for loop, işığın fadeTime -dan asılı olaraq daha parlaq və daha parlaq olması lazım olan sürəti idarə edir. Nəhayət, analogWrite () funksiyasında LED -ə 0 dəyər verərək işığı söndürürük.

Yuxarıdakı video, prototip akril qutulardan birində işləyən dövrəni göstərir.

Addım 5: Karton Prototipi (isteğe bağlı)

Karton Prototipi (isteğe bağlı)
Karton Prototipi (isteğe bağlı)
Karton Prototipi (isteğe bağlı)
Karton Prototipi (isteğe bağlı)

Bu layihədən əvvəl heç vaxt lazer kəsici ilə işləməmişəm. Bir karton prototip hazırlamaq, obyektin real məkanda nə qədər yaxşı göründüyünü (ölçüsü, görünüşü və s.) Sınayarkən maşınla tanış olmağıma imkan verdi. Yükləmək üçün dava planları.

Tövsiyə: