Mündəricat:
- Addım 1: Parça siyahısı və alətlər
- Addım 2: OLED Ekran və Real Zaman Saatı hazırlayın
- Addım 3: Rotary Encoder hazırlayın
- Addım 4: Qoşma
- Addım 5: Arduino Power LED -i deaktiv edin (isteğe bağlı)
- Addım 6: Enerji Təchizatı + Qatı Röle
- Addım 7: Arduino Nano + Güc Təchizatı + Qatı Hal Rölesi
- Addım 8: Arduino Nano + Real Zaman Saatı
- Addım 9: OLED Ekranı bağlayın
- Addım 10: Rotary Encoder
- Addım 11: Kassada quraşdırma
- Addım 12: Şebekəyə / İşığa Bağlanmaq
- Addım 13: Kassanı bitirmək
- Addım 14: Arduino proqramlaşdırılması
- Addım 15: Vaxtın qurulması və vaxtın dəyişdirilməsi
Video: Arduino Gecə/Şəfəq Saatı Taymeri: 15 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Xülasə:
Bu Arduino əsaslı taymer, alacakaranlıq, şəfəq və ya müəyyən bir vaxtda bir 220V işığı dəyişə bilər.
Giriş:
Evimdəki bəzi işıqlar, qaranlıqda ya əvvəlcədən təyin olunmuş vaxta qədər, ya da şəfəqə qədər (bütün gecə) avtomatik olaraq açılır.
İşıqların yeri işıq sensoru istifadəsinə icazə vermir. Daimi mövcud saat sayğacları müəyyən bir zamanda açılır. Gecə qaranlıqda yandırmaq üçün zamanlayıcı proqram ayarını mütəmadi olaraq düzəltmək lazımdır.
Gözəl bir problem olaraq, bunun əvəzinə xüsusi bir Arduino əsaslı tək başına sayğac qurmağa qərar verdim. İşıqların yandırılmalı və ya söndürülməli olduğu vaxtı təyin etmək üçün real vaxt saatı və Dusk2Dawn kitabxanasından istifadə edir. Bu taymer üçün korpus 3D çapdır və Thingiverse -də tapıla bilər. Bu layihə üçün Arduino kodunu GitHub -da tapa bilərsiniz.
Bu taymerin yaradılmasında internetdəki bir çox dizayndan və sxemdən ilham aldım. Açıq şəkildə qeyd olunmayan bütün iştirakçılara təşəkkürümü bildirirəm.
Oxunaqlı olmaq üçün, tam bir dövrə diaqramı yerinə, lazım olduğu yerlərdə qismən diaqramlar göstərilir.
Alternativ həllər:
Müstəqil bir taymer əvəzinə ağıllı ev avtomatlaşdırma sisteminin işıqları idarə etdiyi bir çox həll var. Məqsədim, WIFI (və ya digər) bağlantıdan asılı olmayan müstəqil bir həll yolu əldə etmək idi.
Məhdudiyyətlər:
Bu layihə ilə təmin edilən kod, Avropa yaz işığı sisteminə əsaslanan yaz işığına dəyişikliklərin tətbiqini əhatə edir.
Addım 1: Parça siyahısı və alətlər
Parçalar:
Ümumi hissə xərcləri (3d çap istisna olmaqla) təxminən 30 avro, -.
- Başlıq olmadan Arduino Nano V3 (uyğun)
- Enerji təchizatı 5V 0.6A (34 x 20 x 15 mm)
- Qatı hal rölesi 5V - Aktiv aşağı - 2A 230VAC
- Real vaxt saatı DS3231 (kiçik)
- 0.96”OLED ekran SPI 128*64 piksel
- Döner kodlayıcı - EC11 - 20 mm
- Düymə 6mm mil 15mm * 17mm
- Çörək lövhəsi çap dövrə lövhəsi,
- 4* M3x25mm vintlər
- 3d çap korpusu
- İstiliyi azaldan borular
- Tellər
- Vida terminal bloku (neytral telləri bağlamaq üçün)
Alətlər tələb olunur:
- Lehimleme dəmir
- Lehim teli
- Sökülən nasos
- Tel çıxarıcılar
- Kəsicilər
- 3D printer (korpus çap etmək üçün)
- Müxtəlif kiçik alətlər
XƏBƏRDARLIQ
Bu dövrə 230v AC üzərində işləyir və şəbəkə gərginliyi ilə işləməyə öyrəşməmisinizsə və ya 230v AC Şəbəkə Gərginliyi ilə işləməkdə kifayət qədər təcrübəniz yoxdursa, bu layihədən uzaq durun
Bu layihəni izləmək nəticəsində və ya nəticəsi olaraq yaranan hər hansı bir itki və ya ziyana görə heç bir məsuliyyət daşımıram
AC Şəbəkə ilə işləyərkən hər zaman düzgün qayğı və tədbir görməyiniz tövsiyə olunur
Addım 2: OLED Ekran və Real Zaman Saatı hazırlayın
3D çaplı korpus minimum ölçü üçün nəzərdə tutulmuşdur. Nəticədə, OLED ekranın başlıqlarını və real vaxt saatını çıxarmaq lazımdır.
Növbəti addıma hazırlaşarkən, qalan lehimləri sökülmə pompası ilə deliklərdən təmizləyin.
Addım 3: Rotary Encoder hazırlayın
Döner kodlayıcıda zəif bağlayıcılar var. Zədələnmənin qarşısını almaq üçün bir ədəd çaplı lövhəni enkoderə bağlayın.
Şəkildə torpaq bağlantısı (yuxarı sağ və orta alt) artıq hazırlanmışdır.
Qeyd: Çaplı elektron lövhəsi olan fırlanan kodlayıcının Arduino -ya toxunmadan korpusa oturduğundan əmin olun. Sıx bir uyğunluq əldə etmək üçün çap edilmiş elektron lövhəni üyütmək tələb oluna bilər.
Addım 4: Qoşma
Kassanın üç hissəsini 3d printerlə çap edin. Thingiverse təlimatlarına baxın.
Addım 5: Arduino Power LED -i deaktiv edin (isteğe bağlı)
Taymerdə yaşıl bir parıltı olmaması üçün Arduinonun güc LED -i söndürülə bilər.
Qeyd edək ki, bu dəyişiklik isteğe bağlıdır.
Arduino Nano'nun modifikasiyası güc ledinin yanındakı rezistoru çıxarmaqdan ibarətdir (şəkildəki qırmızı dairəyə baxın).
Addım 6: Enerji Təchizatı + Qatı Röle
Bu mərhələdə enerji təchizatı və qatı hal rölesi birləşdirilir və korpusun alt hissəsinə quraşdırılır.
Enerji təchizatı ilə röle arasındakı əlaqələr bu komponentlərin altındadır. Rölenin vintli terminal bloku Arduino -ya qoşulmaq üçün istifadə olunacaq.
Qeyd: Bağlantılar qurarkən, qatı hal rölesinin montaj deliklərinin boş qalmasını təmin edin.
- A1 bərk hal rölesi ilə enerji təchizatı AC əlaqələrindən birinə bir əlaqə telini lehimləyin
- Güc qaynağının digər AC bağlantısına bir tel lehimləyin (bu, 7 -ci addımda neytral vida terminal blokuna bağlanacaq)
- Enerji təchizatı arasında tel lehimləyin -DC rölesinə səs
- Enerji təchizatına qoşulmaq üçün bir tel +lehim DC +rölesinə
Qeyd: Korpusa uyğunlaşmaq üçün enerji təchizatı və rölin uclarını qısaltmaq tələb oluna bilər.
Addım 7: Arduino Nano + Güc Təchizatı + Qatı Hal Rölesi
Bu addımda, Arduino Nano enerji təchizatı və qatı hal rölesinə bağlıdır.
- Təxminən 70 mm uzunluğunda iki tel kəsin. Bir tərəfdən 30 mm, digər tərəfdən isə 4 mm izolyasiya şeridi çəkin.
- Arduino +5V və GND -ə 30 mm soyulmuş izolyasiya ilə yan tərəfə tel keçərək lehimləyin
- 20 mm uzunluğunda iki büzücü borunu kəsin və 25 mm soyulmuş hissənin üzərinə qoyun. Bu, telləri qatı hal rölesinin DC+ və DC- montaj vintli terminal bloku ilə əlaqəyə qədər izolyasiya edir.
- Diqqət yetirin ki, GND və +5V telləri rölin vida terminal blokuna düzgün qoşulmaq üçün keçməlidir.
- Təxminən 40 mm uzunluğunda bir tel kəsin və hər iki ucunu 4 mm izolyasiya edin. Bir tərəfi Arduinonun arxa tərəfindəki A2 bağlantısına lehimləyin, digər tərəfini isə bərk vəziyyətdə montaj vidalı terminal blokunun CH1 bağlantısına bağlayın.
XƏBƏRDARLIQ
Arduino, Arduino daxili güc tənzimləyicisini istifadə etmək əvəzinə, sabit +5V enerji təchizatı ilə işləyir. Buna görə, Arduino enerji təchizatından enerji alanda USB -yə qoşulmaq təhlükəsiz deyil.
Arduino USB bağlantısını istifadə etməzdən əvvəl həmişə 230VAC şəbəkəsini ayırın.
Addım 8: Arduino Nano + Real Zaman Saatı
Bu addımda real vaxt saatı qismən əvvəlki addımda hazırlanan kabellərdən istifadə etməklə Arduinoya qoşulur.
- Arduino GND-dən (eyni zamanda rölenin DC- bağlantısı ilə) gələn teli real vaxt saatının '-' ilə lehimləyin.
- Arduino+5V -dən (həmçinin rölin DC+-ına bağlıdır) gələn teli real vaxt saatının "+" işarəsinə lehimləyin.
- Təxminən 40 mm uzunluğunda iki tel kəsin və hər iki ucunu 4 mm izolyasiya edin.
- Arduino A4 və real vaxt saatı D (SDA) arasında bir tel lehimləyin.
- Arduino A5 və real vaxt saatı C (SCL) arasında bir tel lehimləyin.
- Dönən kodlayıcıya müdaxilə etməmək üçün real vaxt saatının tellərini düzəldin. Bunun üçün tellərin korpusun altında olması lazımdır.
Addım 9: OLED Ekranı bağlayın
Bu mərhələdə OLED SPI ekranı Arduinoya əlavə olunur.
- 65 mm uzunluğunda 2 tel kəsin və hər iki ucu 4 mm izolyasiya edin.
- OLED ekranın GND bağlantısına bir tel lehimləyin. Bu teli Arduino GND-dən gələn istilik büzücü borulardan izolyasiya edilmiş telə lehimləyin (4-cü addıma baxın) və hər iki teli qatı hal rölesinin DC-vidalı terminal blokuna qoşun.
- OLED ekranın VCC bağlantısına bir tel lehimləyin. Bu teli Arduino + 5V-dən (4-cü addıma baxın) gələn istilik büzücü boru izolyasiya edilmiş telə lehimləyin və hər iki teli bərk hal rölesinin DC + montaj vintli terminal blokuna qoşun.
- 65 mm uzunluğunda 5 teli kəsin və hər iki ucunu 4 mm izolyasiya edin.
- D0 (CLK) Arduino D10 -a qoşulmaq üçün bir tel lehimləyin
- D1 (MOSI / DATA) Arduino D9 -a qoşulmaq üçün bir tel lehimləyin
- RES (RT) Arduino D8 -ə qoşulmaq üçün bir tel lehimləyin
- DC -ni Arduino D11 -ə bağlamaq üçün bir tel lehimləyin
- CS -ni Arduino D12 -ə bağlamaq üçün bir tel lehimləyin
Qeyd: Ekran tellərinin sırası məntiqli deyil. Bu, əvvəlcə Adafruit nümunəsini istifadə etmənin və sonra əlaqələri dəyişdirmənin nəticəsidir, çünki D13 -dən istifadə etməklə Arduino -da hər zaman qırmızı LED görünür.
Alternativ
SPI əlaqələri üçün 'normal' bir sifariş istifadə etmək mümkündür. Bunun üçün, oledcontrol.cpp -də Arduino proqramının rəqəmsal çıxış tərifi müvafiq olaraq tənzimlənməlidir:
// SPI proqramından istifadə
// pin tərifləri
#CS_PIN 12 təyin edin
#RST_PIN 8 təyin edin
#DC_PIN 11 təyin edin
#MOSI_PIN 9 təyin edin
#CLK_PIN 10 təyin edin
Addım 10: Rotary Encoder
Diaqram Arduinonun dönən kodlayıcıya olan əlaqələrini göstərir (yuxarıdan görünən kodlayıcı).
- 45 mm -lik 4 teli kəsin və hər iki ucunu 4 mm izolyasiya edin.
- Arduino GND kodlayıcının sağ üst və alt orta konnektorlarına qoşun
- Arduino D2 kodlayıcının sol alt hissəsinə qoşun
- Arduino D3 kodlayıcının sağ alt hissəsinə qoşun
- Arduino D4 -ü kodlayıcının sol üst hissəsinə qoşun
Addım 11: Kassada quraşdırma
Bütün elektronikanı korpusun alt hissəsinə quraşdırın:
- Arduino'yu şaquli yuvaya sürüşdürün
- Aşağıdakı bölmədə real vaxt saatını sürüşdürün
- Güc qaynağını və röleyi yuxarı bölmədə sürüşdürün, rölin yuvalarına oturduğundan əmin olun.
Addım 12: Şebekəyə / İşığa Bağlanmaq
XƏBƏRDARLIQ
AC Şəbəkə ilə işləyərkən lazımi qayğı və ehtiyat tədbirləri gördüyünüzdən əmin olun, AC Şəbəkəsinin ayrıldığından əmin olun
Bu layihəni izləməyim nəticəsində və ya nəticəsi olaraq yaranan hər hansı bir itki və ya ziyana görə heç bir məsuliyyət daşımıram
- AC Şəbəkə fazasını rölin A1 (sol) vintli terminal blokuna qoşun.
- Keçid ediləcək işığın fazasını rölin B1 (sağ) vintli terminal blokuna qoşun.
- AC şəbəkə neytral telini, işıq neytral telini və elektrik təchizatı neytral telini birləşdirmək üçün ayrıca vintli terminal blokundan istifadə edin.
- Gərginliyi aradan qaldırmaq üçün elektrik kabellərinin hər birinə bir sarğı sarın.
Addım 13: Kassanı bitirmək
Bu mərhələdə korpusda montaj tamamlanır
- OLED ekranı korpusun orta hissəsindəki ekran montaj deliyindən sürüşdürün.
- Döner kodlayıcıyı orta hissədəki çuxurdan sürüşdürün, fırlanma əleyhinə xətlərin yuxarı qalxmasını təmin edin. Daxil olan yuyucudan və qozdan istifadə edərək fırlanan enkoderi quraşdırın.
- Korpusun üst hissəsini montaj edin və altdan dörd M3x25mm vintini bağlayaraq korpusu bağlayın.
Addım 14: Arduino proqramlaşdırılması
XƏBƏRDARLIQ
Arduino, Arduino daxili güc tənzimləyicisini istifadə etmək əvəzinə, sabit +5V enerji təchizatı ilə işləyir. Buna görə, Arduino enerji təchizatından enerji alanda USB -yə qoşulmaq təhlükəsiz deyil.
Arduino USB bağlantısını istifadə etməzdən əvvəl həmişə 230VAC şəbəkəsini ayırın.
GitHub -dan Arduino timer proqramını əldə edin.
Bu proqram burada əldə edilə bilən Arduino IDE -dən istifadə edir.
Proqram aşağıdakı əlavə kitabxanalardan istifadə edir:
SSD1303Ascii
Arduino Wire kitabxanası
Dusk2dawn kitabxanasının da istifadə edildiyini, lakin interfeysindəki dəyişiklik səbəbiylə kod olaraq daxil olduğunu unutmayın.
Doğru alacakaranlıq / şəfəq hesablamasını təmin etmək üçün uzunluq və enlik və saat qurşağı təyin olunmalıdır.
Dusk2dawn nümunəsində təsvir edildiyi kimi, hər hansı bir yerin uzunluq və enlemini tapmağın asan bir yolu, Google Xəritələrdə yeri tapmaq, xəritədə yeri sağ vurmaq və "Burada nə var?" Seçməkdir. Aşağıda koordinatları olan bir kart görəcəksiniz.
Uzunluq və enlik proqramda, Dusk2Dawn.cpp 19 və 20 -ci sətirlərdə kodlaşdırılmışdır:
/* Məkanınızın eni və uzunluğunu burada təyin etməlisiniz.
* * İPUCU: Hər hansı bir yer üçün uzunluq və enlemi tapmağın asan bir yolu, Google Xəritədə yer tapmaq, xəritədə sağa vurmaq və "Burada nə var?" Seçin. Aşağıda * koordinatları olan bir kart görəcəksiniz. */ #define LATITUDE 52.097105; // Utrecht #define LONGTITUDE 5.068294; // Utrext
Saat dilimi də Dusk2Dawn.cpp 24 xəttində kodlaşdırılmışdır. Varsayılan olaraq Hollandiya (GMT + 1) olaraq təyin edilmişdir:
/* Saat diliminizi (GMT ilə əvəzlənmiş) bura daxil edin.
*/ #define TIMEZONE 1
Arduino -nu ilk dəfə proqramlaşdırarkən EEPROM yaddaşını işə salmaq lazımdır. Bunun üçün timer.cpp 11 -ci sətirini EEPROM başlatma etmək üçün dəyişdirin:
// ilk dəfə proqramlaşdırma zamanı true olaraq dəyişin
#define INITIALIZE_EEPROM_MEMORY saxta
Proqramı Arduinoya yükləyin və Arduino'yu yükləyin.
EEPROM başlanğıcını deaktiv edin və proqramı yenidən Arduino -ya yükləyin. Taymer indi yenidən başladıqda keçid vaxtı parametrlərini xatırlayacaq.
Addım 15: Vaxtın qurulması və vaxtın dəyişdirilməsi
İstifadəçi qarşılıqlı anlayışları:
- Qısa mətbuat seçimləri təsdiqləmək üçün istifadə olunur. Bundan əlavə, əsas timer ekranında qısa bir müddət işığı yandırır və ya söndürür.
- Əsas düymə ekranından menyuya daxil olmaq üçün uzun basın. Menyunun hər hansı bir yerində uzun bir basmaq əsas taymer ekranına qayıdacaq.
- '>' Seçim kursu. Bu kursor menyuda seçilmiş seçimi göstərir.
Əsas taymer ekranı
Əsas timer ekranı göstərir:
Həftənin günü Su
Cari vaxt 16:00
Cari timer vəziyyəti və növbəti keçid vaxtı Timer 17: 12 -ə qədər OFF
Şəfəq və axşam vaxtı Şəfəq 08:05 Gecə 17:10
Doğru vaxtın təyin edilməsi
Menyuya daxil olmaq üçün uzun basın. Aşağıdakı variantlar göstərilir:
Vaxtı Ayarla Həftə günü proqramı Həftə sonu Proqram Seçimləri
Real vaxt saatının tarixini və vaxtını təyin etmək üçün vaxtı təyin et seçin. Doğru dəyərləri daxil edin:
İlMayDayTime
Taymer avtomatik olaraq həftənin gününü təyin edir. Yaz vaxtına keçid də avtomatik olaraq edilir. Yaz saatı yalnız Avropa saat qurşağı üçün tətbiq olunur.
Taymer proqramının qurulması
Taymerin biri həftə günləri, biri həftə sonu üçün 2 proqramı var. Qeyd edək ki, cümə günü həftə sonu hesab olunur, işıqlar bir az daha qala bilər.
Hər bir taymerin bir açma və sönmə anı var. An ya ola bilər:
- Vaxt: Tam olaraq göstərilən vaxt
- Şəfəq: Hesablanmış şəfəq vaxtına əsaslanaraq keçin
- Alacakaranlıq: Hesablanan qaranlıq vaxtına əsaslanaraq keçin
Alacakaranlıq və şəfəq üçün 59 dəqiqə əvvəl və ya sonra bir düzəltmə dəyəri daxil etmək mümkündür.
Nümunələr:
İşığı bütün gecə yandırmaq üçün (axşam + 10 dəq) yandırın, (şəfəq - 10 dəq) söndürün
Axşam işığı yandırmaq üçün, qaranlıqda yandır, zamanında söndürün: 22:30.
Seçimlər
Seçimlər ekranında ekranın dəyişdirilməsi üçün bir zaman aşımı təyin edilə bilər.
Ekran söndürüldükdə, fırlanan enkoder düyməsinə basmaq əsas taymer ekranına qayıdır.
Tövsiyə:
Bolt - DIY Simsiz Şarj Gecə Saatı (6 addım): 6 addım (şəkillərlə)
Bolt - DIY Simsiz Şarj Gecə Saatı (6 addım): İndüktif şarjlar (simsiz şarj və ya simsiz şarj kimi də tanınır) simsiz enerji ötürmə növüdür. Portativ cihazlara elektrik enerjisi vermək üçün elektromaqnit induksiyasından istifadə edir. Ən çox yayılmış tətbiq Qi simsiz şarj cihazıdır
İnternet Saatı: NTP Protokolu ilə ESP8266 NodeMCU istifadə edərək OLED ilə Tarixi və Saatı Göstərin: 6 Addım
İnternet Saatı: NTP Protokolu ilə ESP8266 NodeMCU istifadə edərək OLED ilə Tarixi və Saatı Göstərin: Salam uşaqlar, bu təlimatlarda internetdən vaxt alacaq bir internet saatı quracağıq, bu layihənin işləməsi üçün heç bir RTC lazım olmayacaq, yalnız işləyən internet bağlantısı Və bu layihə üçün bir esp8266 ehtiyacınız olacaq
NE555 Taymeri - NE555 Taymeri dayanıqlı bir konfiqurasiyada konfiqurasiya etmək: 7 addım
NE555 Taymeri | NE555 Taymeri dayanıqlı bir konfiqurasiyada konfiqurasiya etmək: NE555 taymer elektronika dünyasında ən çox istifadə olunan IC -lərdən biridir. DIP 8 formasındadır, yəni 8 sancağa malikdir
Batman LED Gecə İşığı və Saatı (Arduino): 8 addım
Batman LED Gecə İşığı və Saatı (Arduino): Bir neçə il əvvəl, bəzi kvars saat hərəkətləri almışam və hər bir uşaq üçün bir saat hazırlamışam. Mən bunu "daha çox" bir şey etmək istəyirdim, buna görə düşündüm ki
Kameranızı "Hərbi Gecə Görüşü" nə çevirmək, Gecə Görmə Efekti əlavə etmək və ya İstənilən Kamerada NightVision Yaratmaq !!!: 3 Addım
Kameranızı "Hərbi Gecə Görüşü" nə çevirmək, Gecə Görmə Efekti əlavə etmək və ya İstənilən Kamerada NightVision Yaratmaq !!!: *** Bu DİJİTAL & GÜN FOTO MÜSABİQƏSİNDƏ iştirak edir, lütfən mənə səs verin ** *Hər hansı bir yardıma ehtiyacınız varsa, e -poçtla göndərin: [email protected] İngilis, Fransız, Yapon, İspan dillərində danışıram və əgər başqa dilləri bilirsinizsə