Mündəricat:
- Addım 1: Taxta Uçlar
- Addım 2: LED halqasının naqilləri
- Addım 3: Arduino Nano və Gücün naqilləri
- Addım 4: Proqram
Video: Neopikseldən istifadə edən LED Saat: 4 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
60 Neopikseldən istifadə edərək bir LED saatının necə hazırlanacağına dair göstərişlərimə xoş gəldiniz.
Tapdığınız 3 PDF -nin biri saat seqmentləri üçün, digəri baza üçün və son olaraq bölmələri bir -birinə yapışdırmağa kömək edəcək bir şablondur.
Buna görə bunu tamamlamaq üçün aşağıdakılara ehtiyacınız olacaq
- 60 neopiksellik halqa 4 rübdə gəlir. "ws2812 üzük 60" üçün axtarış (£ 12.00)
- "DS3231 modulu" üçün RTC axtarışı (£ 2.50)
- Arduino Nano (4 funt)
- 3 mm/1/8 "kontrplak.
- tel parçaları. inşallah ətrafınızda bir az olacaq?
- 5v USB enerji təchizatı vahidi. Övladlarınızın konnektoru məhv edəcəyi tip.
Aşağıda Lipo batareyası ilə işləyən əşyalar var, amma testdən sonra saat çox güc sərf etdi, buna görə də batareya USB PSU -nun lehinə düşdü.
- dc-dc çevirici axtarışı "gücləndirici çevirici" (3 funt)
- Şarj dövrəsi TP4056 axtarış "tp4056" (£ 2)
- LiPo 1000Mah tək hüceyrəli. "1000mah lipo 3.7" və ya "503450 lipo" (8.00 funt) axtarın
LiPo nömrəsi 503450 -dir və bunun 50 mm uzunluğunun 34 mm enində və 5,0 dərinliyində olduğunu bilmək xoş ola bilər.
Addım 1: Taxta Uçlar
Dizaynı çap etdiyimi və kontrplakdan yapışdırdığımı şəkillərdə görə bilməlisən. Açıq görünməyən şey, bir anda 3 hissəni kəsdim və alt hissə əvvəlcə perimetrin ətrafında kəsildi, sonra bir hissə (arxadan) çıxarıldı, sonra qalan iki hissədə deşik kəsildi, sonra başqa bir hissədə yalnız ön hissəsini buraxaraq çıxardıqdan sonra tellər üçün yuva kəsildi.
Bütün bitlər kəsildikdə əvvəlcə hamısının bir -birinə necə uyğun olduğunu yoxlamalı, sonra hamısını yapışdırmalısınız. Hər şeyin düzgün dairəvi olduğundan əmin olmaq üçün saat planının üstünə 3 qat qoydum. Həm də alt hissələri düzgün istiqamətdə aldığınızdan və tam orta dilimin tərsinə quraşdırıldığından əmin olun ki, oynaqların üstündən keçin.
Ön hissələrdəki çuxurlar, dörddə bir hissədə lehimlənmiş birləşmələrin oturmasına imkan verir, aşağı hissəsi isə tellərin keçməsinə imkan verir.
Şəkillər silsiləsi də bazanın necə birləşdirildiyini göstərir.
Addım 2: LED halqasının naqilləri
Bu addım haqqında çox şey söyləmək olmaz, ancaq WS2812LED zolağını istifadə etməmisinizsə, ağıllıdırlar, buna görə hər birinin daxilində və xaricində bir məlumat var. 15 LED -in qövslərində PCB bütün əlaqələri idarə edir, ancaq bölmələrə qoşulmağa gəldikdə güc əlaqələrini və məlumatları etməlisiniz. Bağlantıları bir dairədə olduqları üçün səhv başa düşə bilməzsiniz, ancaq dairəni bitirdikdən sonra telləri IN girişinə bağlamağa imkan verən IN/OUT məlumatlarında bir keçid çatışmazlığı olmalıdır. Kabellərin məlumatlara qoşulduğu yerdə IN ilk LED olacaq və ya sıfıra düzgün yazıldığından.
LED üzüklərini taxta üzüyə necə düzəltməyin ən yaxşı yolu olduğunu düşündüm. amma sonda hər dəfə bir LED atlayaraq ətrafdakı kordon və dəzgahdan istifadə etmək qərarına gəldim.
Addım 3: Arduino Nano və Gücün naqilləri
Əvvəlcə bu layihədə bir LiPo istifadə etmək qərarına gəldim, amma sınadığımda batareya bir gecədə boşaldı. Əvvəlcə batareyanın boş olduğunu düşündüm, buna görə cərəyanı ölçdüm və dövrənin 73mA çəkdiyini kəşf etdim ki, bu da batareyada daha çox olacaq. Əslində batareyadakı cərəyanı ölçdüm (gücləndirici çeviricidən əvvəl) və 110mA -dan çox olduğunu kəşf etdim. Bu saatın batareya ilə işləməyəcəyi aydın oldu.
Bunun əvəzinə 5V USB şarj cihazı istifadə etməyi seçirəm. Bağlayıcıların iki kiçik uşaqdan sui -istifadə etməsi səbəbindən ətrafımda çoxlu ölü USB şarj cihazı var.
WS2812 LED -ləri istifadə etdiyimiz üçün Arduino Nano ilə cəmi 3 əlaqəmiz var.
- Güc
- Zəmin
- Məlumat IN. Nano -da D2 -ə qədər narıncı
Sonra RTC -yə sahibik, bunun yalnız 4 teli var.
- Güc 5 volt
- Zəmin
- SCL (I2C Saatı) Nanoda A5 -dən maviyə qədər
- SDA (I2C Məlumatları) Nanoda sarıdan A4 -ə qədər
Nəhayət, gücə ehtiyacımız var və bu, Nano üzərindəki 5 V güc terminalına gedir.. Vin, 5 voltdan (yəni 7-12 Volt) daha böyük bir gərginliyə və torpağa sahib olmaq üçün hazırlanmışdır.
Addım 4: Proqram
Proqramlaşdırmağı çox sevirəm, sadəcə o qədər də yaxşı deyiləm.
Problem 1
Saniyə və dəqiqələr düzgün olaraq 0-59 arasında bir rəqəm olaraq təqdim olunur. Ancaq ilk LED və buna görə sıfır altındadır. Buna görə də bunu düzəltmək lazım idi.
void correctPos (int A)
{əgər (A 30) {A = A - 31; }} temp = A; }
Problem 2
Yeni mövqeyi göstərməzdən əvvəl bütün LED -ləri silməyə çalışdım, lakin bu LED -lərin yanıb sönməsinə səbəb oldu. Buna görə də növbəti LED -i yandırıb əvvəlki lampanı söndürmək qərarına gəldim. Bu yaxşı işlədi ?? YOX, çünki yeni mövqe sıfır olsaydı, cəhd edib -1 -i söndürərdi. buna görə də eyni vaxtda həll edildi.
void deletePrevious (int B)
// əvvəlki ledi silin, sıfır olsaydı // 59 -u söndürün, yalnız 1 -i çıxarın və o birini söndürün. {if (B == 0) {strip.setPixelColor (59, 0, 0, 0); // Hamısı off} başqa {strip.setPixelColor (B - 1, 0, 0, 0); // hamısı off}}
Problem 3
Yuxarıdakıları etmək, ikinci ikinci mövqe köhnə dəqiqənin yerinə gələnə qədər çox yaxşı işləyirdi. Bu o demək idi ki, saniyələrdən sonra yenilənən dəqiqə onu söndürdü! Saat/dəqiqə üçün də eyni
əgər (saniyə == dəq-1)
{strip.setPixelColor (dəqiqə-1, 0, 30, 0); }
Problem 4
İşlər yaxşı görünməyə başlayır, buna görə eyni vəziyyətdə düşəndə rəngləri qarışdıraq?
əgər (dəqiqə == saniyə)
{strip.setPixelColor (dəq, 15, 13, 0); // sarı etmək üçün yaşıl və qırmızı. }
Problem 5
Saat 24 saat formatında başlayır. buna görə ilk növbədə bunun düzəldilməsi lazımdır
əgər (saat> 12)
{saat = saat -12; }
Problem 6
Gündə 24 saat olduğunu və 60 LED -in olduğunu unutma. Həqiqətən 5 -ə bərabərdir
saat = saat * 5;
Problem 7
Yuxarıda göstərilənləri etdikdə, indi 4 LED -lə bir saat tullanırıq, bütün LED -lərdən istifadə etsəniz və bir saatın fraksiyalarını düzgün göstərsəydiniz daha yaxşı olardı? Yenə bu asan bir düzəliş idi, yalnız orijinal dəqiqələrin sayını 12 -ə bölünmüş saata əlavə etdim.
saat = saat + (addMin/12);
Problem 8
Saat və ya dəqiqə ledinin altındakı saniyələr bir saniyə əvvəl yox olur.
saat = əgər (dəqiqə == 0)
{if (secs == 59) {strip.setPixelColor (59, 0, 30, 0); // green}} if (hours == 0) {if (secs == 59) {strip.setPixelColor (59, 0), 30, 0); // yaşıl}}
Problem 9
Vaxtın təyin edilməsi. Bu quruluşu çox sadə saxlamağa qərar verdim, buna görə vaxtı tənzimləmək üçün düymələr daxil edilmədi. Yəni yalnız saatı kompüterinizə bağlamaq və yeni bir zaman yükləmək məsələsi var. Sadəcə aşağıdakı bölməni şərhdən çıxarın və tələb olunan vaxtı təyin edin və sonra proqramı yükləyin. Xətti düzgün şərh etdikdən və proqramı yenidən göndərdikdən sonra, gücünü itirsəniz, yenidən qurulacaq və köhnə vaxtı yenidən yükləyəcək.
// 12 aprel 2020 -ci il saat 23: 20 -də zəng edərdiniz:
//rtc.adjust (Tarix Zamanı (2020, 4, 12, 23, 20, 0)));
Tövsiyə:
GSM, GPS və Akselerometrdən istifadə edən Qəza Xəbərdarlıq Sistemi: 5 Addım (Şəkillərlə birlikdə)
GSM, GPS və Akselerometrdən istifadə edən Qəza Xəbərdarlıq Sistemi: Zəhmət olmasa Müsabiqəyə Səs Verin Xahiş edirəm Müsabiqəyə səs verinHazırda bir çox insan qəza nəticəsində yolda ölür, əsas səbəb "xilasetmə gecikməsidir". İnkişaf etməkdə olan ölkələrdə bu problem çox böyükdür, buna görə də bu layihəni xilas etmək üçün hazırladım
NEOPIXEL İSTİFADƏ EDƏN RGB LED MATRIX: 8 Addım (Şəkillərlə birlikdə)
NEOPIXEL İSTİFADƏ EDƏN RGB LED MATRİSİ: Bu təlimatda sizə NEOPIXEL İSTİFADƏSİ ilə 5*5 RGB LEDMATRIX qurmağı göstərəcəyəm. Bu matrislə çox cazibədar fövqəladə cazibədar animasiyalar, emojilər və hərflər göstərə bilərik. gəlin başlayaq
Mikro nəzarətçidən istifadə edən rəqəmsal saat (RTC dövrəsi olmadan AT89S52): 4 addım (şəkillərlə)
Mikro nəzarətçidən istifadə edən rəqəmsal saat (RTC dövrəsi olmadan AT89S52): Bir saatı təsvir edək … " Saat (sayını) sayan və göstərən bir cihazdır (nisbi) " !!! Guya dedim ki, ALARM xüsusiyyəti olan bir SAAT düzəlt. . Qeyd: oxumaq 2-3 dəqiqə çəkəcək, zəhmət olmasa bütün layihəni oxuyun, əks halda oxumayacağam
Arduino ilə 2.4Ghz NRF24L01 Modulundan istifadə edən Simsiz Uzaqdan - Nrf24l01 4 Kanal / Quadcopter üçün 6 Kanal Verici Alıcısı - Rc Helikopteri - Arduino istifadə edərək Rc təyyarəsi: 5 addım (şəkillərlə)
Arduino ilə 2.4Ghz NRF24L01 Modulundan istifadə edən Simsiz Uzaqdan | Nrf24l01 4 Kanal / Quadcopter üçün 6 Kanal Verici Alıcısı | Rc Helikopteri | Arduino istifadə edərək Rc Plane: Rc avtomobili idarə etmək | Quadcopter | Drone | RC təyyarəsi | RC qayığı, həmişə bir alıcıya və ötürücüyə ehtiyacımız var, RC QUADCOPTER üçün 6 kanallı bir vericiyə və alıcıya ehtiyacımız olduğunu və bu tip TX və RX -in çox bahalı olduğunu düşünürük, buna görə də özümüzdə hazırlayacağıq
Neopixel istifadə edən ikili saat: 6 addım (şəkillərlə)
Neopixellərdən istifadə edən İkili Saat: Salam insanlar, LED ilə əlaqəli hər şeyi sevirəm və onlardan fərqli maraqlı yollarla istifadə etməyi sevirəm. öz saatınızı yaradın, həqiqətən də