Mundarija:

Arduino bilan quyosh chiqadigan budilnik: 9 qadam (rasmlar bilan)
Arduino bilan quyosh chiqadigan budilnik: 9 qadam (rasmlar bilan)

Video: Arduino bilan quyosh chiqadigan budilnik: 9 qadam (rasmlar bilan)

Video: Arduino bilan quyosh chiqadigan budilnik: 9 qadam (rasmlar bilan)
Video: Как управлять приводом с помощью Arduino - Robojax 2024, Noyabr
Anonim
Image
Image
Arduino bilan quyosh chiqadigan budilnik
Arduino bilan quyosh chiqadigan budilnik

Qish achinarli bo'lishi mumkin. Siz uyg'onasiz, qorong'i va siz yotoqdan turishingiz kerak. Siz eshitmoqchi bo'lgan oxirgi narsa - budilnikning baland ovozi. Men Londonda yashayman va ertalab uyg'onishim qiyin. Bundan tashqari, men tabiiy yorug'likda uyg'onishni sog'indim.

Ushbu qo'llanmada biz quyosh chiqadigan budilnikni qurmoqchimiz. Bu uyg'otuvchi soat kabi, siz uyg'onishni xohlagan soat va daqiqani belgilashingiz mumkin, lekin yorug'likdan foydalanib, yotoqxonangizni ma'lum vaqt davomida quyosh chiqqandek yoritadi, bu sizni tabiiy ravishda uyg'otadi.

Sunrise lampalari bozorda mavjud, lekin ular qimmat bo'lishi mumkin (Amazonda tezkor qidiruv 100 funtlik mahsulotlarni qaytaradi), nozik va klinik ko'rinishga ega. Biz nimanidir ancha arzon va ancha chiroyli qilmoqchimiz.

Keyingi bosqichda barcha qismlar ro'yxatga olinadi. Kodni mening Github repo oltin-quyosh chiqish vaqtidan yuklab olish mumkin. Kassa uchun barcha sxemalar va tuzilish fayllarini ushbu qo'llanmada yuklab olish mumkin.

Qani ketdik:)

Agar siz muammolarga duch kelsangiz yoki salom aytishni istasangiz, menga [email protected] manzilini yozing yoki Instagramda @celinechappert -da meni kuzatib boring.

1 -qadam: Komponentlarni yig'ish

Komponentlarni yig'ish
Komponentlarni yig'ish

Boshlash uchun biz soatni kirish sifatida va ultra yorqin LEDni quyosh chiqishimizni taqlid qilish uchun ishlatamiz.

Devorni qurish uchun bizga kerak bo'ladi:

- soat. Biz RTC DS3231 (5 funt) dan foydalanmoqchimiz.

- yorug'lik yorqinligini boshqarish uchun MOSFET (£ 9)

- super yorqin LED (1 funt)

- LEDni quvvatlantirish uchun 9V batareya (3 funt)

- oson yig'ish uchun non paneli (3 funt)

- Arduino Uno (20 funt)

- tugma (ixtiyoriy - faqat demo uchun)

Umumiy narxi = 41 funt

Agar sizda uyda Arduino, non paneli va 9V batareyasi bo'lsa, butun loyiha sizga 15 funtdan kam turadi.

Akril korpusni tayyorlash uchun sizga kerak bo'ladi:

- 0,3 mm Perspex akril varaqlaridan 2 barg, quyosh va korpus uchun har bir rang uchun 1 varaq.

- lazerli kesgichga kirish.

Men o'z maktabim ustaxonasiga kirganimdan baxtiyorman, shuning uchun bu xarajatlar asosan qoplandi. Men qo'shimcha akril varag'ini sotib oldim, chunki mening dizaynim uchun quyosh uchun to'q sariq rang kerak edi, uning narxi 14 funt/varaq (Perspex qimmat!).

2 -qadam: O'chirish sxemasini yig'ish

Image
Image
Devrenni yig'ish
Devrenni yig'ish
Devrenni yig'ish
Devrenni yig'ish

Siz mening davramning qora va oq eskiziga (tartibsizlikni kechirasiz) va Arduino (Fritzing yordamida bajarilgan) sxemasiga murojaat qilishingiz mumkin.

Asosan, bu erda nima bilan bog'liqligini ajratish:

Soat:

(-) GND ga ulanadi

NC "Ulanmagan" degan ma'noni anglatadi va hech narsaga ulanmaydi

C/SCL Arduino A5 piniga ulanadi

D/SDA Arduino -dagi A4 piniga ulanadi

(+) Arduino 5V ga ulanadi

MOSFET

Gate pin Arduino Uno -da ~ 9 -pinga o'tadi, chunki bu PWM

Drenaj pinasi LEDning salbiy tomoniga o'tadi

Manba pin Arduino -dagi GND -ga o'tadi

LED

Salbiy tomon MOSFET drenaj piniga ulangan

Ijobiy tomoni non panelidagi 5V ga ulangan

9V batareya

Non panelida (+) dan (+), (-) bilan bir xil.

Arduino Uno

Non panelidagi 5V ni (+), GND ni (-) ga ulashni unutmang. Non taxtasining bir tomonidagi (-) boshqa tarafdagi (-) ga ulanishni unutmang.

Keyingi vaqtda biz DS3231 kutubxonasi yordamida soatimizni o'rnatamiz.

3 -qadam: soatni o'rnatish va sozlash

Soatni o'rnatish va sozlash
Soatni o'rnatish va sozlash
Soatni o'rnatish va sozlash
Soatni o'rnatish va sozlash
Soatni o'rnatish va sozlash
Soatni o'rnatish va sozlash

Men bu soatni ishlatish uchun foydalanadigan kutubxonani Rinky-Dink Electronics-da topish mumkin (yuqoridagi ekran tasvirlari). Havolani bosing va DS3231 sahifasida ekanligingizga ishonch hosil qiling. Zip faylini yuklab oling, saqlang va Arduino /libraries papkasiga joylashtiring.

Endi soatni to'g'ri belgilash uchun Arduino -ni oching va "Examples/DS3231/Arduino/DS3231_Serial_Easy" ga o'ting.

Kodning uchta satrini (skrinshotda to'q sariq rangda ko'rsatilgan) sharhlarsiz qoldiring, harbiy formatdagi ushbu uchta kod satrida to'g'ri vaqt va joyni tekshiring.

Yuklash -ni bosing.

Endi siz uchta satrga izoh qoldirishingiz va "Yuklash" tugmasini yana bosishingiz mumkin.

Seriya monitorini oching va vaqtingiz to'g'riligini tekshiring.

Bizning soatimiz o'rnatildi! Bizning davrimiz bor, endi kodlashni boshlaylik. Shunga qaramay, repo Github -da mavjud.

4 -qadam: kodlash

Image
Image

Kodni yuklab oling va DS3231 kutubxonasi to'g'ri o'rnatilganligiga ishonch hosil qiling.

Birinchidan, biz sozlamalarni aniqlaymiz.

fadeTime - bu yorug'lik qancha vaqtgacha 0 dan maksimal yorqinligiga bir necha daqiqada o'chadi. setHour/setMin biz uyg'onmoqchi bo'lgan vaqtga to'g'ri keladi (eslatma: bu harbiy formatni o'qiydi, shuning uchun 24 soat vaqt kerak). Shuningdek, biz Arduino -dagi 9 -pinni OUTPUT deb belgilaymiz.

Setup () da SerialBegin raqami (bu erda 96000 bod) Serial monitor raqamiga mos kelishiga ishonch hosil qiling.

Loop () da if ifodasi uyg'onish vaqti kelganligini tekshiradi. Kod tsikl ustida ishlaydi va har safar soat qaytarilgan soat va daqiqa qiymatlari bizning setHour/setMin o'zgaruvchilarimizga mos keladimi -yo'qligini tekshiradi. Agar shunday bo'lsa, if ifodasi faol () funktsiyasini qaytaradi.

Active () funktsiyasi ikki qismdan iborat. Birinchidan, biz asta -sekin nurni so'ndira boshlaymiz: kechiktirish funktsiyalari LEDni fadeTime -ning "erta" bosqichida juda tez yonib ketishiga yo'l qo'ymaslik uchun. So'ngra, for pastadir fadeTime ga qarab yorug'lik tez va ravshan bo'lishi kerak bo'lgan tezlikni boshqaradi. Oxir -oqibat, biz analogWrite () funktsiyasida LEDga 0 qiymatini berib, yorug'likni o'chirdik.

Yuqoridagi videoda akril korpus prototiplaridan birida ishlayotgan sxema ko'rsatilgan.

5 -qadam: karton prototipi (ixtiyoriy)

Karton prototipi (ixtiyoriy)
Karton prototipi (ixtiyoriy)
Karton prototipi (ixtiyoriy)
Karton prototipi (ixtiyoriy)

Ushbu loyihadan oldin men hech qachon lazerni kesuvchi bilan ishlamaganman. Karton prototipini yaratish menga ob'ekt bilan haqiqiy makonda qanchalik yaxshi ko'rinishini (o'lchami, ko'rinishi va h.k.) sinab ko'rsata turib, mashina bilan tanishishga imkon berdi. Yuklab olish uchun ish rejalari.

Tavsiya: