Mündəricat:
Video: Ətraf mühitin real vaxt saatı: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Məqsəd
Ətrafımda bir ünvanlı LED şeridi olduğu üçün istifadə etmək istədiyim üçün bu Saatı hazırladım. Sonra gördüm ki, otağımın divarlarına uyğun yaxşı bir Saatı yoxdur. İstifadəçilərin əhval -ruhiyyəsinə və ya divar rənginə görə rənglərini dəyişə biləcək bir Saat hazırlamaq qərarına gəldim.
Addım 1: YouTube Video
Tam təlimat üçün bu youtube videosuna baxın
Addım 2: Prosedur
Əvvəlcə 24 x 15 düymlük kontrplak lövhə götürdüm.
LED şeridini parçalara ayırın və lövhəyə yapışdırın. Lehimləndikdən sonra hamısını qara cədvəl kağızı ilə örtürəm, sonra üzərinə termokoal təbəqə yapışdırırıq və termokalı 4 yeddi seqmentli displey şəklində kəsici ilə kəsirik. ortada iki deşik. Sonra, aşağıda göstərilən sxemlərdən istifadə edərək dövrə hazırladım
və bütün bunları lövhənin arxasına yapışdırdı. Eyni şəkildə https://jlcpcb.com saytından xüsusi bir pcb sifariş etdim, Çindən ən aşağı qiymətə ən yaxşı pcb prototipləri təqdim edir və bütün dünyada sürətli və təhlükəsiz göndərirlər. lövhəmdə bütün komponentlərimi lehimlədikdən sonra çörək taxtasını çıxartdım və lövhənin arxasındakı hər şeyi və örtülmüş ön hissəni nazik şəffaf bir kağızdan istifadə edərək düzəltdim. Saat möhtəşəm görünür və divarın gözəlliyini artırır. fərdiləşdirmə rəngləri istənilən divar üçün mükəmməl edir.
Bu layihəni sevirsinizsə, youtube -da abunə olun və ya https://robocircuits.com veb saytımızı ziyarət edin Oxuduğunuz üçün təşəkkür edirik!
Addım 3: Kod
/* Kod RoboCircuits tərəfindən tərtib edilmişdir
* Bu kodla bağlı kömək üçün https://robocircuits.com veb saytımıza daxil olun * Bu kod DS3231.h Kitabxanasından istifadə edir, https://robocircuits.com saytından yükləyin * Tam Təlimat üçün Videonu YouTube Kanalımızda https:// youtube -da izləyin. com/robocircuits */
#daxil edin #daxil edin
int i = 0, j = 0, k = 150;
// DS3231 rtc (SDA, SCL) hardware interfeysindən istifadə edərək DS3231 -i işə salın;
#ifdef _AVR_ ##endif daxil edin
// Arduino -da hansı pin NeoPixel -ə bağlıdır? // Bibloda və ya Gemmada bunu 1 #define PIN 6 olaraq dəyişdirməyi təklif edirik
// Arduino -ya neçə NeoPixel qoşulub? #müəyyən NUMPIXELS 45
// NeoPixel kitabxanasını qurduqda, ona neçə piksel və hansı pinlə siqnal göndərmək lazım olduğunu söyləyirik. // Köhnə NeoPixel zolaqları üçün üçüncü parametri dəyişdirməyiniz lazım ola biləcəyini unutmayın-mümkün dəyərlər haqqında daha çox məlumat üçün strandtest // nümunəsinə baxın. Adafruit_NeoPixel pikselləri = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int gecikmə müddəti = 500; // yarım saniyə gecikmə
void setup () {// Bu, Trinket 5V 16MHz üçündür, əgər (F_CPU == 16000000) clock_prescale_set (clock_div_1) əgər #bir təyin edilmiş (_AVR_ATtiny85_) bir Trinket istifadə etmirsinizsə bu üç xətti silə bilərsiniz; #endif // Bibliya sonunun xüsusi kodu
piksel.begin (); // Bu NeoPixel kitabxanasını işə salır. // Quraşdırma Serial bağlantısı Serial.begin (115200); // rtc obyektini işə salın rtc.begin (); // Tarix və saatı təyin etmək üçün aşağıdakı sətirləri şərh etmək olmaz //rtc.setDOW(WEDNESDAY); // Həftənin Gününü Bazar günü olaraq təyin edin //rtc.setTime(12, 0, 0); // Vaxtı 12:00:00 (24 saat formatı) olaraq təyin edin //rtc.setDate(1, 1, 2014); // Tarixi 1 Yanvar 2014 -ə təyin edin}
void loop () {if (digitalRead (2) == HIGH) {int a = analogRead (A0); int b = analogRead (A1); int c = analogRead (A2); i = xəritə (a, 0, 1025, 0, 150); // Yaşıl Rəng j = xəritə (b, 0, 1025, 0, 150); // Mavi Rəng k = xəritə (c, 0, 1025, 0, 150); // Qırmızı Rəng} başqa {i = 0; j = 0; k = 150; }
// Arka işıq üçün kod (int x = 29; x <= 45; x ++) {piksel.setPixelColor (x, piksel. Color (i, j, k)); piksel.show (); }
// rtc String -dən Real Zaman Alınması x = rtc.getTimeStr (); // Zaman göndər Serial.println (rtc.getTimeStr ()); int saat1 = x.charAt (0); int saat2 = x.charAt (1); int min1 = x.charAt (3); int min2 = x.charAt (4); saat1 = saat1-48; saat2 = saat2-48; min1 = min1-48; min2 = min2-48;
// Saat keçidində vaxtın göstərilməsi (hour1) {// case 0: zero (0); //fasilə; hal 1: bir (0); fasilə; hal 2: iki (0); fasilə; default: nulll (0); fasilə; } keçid (saat2) {hal 0: sıfır (7); fasilə; hal 1: bir (7); fasilə; hal 2: iki (7); fasilə; iş 3: üç (7); fasilə; iş 4: dörd (7); fasilə; dava 5: beş (7); fasilə; iş 6: altı (7); fasilə; iş 7: yeddi (7); fasilə; iş 8: səkkiz (7); fasilə; iş 9: doqquz (7); fasilə; standart: nulll (7); fasilə; } keçid (min1) {hal 0: sıfır (15); fasilə; hal 1: bir (15); fasilə; hal 2: iki (15); fasilə; iş 3: üç (15); fasilə; iş 4: dörd (15); fasilə; dava 5: beş (15); fasilə; standart: nulll (15); fasilə; } keçid (min2) {hal 0: sıfır (22); fasilə; hal 1: bir (22); fasilə; hal 2: iki (22); fasilə; iş 3: üç (22); fasilə; iş 4: dörd (22); fasilə; iş 5: beş (22); fasilə; iş 6: altı (22); fasilə; iş 7: yeddi (22); fasilə; hal 8: səkkiz (22); fasilə; iş 9: doqquz (22); fasilə; standart: nulll (22); fasilə; } piksel.setPixelColor (14, piksel. Color (i, j, k)); piksel.show (); gecikmə (250); piksel.setPixelColor (14, piksel. Color (0, 0, 0)); piksel.show (); gecikmə (250); }
boş sıfır (int a) {piksel.setPixelColor (a+0, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+1, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+2, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+3, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+4, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+5, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+6, piksel. Color (i, j, k)); piksel.show (); } void one (int a) {piksel.setPixelColor (a+0, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+1, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+2, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+3, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+4, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+5, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+6, piksel. Color (i, j, k)); piksel.show (); } iki boşluq (int a) {piksel.setPixelColor (a+0, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+1, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+2, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+3, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+4, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+5, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+6, piksel. Color (0, 0, 0)); piksel.show (); } üç boşluq (int a) {piksel.setPixelColor (a+0, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+1, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+2, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+3, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+4, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+5, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+6, piksel. Color (i, j, k)); piksel.show (); } boş dörd (int a) {piksel.setPixelColor (a+0, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+1, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+2, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+3, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+4, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+5, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+6, piksel. Color (i, j, k)); piksel.show (); } beş boş (int a) {piksel.setPixelColor (a+0, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+1, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+2, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+3, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+4, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+5, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+6, piksel. Color (i, j, k)); piksel.show (); } boşluq altı (int a) {piksel.setPixelColor (a+0, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+1, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+2, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+3, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+4, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+5, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+6, piksel. Color (i, j, k)); piksel.show (); } yeddi boşluq (int a) {piksel.setPixelColor (a+0, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+1, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+2, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+3, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+4, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+5, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+6, piksel. Color (i, j, k)); piksel.show (); } boşluq səkkiz (int a) {piksel.setPixelColor (a+0, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+1, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+2, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+3, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+4, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+5, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+6, piksel. Color (i, j, k)); piksel.show (); } boşluq doqquz (int a) {piksel.setPixelColor (a+0, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+1, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+2, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+3, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+4, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+5, piksel. Color (i, j, k)); piksel.show (); piksel.setPixelColor (a+6, piksel. Color (i, j, k)); piksel.show (); } void nulll (int a) {piksel.setPixelColor (a+0, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+1, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+2, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+3, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+4, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+5, piksel. Color (0, 0, 0)); piksel.show (); piksel.setPixelColor (a+6, piksel. Color (0, 0, 0)); piksel.show (); }
Addım 4: Təşəkkür edirəm
robocircuits.com saytına daxil olun
Tövsiyə:
Mood Dinamik- Ətraf Mühitin İstiliyinə Bağlı Çalınacaq Mood Musiqisi üçün Güclü Dinamik: 9 Addım
Mood Speaker- Ətraf Mühitin İstiliyinə Bağlı Mood Musiqisi Çalınacaq Güclü Dinamik: Salam, MCT Howest Kortrijk-dəki məktəb layihəm üçün Mood Hoparlör hazırladım, bu fərqli sensorlar, LCD və WS2812b olan ağıllı Bluetooth dinamik cihazdır. Dinamik temperaturdan asılı olaraq fon musiqisi çalır, ancaq
Sigfox vasitəsi ilə elektrik istehlakı və ətraf mühitin monitorinqi: 8 addım
Sigfox vasitəsi ilə elektrik istehlakı və ətraf mühitin monitorinqi: Təsvir Bu layihə, üç fazalı bir enerji paylamasında bir otağın elektrik istehlakını necə əldə edəcəyinizi və sonra hər 10 dəqiqədə Sigfox şəbəkəsini istifadə edərək bir serverə göndərməyi sizə göstərəcək. Gücü necə ölçmək olar?
Vaxt, Xəbərlər və Ətraf Mühit Məlumatları üçün Öz MQTT EInk Ekranınızı yaradın: 7 addım
Zaman, Xəbərlər və Ətraf Mühit Məlumatları üçün Öz MQTT EInk Ekranınızı yaradın: 'THE', Zaman, Xəbərlər və Ətraf Mühit Məlumatları üçün kiçik bir MQTT Məlumat Ekranıdır. 4.2 düymlük eInk ekranından istifadə edərək onun konsepsiyası sadədir-hər iki dəqiqədən bir yenilənən məlumatları rotasiya əsasında göstərmək. Məlumatlar hər hansı bir yem ola bilər - f
Arduino və TFT Ekranından istifadə edərək real vaxt saatı necə etmək olar - 3.5 düymlük TFT ekranı olan Arduino Mega RTC: 4 addım
Arduino və TFT Ekranından istifadə edərək real vaxt saatı necə etmək olar | 3.5 düymlük TFT ekranlı Arduino Mega RTC: Youtube kanalımı ziyarət edin. Giriş:- Bu yazıda 3,5 düymlük TFT toxunma LCD, Arduino Mega istifadə edərək "Real vaxt saatı" hazırlayacağam. 2560 və DS3231 RTC modulu… .Başlamadan əvvəl… YouTube kanalımdakı videonu yoxlayın .. Qeyd:- Arduin istifadə edirsinizsə
Localino Roomba IRobot -u izləyir, Ətraf Mühitin Xəritələrini Götürür və Nəzarətə İzin Verir .: 4 Addım
Localino Roomba IRobot-u izləyir, Ətraf Mühitin Xəritələrini Götürür və Nəzarətə İzin Verir .: Bu təlimat, Roomba iRobot-un Localino Daxili Lokalizasiya Sistemi, WiFi-UART körpüsü və PC tətbiqi ilə içəridə necə izlənilməsi və idarə olunma prosedurunu izah edir. Bu təlimatın izah detalı, bir HIL nəzarətini izah edən