Mündəricat:
- Addım 1: Necə Oxunur?
- Addım 2: Nə lazımdır
- Addım 3: Elektronika Komponentləri - Fon
- Addım 4: Elektronika - Güc Təchizatı
- Addım 5: Elektronika - Lehimləmə
- Addım 6: Proqram təminatı - Arxa plan
- Addım 7: Proqram təminatı - Kod
- Addım 8: Saatı düzəldin
- Addım 9: Taxta çəkin
- Addım 10: Birləşdirin
- Addım 11: Yeniləmə - Fotoresistor
- Addım 12: Zövq alın
Video: LEDura - Analog LED Saat: 12 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Tinkercad Layihələri »
Uzun müddət müxtəlif layihələr hazırladıqdan sonra özüm təlimatlandırmağa qərar verdim. Birincisi, zəhmli ünvanlı LED halqası ilə hazırlanmış öz analog saatınızı hazırlamaq prosesində sizə yol göstərəcəyəm. Daxili üzük saatı, xarici halqa dəqiqə və saniyəni göstərir.
Saatı göstərməklə yanaşı, otaq temperaturunu da göstərə bilər və otaqda çox gözəl bir bəzək ola bilər. Hər 15 dəqiqədə bir saat xüsusi effektlər verir - video hamısını göstərir, mütləq yoxlayın. İstifadəçi 2 düymə və potensiometrdən istifadə edərək öz istəyi ilə fərqli rejim və modifikasiya rəngləri arasında seçim edə bilər. Otaq qaranlıq olarsa, LED -ləri avtomatik olaraq söndürmək üçün də təkmilləşdirdim, buna görə də istifadəçi gecə narahat olmayacaq.
Saatı masaya, yataq masasına qoymaq və ya divardan asmaq olar.
Qeyd: Şəkillər yüksək parlaqlığa görə reallıqdakı mənzərə qədər yaxşı deyil.
Addım 1: Necə Oxunur?
Saatın 2 üzüyü var - saatı göstərmək üçün kiçik, dəqiqə və saniyəni göstərmək üçün daha böyük. Bəzi LED -lər hər zaman yanır - əsas saat mövqelərini göstərən kompas adlanır. Saat halqasında 3, 6, 9 və 12 saatlıq, dəqiqə halqasında 15, 30, 45 və 0 dəqiqələri təmsil edir.
Addım 2: Nə lazımdır
Materiallar:
- 1x Arduino Nano (hər hansı digər Arduinodan da istifadə edə bilərsiniz)
- 1x DS3231 RealTimeClock modulu
- 1x Ünvanlı led üzük - 60 LED
- 1x Ünvanlı led üzük - 24 LED
- 2x Düymələr (YOX - normal olaraq açıqdır)
- 1x 100kOhm potansiyometr
- 1x 5V enerji təchizatı (1 Amper verə bilər)
- 1x Təchizat konnektoru
- Bəzi tellər
- 1x 10kOhm rezistor
- 1x Fotoresistor
- Prefabrik (isteğe bağlı)
- Terminal blok tel bağlayıcıları (isteğe bağlı)
- 25 mm qalınlığında ağac, ən azı 22 sm x 22 sm
- 1mm nazik mat PVC plastik ölçüləri 20cmx20xm
Alətlər:
- Bina elektronikası üçün əsas alətlər (lehimləmə dəmir, pens, tornavida, …)
- Qazma maşını
- İsti yapışqan silahı
- Qum kağızı və bir az ağac lak
- CNC maşını (bəlkə də bir dostum var)
Addım 3: Elektronika Komponentləri - Fon
DS3231
Zamanı osilatördə qurulan Arduinos və taymerdən istifadə edərək təyin edə bilərdik, ancaq saatı enerji mənbəyindən ayırsaq da vaxtı izləyə bilən xüsusi Real Time Clock (RTC) modulundan istifadə etmək qərarına gəldim. DS3231 lövhəsində modul enerji təchizatına qoşulmadıqda enerji verən bir batareya var. Arduinos saat mənbəyindən daha uzun müddətlərdə daha dəqiqdir.
DS3231 RTC mikro nəzarətçi ilə ünsiyyət qurmaq üçün I2C interfeysindən istifadə edir-istifadəsi çox sadədir və onunla ünsiyyət qurmaq üçün yalnız 2 telə ehtiyacımız var. Modul eyni zamanda bu layihədə istifadə ediləcək temperatur sensoru da təmin edir.
Vacib: RTC modulu üçün doldurulmayan bir batareya istifadə etməyi planlaşdırırsınızsa, 200 ohm müqavimətini və ya 1N4148 diodunu lehimləməlisiniz. Əks halda batareyanız partlaya bilər. Ətraflı məlumatı bu linkdə tapa bilərsiniz.
WS2812 LED üzük
Dəqiqələri izləmək üçün 60 LED halqa və saatlarla 24 LED halqa istifadə etmək qərarına gəldim. Onları Adafruit (neoPixel üzük) və ya eBay, Aliexpress və ya digər internet mağazalarında bəzi ucuz versiyalarda tapa bilərsiniz. Ünvanlı led zolaqlar arasında böyük bir müxtəliflik var və onlarla ilk dəfə oynayırsınızsa, bəzi istifadə təsvirlərini oxumağı məsləhət görürəm - burada bəzi faydalı bağlantılar var:
https://www.tweaking4all.com/hardware/arduino/adr…
https://randomnerdtutorials.com/guide-for-ws2812b…
Ünvanlı LED şeridin 3 konnektoru var: 5V, GND və DI/DO. İlk ikisi LED -ləri gücləndirmək üçün, sonuncu isə məlumat üçündür. Üzüyü Arduino -ya bağlayarkən diqqətli olun - məlumat xəttiniz DI (data IN) pininə bağlanmalıdır.
Arduino
Arduino Nano'dan istifadə edirəm, çünki bu layihə üçün kifayət qədər kiçikdir. Demək olar ki, hər hansı digər Arduino -dan istifadə edə bilərsiniz, ancaq hər şeyi ona bağlayarkən diqqətli olmalısınız. Düymələr və LED üzüklər eyni sancaqlar üzərində ola bilər, lakin I2C konnektorları (RTC modulu üçün) platformadan platformaya fərqli ola bilər - məlumat cədvəlinə baxın.
Addım 4: Elektronika - Güc Təchizatı
Arduino və LED şeridi hər ikisi də 5V enerji mənbəyi ilə təchiz olunmalıdır ki, hansı gərginliyə ehtiyac olduğunu bilək. LED halqaları olduqca çox amper çəkdiyindən rəqəmsal çıxışında maksimum 20mA dayana bilən Arduino ilə birbaşa işləyə bilmərik. Ölçmələrimə görə, LED halqaları birlikdə 500 mA -a qədər çəkə bilər. Bu səbəbdən 1A -ya qədər təchiz edə bilən bir adapter aldım.
Eyni enerji təchizatı ilə Arduino və LED -ləri gücləndirmək istəyirik - burada diqqətli olmalısınız.
Xəbərdarlıq! LED şeridini sınaqdan keçirərkən çox diqqətli olun - Arduino eyni zamanda USB konnektoru ilə PC -yə qoşulduqda güc adapteri Arduino -ya bağlı olmamalıdır (kompüterinizin USB portuna zərər verə bilərsiniz).
Qeyd: Aşağıdakı sxemlərdə Arduinonun enerji təchizatı və ya USB konnektoru ilə işlədiyini seçmək üçün normal keçiddən istifadə etdim. Ancaq mükəmməl lövhədə Arduinonun hansı enerji mənbəyindən işlədiyini seçmək üçün bir pin başlığı əlavə etdiyimi görə bilərsiniz.
Addım 5: Elektronika - Lehimləmə
Bütün hissələri topladığınız zaman onları bir yerdə lehimləmə vaxtıdır.
Kabelləri səliqəli etmək istədiyim üçün, perforator lövhəsi və tellər üçün bir neçə terminal bloku bağlayıcısı istifadə etdim, buna görə də dəyişiklik olanda onları ayıra bilərəm. Bu isteğe bağlıdır - telləri birbaşa Arduinoya lehimləyə bilərsiniz.
Bir ipucu: Lehim edərkən önünüzdə olduğu üçün sxemləri çap etsəniz daha asandır. Və enerji təchizatına qoşulmadan əvvəl hər şeyi iki dəfə yoxlayın.
Addım 6: Proqram təminatı - Arxa plan
Arduino IDE
Arduino -nu xüsusi proqramı olan Arduino IDE ilə proqramlaşdıracağıq. Arduino ilə ilk dəfə oynayırsınızsa, bunu necə edəcəyinizə dair bəzi təlimatları yoxlamağı məsləhət görürəm. İnternetdə artıq çoxlu dərslər var, buna görə də təfərrüatlara getməyəcəyəm.
Kitabxana
Populyar Adafruit əvəzinə FastLED kitabxanasından istifadə etmək qərarına gəldim. Böyük effektlər verə biləcəyiniz bəzi səliqəli riyazi funksiyalara malikdir (Yaradıcılara qədər!). Kitabxananı GitHub deposunda tapa bilərsiniz, ancaq koduma istifadə etdiyim versiyanın.zip faylını əlavə etdim.
Arduino IDE -yə xarici kitabxananı necə əlavə etmək barədə maraqlanırsınızsa, əvvəllər hazırlanmış bəzi təlimatları yoxlaya bilərsiniz
Saat modulu üçün Arduino IDE-də asanlıqla quraşdıra biləcəyiniz DS3231 real vaxt saatı (RTC) üçün Arduino kitabxanasından istifadə etdim. IDE -də olduğunuzda, Eskiz → Kitabxanaya daxil et → Kitabxanaları idarə etmək üçün basın və sonra axtarışınızı yuxarıdakı adla süzün.
Qeyd: Nədənsə hal hazırda.zip faylları əlavə edə bilmirəm. Kitabxananı GitHub depomda tapa bilərsiniz.
Addım 7: Proqram təminatı - Kod
Quruluş
Tətbiq 4 sənəddən ibarətdir:
- LEDclokc.ino Bu, bütün saatı idarə etmək üçün funksiyaları tapa biləcəyiniz əsas Arduino tətbiqidir - CLOCK_ prefiksi ilə başlayır.
- LEDclokc.h burada pin bağlantısı tərifləri və bəzi saat konfiqurasiyalarıdır.
- ring.cpp və ring.h burada LED halqalarını idarə etmək üçün kodumdur.
LED saat.h
Burada bütün saat təriflərini tapa bilərsiniz. Başlanğıcda naqillər üçün təriflər var. Bağlantılarınızla eyni olduğundan əmin olun. Sonra saat konfiqurasiyaları var - burada saatın rejimi üçün makro tapa bilərsiniz.
LED saat.ino
Diaqramda əsas döngə təmsil olunur. Kod əvvəlcə hər hansı bir düyməyə basıldığını yoxlayır. Açarların təbiəti səbəbindən, dəyərlərini oxumaq üçün debbouncing metodundan istifadə etməliyik (bu barədə daha çox məlumatı linkdə oxuya bilərsiniz).
1 düyməsinə basıldıqda dəyişən rejim 1 artırılır, 2 düyməsinə basıldıqda dəyişən tip qaldırılır. Bu dəyişənlərdən istifadə edərək hansı saat rejimini görmək istədiyimizi təyin edirik. Hər iki düyməyə eyni anda basılırsa, CLOCK_setTime () funksiyası çağırılır ki, saatın vaxtını dəyişə biləsiniz.
Sonrakı kod, potensiometrin dəyərini oxuyur və dəyişkən olaraq saxlayır - bu dəyişən istifadəçi saatın rənglərini, parlaqlığını və s.
Sonra bir keçid vəziyyətinin ifadəsi var. Burada saatın hansı rejimdə olduğunu müəyyənləşdiririk və bu rejimdə LEDlərin rənglərini təyin edən müvafiq funksiya çağırılır. Öz saat rejimlərinizi əlavə edə və funksiyaları yenidən yaza və ya dəyişdirə bilərsiniz.
FastLED kitabxanasında təsvir edildiyi kimi, sonunda LEDləri əvvəllər qurduğumuz rəngə çevirən FastLED.show () funksiyasına zəng etməlisiniz.
Kod xətləri arasında daha ətraflı təsvirlər tapa bilərsiniz
Bütün kod aşağıdakı fayllara əlavə olunur.
İPUCU: bütün layihəni GitHub depomda tapa bilərsiniz. Burada hər hansı bir dəyişiklik əlavə etsəm kod da yenilənəcək.
Addım 8: Saatı düzəldin
Saat çərçivəsi
Saat çərçivəsini CNC maşını və 25 mm qalınlığında taxta istifadə edərək qurdum. Çəkilmiş eskizi aşağıda ProgeCAD -da tapa bilərsiniz. LED halqası üçün yuvalar bir qədər böyükdür, çünki istehsalçılar yalnız xarici diametr ölçüsünü təmin edir - daxili çox fərqli ola bilər … Saatın arxasında elektronika və tellər üçün çox yer var.
PVC üzüklər
LEDlər olduqca parlaq olduğundan onları bir şəkildə yaymaq yaxşıdır. Əvvəlcə yayma işini yerinə yetirən şəffaf silikonla sınadım, amma olduqca qarışıqdır və üstünü hamarlaşdırmaq çətindir. Buna görə 20x20 sm ölçüdə "süd" PVC plastikdən sifariş verdim və içərisində CNC maşını ilə iki üzük kəsdim. Üzüklərin yuvalarda sürüşməsi üçün kənarları yumşaltmaq üçün zımpara kağızından istifadə edə bilərsiniz.
Yan deliklər
Sonra düymələr, potansiyometr və enerji təchizatı konnektoru üçün deliklər açmağın vaxtıdır. Əvvəlcə hər mövqeyi qələmlə çəkin, sonra çuxurda qazın. Burada hansı düymələriniz olduğuna bağlıdır - bir az əyri başlı düymələrlə getdim. Onların diametri 16 mm -dir, buna görə də bu ölçüdə taxta matkap istifadə etdim. Eyni şey potansiyometr və güc konnektoru üçün də keçərlidir. Bundan sonra bütün qələm rəsmlərini silməyinizə əmin olun.
Addım 9: Taxta çəkin
Ağacda bir neçə saat göstəricisi çəkmək qərarına gəldim - burada təsəvvürünüzdən istifadə edə və özünüz dizayn edə bilərsiniz. Ağacı lehimləmə dəmiri ilə yandırdım, maksimum temperatura qədər qızdırdım.
Dairələrin gözəl yuvarlaq olması üçün bir alüminium parçası istifadə etdim, içinə bir delik açdım və çuxurun kənarlarını lehimləmə dəmiri ilə təqib etdim (şəklə baxın). Alüminiumu möhkəm tutduğunuzdan əmin olun ki, çəkərkən sürüşməsin. Və yaralanmaların qarşısını almaq üçün bunu edərkən diqqətli olun.
Rəsmlər çəkirsinizsə və onların saat piksellərinə gözəl uyğunlaşdırılmasını istəyirsinizsə, piksellərin harada yerləşəcəyini göstərəcək "Baxım rejimi" ndən istifadə edə bilərsiniz ("Toplaşmaq" bölməsinə keçin).
Ağacı qoruyun
Saatdan razı qaldığınız zaman onu zımpara etmək və ağac lak ilə qorumaq vaxtıdır. Kenarları yumşaltmaq üçün çox yumşaq zımpara (500 dəyər) istifadə etdim. Ağacın rənginin dəyişməməsi üçün şəffaf ağac lakından istifadə etməyi məsləhət görürəm. Fırçanın üzərinə az miqdarda lak qoyun və odun içərisindəki illiklərə doğru çəkin. Ən azı 2 dəfə təkrarlayın.
Addım 10: Birləşdirin
Küknar düymələri və potansiyometrləri öz mövqelərinə qoyur - delikləriniz çox böyükdürsə, onları yerində düzəltmək üçün isti yapışqan istifadə edə bilərsiniz. Sonra üzük zolağını yuvalarına qoyun və tellərini Arduinoya bağlayın. LED halqasını yerinə yapışdırmadan əvvəl, LED piksellərinin doğru yerdə - mərkəzdə və rəsmlə hizalandığından əmin olmaq yaxşıdır. Bu məqsədlə bütün vacib pikselləri (0, 5, 10, 15,… dəqiqə halqasında və 3, 6, 9 və 12 saatlıq halqada) göstərəcək Baxım rejimi əlavə etdim. Güc mənbəyini bağlayıcıya bağlamadan əvvəl hər iki düyməni basıb basıb bu rejimə daxil ola bilərsiniz. İstənilən düyməni basaraq bu rejimdən çıxa bilərsiniz.
LED üzüklərinizi hizaladığınızda, bir az isti yapışqan tətbiq edin və yapışqan bərkiyincə saxlayın. Sonra PVC üzüklərinizi götürün: LED -lərə bir az isti yapışqan tətbiq edin, tez bir zamanda yerləşdirin və bir neçə saniyə saxlayın. Nəticədə, hər şeyin işlədiyinə əmin olduğunuzda taxtaya (və ya Arduino) taxta isti yapışdıra bilərsiniz. İpucu: çox yapışqan tətbiq etməyin. Kiçik bir miqdarı bir yerdə saxlayır, ancaq bir şeyi daha sonra dəyişdirmək istəsəniz asanlıqla silə bilərsiniz.
Ən sonunda, sikkə hüceyrə batareyasını tutucusuna daxil edin.
Addım 11: Yeniləmə - Fotoresistor
Saat effektləri qaranlıqda xüsusilə gözəldir. Ancaq bu, istifadəçisini gecə yatarkən narahat edə bilər. Buna görə də saat avtomatik parlaqlıq düzəltmə xüsusiyyəti ilə təkmilləşdirmək qərarına gəldim - otaq qaralanda; saat LED -lərini söndürür.
Bu məqsədlə işıq sensoru - foto rezistordan istifadə etdim. Müqaviməti əhəmiyyətli dərəcədə artacaq; qaranlıq olduqda bir neçə meqa ohm -a qədər və üzərində işıq saçanda yalnız bir neçə ohm olacaq. Normal bir rezistorla birlikdə gərginlik bölücü yaradırlar. İşıq sensorunun müqaviməti dəyişdikdə Arduino analoq pinindəki gərginlik də dəyişə bilər (ölçə biləcəyimiz).
Hər hansı bir dövrəni lehimləmədən və yığmadan əvvəl, əvvəlcə simulyasiya etmək ağıllıdır, buna görə davranışı görə və düzəlişlər edə bilərsiniz. Autocad Tinkercad köməyi ilə tam olaraq bunu edə bilərsiniz! Bir neçə kliklə komponentləri əlavə etdim, bağladım və kodu yazdım. Simulyasiyada fotoşəkil rezistorunun dəyərinə görə LED -lərin parlaqlığının necə dəyişdiyini görə bilərsiniz. Çox sadə və sadədir - dövrə ilə oynamaq xoş gəlmisiniz.
Simulyasiyadan sonra xüsusiyyəti saata əlavə etməyin vaxtı gəldi. Saatın mərkəzində bir delik açdım, foto rezistoru yapışdırdım, sxemdə göründüyü kimi bağladım və bir neçə kod xətti əlavə etdim. LEDclock.h faylında USE_PHOTO_RESISTOR -u 1 olaraq elan edərək bu xüsusiyyəti aktiv etməlisiniz. CLOCK_PHOTO_TRESHOLD dəyərini dəyişərək saatın hansı otaq parlaqlığında LEDləri söndürəcəyini də dəyişə bilərsiniz.
Addım 12: Zövq alın
İlk dəfə işə saldığınız zaman, saat təsadüfi bir zaman göstərəcək. Hər iki düyməni eyni anda basaraq qura bilərsiniz. Doğru vaxtı seçmək üçün düyməni çevirin və hər hansı bir düyməyə basaraq təsdiqləyin.
İnternetdəki çox səliqəli bir layihədən ilham aldım. Saatı təkbaşına qurmaq qərarına gəlsəniz, onları da yoxlayın! (NeoClock, Wol Clock, Arduino Colorful Clock) Əgər təlimatlara əməl etməyə çalışmaq qərarına gəlsəniz, ümid edirəm ki, bunu mənim etdiyim qədər əyləncəli edirsiniz.
Yaratma prosesində hər hansı bir problemlə qarşılaşsanız, şərhlərdə mənə hər hansı bir sual verməkdən çekinmeyin - məmnuniyyətlə cavab verməyə çalışacağam!
Tövsiyə:
Neopikseldən istifadə edən LED Saat: 4 Addım (Şəkillərlə birlikdə)
LED Neopikseldən İstifadə Edilən Saat: 60 Neopikseldən istifadə edərək LED saatın necə hazırlanacağına dair mənim göstərişlərimə xoş gəldiniz. 3 PDF -nin əlavə olunduğunu saatın seqmentləri üçün, digəri baza üçün və sonuncu biri yapışdırmağa kömək edəcək bir şablon olduğunu görəcəksiniz. bölmələr birlikdə. Belə ki, com
LED - Mega Saat: 8 Addım (Şəkillərlə birlikdə)
LED - Mega Saat: LED - Mega Saat
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: 10 addım (şəkillərlə)
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: Heç ağıllı bir saat istəmisinizmi? Əgər belədirsə, bu sizin üçün bir həlldir! Ağıllı Zəngli Saat hazırladım, bu veb saytına görə zəngli saatını dəyişə biləcəyiniz bir saatdır. Siqnal çalınanda bir səs (zil) olacaq və 2 işıq yanacaq
C51 4 Bit Elektron Saat - Taxta Saat: 15 Addım (Şəkillərlə)
C51 4 Bit Elektron Saat - Taxta Saat: Bu həftə sonu bir az boş vaxtım oldu, buna görə də bir müddət əvvəl AliExpress -dən aldığım 2.40 dollarlıq 4 bitlik elektron elektron rəqəmsal saatı yığdım
Kompüteriniz üçün əsl zəng vuran bir saat və yanğınsöndürən bir saat yaradın .: 3 addım (şəkillərlə)
Kompüteriniz üçün əsl zəng vuran bir saat və yanğınsöndürmə saatı yaradın .: Bir pirinç zəngi, kiçik bir neçə şey və əsl bir zəng masaüstünüzdəki saatları vura bilər. Bu layihə Windows və Mac-da işləyir. OS X də, zibil qutusunda tapdığım bir kompüterə Ubuntu Linux qurmaq qərarına gəldim və bu işlə məşğul oldum: heç vaxt