Mundarija:
- 1 -qadam: Soatni qanday o'qish kerak
- 2 -qadam: asboblar va materiallar
- 3 -qadam: shablonlarni yig'ish
- 4 -qadam: qo'pol kesilgan doiralar
- 5 -qadam: o'lchamiga qarab kesib oling
- 6 -qadam: Shablonni qo'llash
- 7 -qadam: shablonni kesish
- 8 -qadam: silliqlash
- 9 -qadam: LEDlar uchun matkap tutqichlari
- 10 -qadam: taxtalarni birlashtirish
- 11 -qadam: LEDlarni joylashtiring
- 12 -qadam: 1 -qismni biriktiring
- 13 -qadam: bo'yoq
- 14 -qadam: 2 -qism
- 15 -qadam: 3 -qism
- 16 -qadam: silliq halqa va bo'yoq
- 17 -qadam: Akrilni kesib oling
- 18 -qadam: Deraza rangini qo'llang
- 19 -qadam: Defuserni ulang
- 20 -qadam: izolyatsiyani qo'llang
- 21 -qadam: yig'ing
- 22 -qadam: Ankraj nuqtalarini biriktiring
- 23 -qadam: Quvvat va LDR sensori teshiklari
- 24 -qadam: Elektron ushlagichni o'rnating
- 25 -qadam: Orqa qopqoq
- 26 -qadam: Kod va fayllar
- 27 -qadam: Xursand bo'ling
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14
Vaqt o'tishi biz nazorat qila olmaydigan narsadir. Agar biz uxlayotgan, uyg'ongan, zerikkan yoki mashg'ul bo'lganimizda ham xuddi shunday tezlikda sodir bo'ladi. Hozirgi voqealar bilan vaqt o'tishini unutmaslik kerak. Vaqt o'tishini kutib turibmiz, nima uchun vaqt o'tishini tomosha qilishni yanada jozibador qilmasligimiz kerak.
Bu soat Germaniyaning Berlin shahrida topilgan Mengenlehreuhrdan ilhomlangan va xuddi shu tarzda o'qilishi mumkin. Xuddi asl nusxada bo'lgani kabi, vaqtni yoritilgan, rangli maydonlar orqali ko'rsatadi.
U 52 ta "raqamli" hududlarni yoritadigan 96 ta LEDga ega. Asl nusxadan farqli o'laroq, u gorizontal chiziqlar o'rniga sekundli halqani o'z ichiga olgan dumaloq dizaynga ega. Tashqi tasma o'rta nuqta bilan birgalikda soniyalarni bildiradi, keyingi ikkita tasma daqiqalarni, oxirgi ichki chiziqlar soatni ko'rsatadi.
Agar sizning qo'lingizda bir nechta qoldiq materiallar va qo'shimcha vaqt bo'lsa, nega bu vaqtni uni ko'rsatadigan biror narsa qilish uchun ishlatmasligingiz kerak!
Agar men bu loyihani qaytadan qilsam, bir nechta o'zgartirishlar kiritaman. Birinchidan, men ramka va LED taxtani qora o'rniga oq rangga bo'yagan bo'lardim. Bu old tomondan katta optikasi orqali ko'proq yorug'likni aks ettiradi. Men ham LEDlarni kiritish uchun oxirigacha kutardim. Menga taxtani oldinroq tugatish kerak edi, bu menga kod yozishda yordam berishi mumkin edi. Shunday qilib, keling, avval uni o'qishni o'rganamiz!
1 -qadam: Soatni qanday o'qish kerak
Soat ichki doiralardan tashqi tomonga o'qiladi. To'rtta maydonning ichki halqasi har biri beshta to'liq soatni, ikkinchi halqadan tashqari, to'rtta maydonni ham o'z ichiga oladi, bu har birida to'liq soatni bildiradi va soat qiymatini 24 soatlik formatda ko'rsatadi. Uchinchi halqa o'n bitta maydondan iborat bo'lib, ularning har biri beshta to'liq daqiqani bildiradi, keyingi halqada yana to'rtta maydon bor, ularning har biri bitta to'liq daqiqani belgilaydi. Nihoyat, 29 ta maydonning tashqi halqasi juft soniyalarni bildiradi, markazda yorug'lik yonib turganda, toq (yonganda) yoki juft sonli (o'chmagan) sonlarni bildiradi.
Masalan, yuqoridagi rasmda besh soatlik raqamlarning 1 tasi, bir soatlik raqamlarning 3 tasi, besh daqiqali raqamlarning 8 tasi, bir daqiqali raqamlarning 4 tasi va ikkita ikkinchi raqamning 23 tasi va ikkinchi ikkinchi raqam yonadi.
1x5 + 3x1: 8x5 + 4x1: 23x2 + 1x1 = 8:44:47 = 8:44:47 AM
Yuqorida ko'rsatilgan vaqt: 3x5 + 0x1: 3x5 + 2x1: 5x2 + 1x1 = 15:17:11 = 3:17:11
Yuqorida ko'rsatilgan vaqt: 3x5 + 2x1: 3x5 + 3x1: 16x2 + 1x1 = 17:18:33 = 17:18:33
2 -qadam: asboblar va materiallar
Elektron materiallar:
- Arduino Nano
- Haqiqiy vaqt soati
- Manzil LEDlari
- Quvvat vilkasi
- Quvvat kabeli
- USB quvvat vilkasi
- Yengil qarshilik va muvozanatli qarshilik (agar siz tunda xiralashishini xohlasangiz)
- Tel
Yog'ochga ishlov beradigan materiallar:
- 3/4 dyuymli kontrplak
- Yupqa kontrplak
- Yog'och qoldiqlari (men 2x4s ishlatardim, lekin qattiq yog'och ham ishlaydi)
- Bo'yamoq
- Akril 30 x 36 dyuymli varaq (mahalliy uy -ro'zg'or do'konidan topilgan)
- Oyna rangi
- Deraza rangini surtish uchun suyuqlik (men buzadigan amallar shishasida bolalar shampuni bilan aralashtirilgan suvdan foydalandim)
- Windex
- Qassob qog'ozi
- Vintlar
- Sprey yopishtiruvchi
- Yelim
- Yelim tayoqchasi
Asboblar:
- Hukmdor
- Xacto pichog'i
- Lenta
- Ikki tomonlama lenta
- Kompas
- Doira kesish dastgohi
- Jigsaw
- Tishli arra
- Ish mil
- Palm Sander
- Disk Sander
- Router jadvali
- Avl
- Matkap va matkap uchlari/haydovchilar
- Qisqichlar
- Lehimlash temir
- Lehim
- Tel -striptizchilar
3 -qadam: shablonlarni yig'ish
Katta shablon uchun Adobe Reader plakat sozlamasi yordamida chop eting. Har bir qog'ozning chekkalarini kesib oling va lenta bilan yopishtiring. Vertikal, gorizontal va diagonal chiziqlar shablonni tekislashga yordam beradi. Sahifalar tartibsiz bo'lsa, tartibni saqlashga yordam beradigan kichik raqamlar bilan yozilgan.
Barcha kerakli andozalar va fayllar 26 -qadamda topilgan.
4 -qadam: qo'pol kesilgan doiralar
Ikkita shablonni 3/4 dyuymli kontrplak varag'iga qo'yib, kompas yordamida kerak bo'lgandan biroz kattaroq doiralarni chizib oling. Jigsaw yordamida qo'pol shaklni kesib oling.
5 -qadam: o'lchamiga qarab kesib oling
Tasma ustidagi aylana kesish moslamasidan foydalanib, aylanalarni oxirgi o'lchamiga kesib oling.
6 -qadam: Shablonni qo'llash
Spray yopishtiruvchi yordamida har bir shablonni aylanaga qo'llang. Naqshning o'rtasiga tirnoq qo'ying, uni aylana bo'ylab joylashtiring.
7 -qadam: shablonni kesish
Jigsaw yordamida shablonning har bir alohida oynasini kesib tashlang. Agar siz CNC -ga kirishingiz mumkin bo'lsa, bu qadam ancha oson bo'lardi! Men bu jarayonga yordam berish uchun har bir oynada teshik ochdim. Siz kesishni boshlaganingizda, shablon tusha boshlaydi. Agar bu sodir bo'lsa, siz uni kichik lenta bilan mahkamlashingiz mumkin.
8 -qadam: silliqlash
Tayoqqa, milga ishlov beruvchiga va xurmo zımpara uchun qo'llaniladigan zımpara qog'ozidan foydalanib, jigsawdan qolgan qo'pol kesmani qumlang va tekislang.
9 -qadam: LEDlar uchun matkap tutqichlari
Har bir teshikning o'rtasini burilish bilan belgilang va LEDlar uchun teshiklarni burang. Men matkapni ishlov beriladigan qismga perpendikulyar saqlashga yordam beradigan qo'llanma va orqa tarafdagi o'tinni puflamaslik uchun taxtadan foydalanardim.
10 -qadam: taxtalarni birlashtirish
Old va orqa taxtalarni almashtiring va LED panelining orqa qismidagi ramka qismlarini o'rnating. Ramkani LED taxtasining old qismiga qaytaring va teshiklarni burang va bo'laklarni bir -biriga burab qo'ying.
Qo'shimcha ma'lumot olish uchun rasm yozuvlariga qarang.
11 -qadam: LEDlarni joylashtiring
LED panelini LED panelining orqa qismidan o'tkazing. Teshiklar bir -biridan ikkinchisiga o'tishdan boshqa simlarni kesishning hojati yo'q, shunday masofada bo'lishi kerak.
Orqa tomondan, LEDlar markazdan boshlanadi va keyin soat sohasi farqli o'laroq, keyingi halqaga o'tadi.
12 -qadam: 1 -qismni biriktiring
3/4 dyuymli kontrplakga biriktirilgan "Segment 1" shablonidan 9 ta segmentni kesib oling (26 -qadamda topilgan). LED panelini elim va qisqichlar bilan mahkamlang. Agar siz sabrsiz bo'lsangiz, uni mixlar bilan mahkamlashingiz mumkin.
Quriganidan so'ng, qirrasini disk silliqlash moslamasi bilan tekislang.
13 -qadam: bo'yoq
Dvigatel paneli va ramkani ham buzadigan amallar bilan bo'yash. Agar men buni yana qilsam, men qora emas, oq rangdan foydalanishni tanlagan bo'lardim, chunki u ob'ektiv orqali ko'proq aks etardi.
14 -qadam: 2 -qism
Qalinligi 3/8 dyuym bo'lgan yog'ochdan yasalgan "Segment 2" shablonidan 9 segmentni kesib oling (26 -bosqichda topilgan). Men do'kon atrofidan 2x4 o'lchamdagi qoldiqlardan foydalandim. Segmentlarni quruq joylashtiring va tasma qisqichi bilan yaxshi mos kelishini ta'minlang. Agar hamma narsa tekshirilsa, elim yopishmasligi uchun sirtini bo'yoqlar lentasi bilan yoping va keyingi bosqichga o'tishdan oldin kamida bir soat quriting.
15 -qadam: 3 -qism
Qalinligi 3/8 dyuymli yog'ochdan biriktirilgan "3 -segment" shablonidan 9 ta segmentni kesib oling (26 -bosqichda topilgan). 2 -qismdagi tikuvlar har bir segmentning o'rtasida bo'lishi uchun ularni yopishtiring. Bu halqani mustahkamlaydi.
16 -qadam: silliq halqa va bo'yoq
Men katta halqaning kesilgan qismidan maxsus silliqlash blokini yasadim. Ringning ichki va tashqi qismini qumlang va yopishtirish jarayonida paydo bo'lishi mumkin bo'lgan yoriqlarni to'ldiring.
Silliq bo'lgandan so'ng, bir necha marta qora bo'yoq va shaffof lakni qo'llang.
17 -qadam: Akrilni kesib oling
Akrilni 30 x 30 dyuymli kvadratga kesib oling va o'rtasini belgilang. Akrilni ikki tomonlama lenta bilan mahkamlang. Yopishtiruvchi yo'riqnoma bitidan foydalanib, ortiqcha akrilni olib tashlang
18 -qadam: Deraza rangini qo'llang
Chang bo'lmagan muhitda himoya plyonkani akrildan olib tashlang. Spreyi qo'llang va deraza oynasining orqa qismini olib tashlang. Yopishqoq tomonini pastga qarating. Siqish yoki kredit kartasidan foydalanib, deraza oynasi ostidagi barcha suyuqlikni siqib chiqaring. Barcha pufakchalar va ajinlar olib tashlangandan so'ng, o'tkir pichoq yordamida oynaning ortiqcha rangini qirqing.
19 -qadam: Defuserni ulang
Men defuser sifatida katta qassob qog'ozidan foydalanardim. Qog'ozni tekis yuzaga qo'ying. Ramkaning yuzini yopishtiruvchi tayoqdan elim bilan yoping. Yelim quriguncha, soatning old qismini qog'ozga qarating va ortiqcha qismini qo'pol qilib kesib oling. Quriganidan so'ng, kesish uchun o'tkir pichoqni ishlating.
20 -qadam: izolyatsiyani qo'llang
Quvvat va ma'lumot uzatish liniyalarini alohida saqlash uchun men elektr tasmasini ishlatardim.
21 -qadam: yig'ing
Akrildan boshqa himoya qatlamini olib tashlang. Akrilni halqa ichiga, derazaning bo'yog'i yuqoriga qaragan holda joylashtiring. Qolgan soatni ringga siljiting. Yengil bosim o'tkazish uchun qisqichni ishlating, halqa orqali va LED taxtasida teshik ochiladi. Bu orqa tomondan taxminan 1/1 dyuym bo'lishi kerak. LEDni burg'ulashdan ehtiyot bo'ling. Quvur boshining vintini teshikka burang. Soat perimetri bo'ylab jami sakkizta vintni takrorlang.
22 -qadam: Ankraj nuqtalarini biriktiring
Orqa qopqoqni mahkamlash uchun elim langari soatning orqa tomoniga ishora qiladi. Bu qalinligi 3/4 dyuym va uzunligi taxminan 2 dyuym.
23 -qadam: Quvvat va LDR sensori teshiklari
Elektr vilkasi uchun soatning pastki qismidan quvvat teshigini, yuqori qismidan esa nurga qarshilik rezistori (LDR) uchun teshik oching.
24 -qadam: Elektron ushlagichni o'rnating
RTC va Arduino Nano uchun 3D bosma ushlagichni o'rnating. Sxemada ko'rsatilganidek, barcha elektronikalarni ulang.
25 -qadam: Orqa qopqoq
Soat tashqarisidan kichikroq bo'lgan ingichka kontrplakdan orqa qopqog'ini kesib oling. O'rnatish joylariga teshiklarni burang. Orqa tomonning markazini toping va har ikki yo'nalishda 8 dyuymni o'lchang, shunda teshiklar kesiladi (AQShda pog'onali markazlarda 16 standart). Men asosiy teshikni ishlatadigan vintlar boshidan kattaroq qilib burg'iladim va teshikni bir tomonga kattaroq ochdim. Qora rangga bo'yab, qopqog'ini joyiga mahkamlang.
26 -qadam: Kod va fayllar
Shunga qaramay, men bu erda ishlatilgan Arduino kutubxonalaridan juda ko'p foydalanganim uchun juda yangi, shuning uchun ulardan foydalanishning yaxshiroq usullari borligiga aminman.
Men kodni, agar loyiha kattalashtirilsa yoki kamaytirilsa, qancha LED ishlatayotganingizga qarab osongina yangilanishi uchun yozdim. Siz qilishingiz kerak bo'lgan narsa - LEDning boshlang'ich va oxirgi pozitsiyalarini, shuningdek, har bir raqamga qancha LEDni kiritish.
Men ishga tushirish vaqtida ham, soat bo'yicha ham o'ynaydigan bir nechta animatsiyalarni qo'shdim. Ular bortida tasodifiy sonlar generatoriga asoslangan tasodifiy sudo.
Siz soatni ranglar oralig'ida aylantirib turishingiz yoki bitta holatda turishingiz mumkin. Kirish qismida ko'rsatilgandek, vaqtni o'qish uchun indikator raqamini ajratib ko'rsatish mumkin.
Kodni xohlaganingizcha tahrir qiling va o'zgartiring.
#"RTClib.h" ni qo'shing
#clude #define NUM_LEDS 96 #define DATA_PIN 3 #define LDR A0 RTC_DS1307 rtc; boolean timeChange = false; boolean printTime = noto'g'ri; // Konsolda chiqishni ko'rishni xohlasangiz rost qilib qo'ying. Nosozliklarni tuzatish uchun foydali. boolean redDown = rost; boolean greenDown = noto'g'ri; boolean blueDown = noto'g'ri; boolean tsikli = noto'g'ri; // Agar soat ranglari boolean ta'kidlashni = to'g'ri aylantirilishini xohlasangiz, rostni belgilang; // "Oxirgi raqam" ni ajratish uchun rostni belgilang. // har bir vaqt guruhining boshi va oxiri joylari const int SECOND_1_LOCATION = 0; const int HOUR_2_START_LOCATION = 1; const int HOUR_2_END_LOCATION = 8; const int HOUR_1_START_LOCATION = 9; const int HOUR_1_END_LOCATION = 20; const int MINUTE_2_START_LOCATION = 21; const int MINUTE_2_END_LOCATION = 42; const int MINUTE_1_START_LOCATION = 43; const int MINUTE_1_END_LOCATION = 66; const int SECOND_2_START_LOCATION = 67; const int SECOND_2_END_LOCATION = 95; const int LEDS_PER_HOUR_1 = 3; const int LEDS_PER_HOUR_2 = 2; const int LEDS_PER_MINUTE_1 = 6; const int LEDS_PER_MINUTE_2 = 2; // Vaqtni ajratish uchun ishlatiladigan multiplikatorlar const int MULTIPLIER_FIVE = 5; const int MULTIPLIER_TWO = 2; const int START_UP_DELAY = 1; // Buni ishga tushirish animatsiyasini tezlashtirish yoki sekinlashtirish uchun o'zgartiring const int CYCLE_SPEED = 1; // Rangni o'zgartirish tsikli uchun bu erda tezlikni o'zgartiring (1dan yuqori bo'lishi kerak) // O'zgaruvchilarni e'lon qilish int lastSecond = 0; int currentHour = 0; int currentMinute = 0; int currentSecond = 0; int soat1 = 0; int soat2 = 0; int daqiqa1 = 0; int minut2 = 0; int sekund1 = 0; int second2 = 0; int cycleCount = 1; float fadeValue = 255; float fadeCheck = 255; uint8_t yorqin = 255; int numberOfAnimations = 5; int tasodifiylik = 0; // Ranglarni o'rnating uint8_t red = 0; uint8_t yashil = 0; uint8_t ko'k = 255; uint8_t ta'kidlash_red = 60; uint8_t ta'kidlash_green = 60; uint8_t ta'kidlash_blue = 255; // LEDlar CRGB leds [NUM_LEDS] qatorini aniqlang; void setup () {Serial.begin (19200); FastLED.addLeds (LEDlar, NUM_LEDS); LEDS.setBrightness (yorqin); FastLED.clear (); rtc.begin (); // Vaqtni belgilash uchun quyida izoh qoldirmang. // rtc.adjust (DateTime (2020, 2, 19, 23, 59, 50)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))))); // animatsion animatsiyani ishga tushirish (tasodifiylik); } void loop () {// DateTime vaqtini hozir oling = rtc.now (); currentHour = now.hour (); currentMinute = now.minute (); currentSecond = now.second (); timeChange = noto'g'ri; // RTC holda vaqtni qo'lda o'rnatish uchun ulardan foydalaning. Nosozliklarni tuzatish uchun foydali // currentHour = 5; // currentMinute = 30; // currentSecond = 30; // Barcha bitlarni nolga qaytaring (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB:: Qora; } // Soatni o'rnatish // Soatni o'rnatish 1 soat1 = (joriyHour % MULTIPLIER_FIVE) * LEDS_PER_HOUR_1; // Bu (int i = HOUR_1_START_LOCATION; i 0) // && hour1 <12) {uchun (int i = (HOUR_1_START_LOCATION + hour1 - 1)) yonadigan vaqt birligining umumiy LEDlarini hisoblab chiqadi; i> = (HOUR_1_START_LOCATION + hour1-LEDS_PER_HOUR_1); i--) {leds = CRGB (ta'kidlash_qizil, ta'kidlash_yashil, ta'kidlash_ko'k); }} // Belgilangan soat 2 soat2 = (currentHour / MULTIPLIER_FIVE) * LEDS_PER_HOUR_2; // Bu vaqt birligining jami LEDlari yonadi (int i = HOUR_2_START_LOCATION; i 0) // && hour2 <8) {for (int i = (HOUR_2_START_LOCATION + hour2 - 1); i> = (HOUR_2_START_LOCATION + hour2-LEDS_PER_HOUR_2); i--) {leds = CRGB (ta'kidlash_qizil, ta'kidlash_yashil, ta'kidlash_ko'k); }} // Minutni belgilash // Daqiqani belgilash 1 daqiqa1 = (currentMinute % MULTIPLIER_FIVE) * LEDS_PER_MINUTE_1; // Bu vaqt birligidagi LEDlarning umumiy sonini hisobga oladi (int i = MINUTE_1_START_LOCATION; i 0) // && minutes1 <24) {for (int i = (MINUTE_1_START_LOCATION + daqiqa1 - 1); i> = (MINUTE_1_START_LOCATION + daqiqa1-LEDS_PER_MINUTE_1); i--) {leds = CRGB (ta'kidlash_qizil, ta'kidlash_yashil, ta'kidlash_kor); }} // 2 daqiqani belgilang2 = (currentMinute / MULTIPLIER_FIVE) * LEDS_PER_MINUTE_2; // Bu vaqt birligining jami LEDlarini yonadi (int i = MINUTE_2_START_LOCATION; i 0) // && minutes2 <22) {for (int i = (MINUTE_2_START_LOCATION + minut2 - 1)); i> = (MINUTE_2_START_LOCATION + daqiqa2-LEDS_PER_MINUTE_2); i--) {leds = CRGB (ta'kidlash_qizil, ta'kidlash_yashil, ta'kidlash_kor); }} // Ikkinchisini o'rnating, agar (currentSecond! = LastSecond) {timeChange = true; } // Ikkinchi 1 soniyani o'rnating1 = currentSecond % MULTIPLIER_TWO; if (second1 == 1) {leds [SECOND_1_LOCATION] = CRGB (qizil, yashil, ko'k); } // Ikkinchi 2 soniyani o'rnating2 = currentSecond / MULTIPLIER_TWO; for (int i = SECOND_2_START_LOCATION; i 0) // && second2 <29) {for (int i = (SECOND_2_START_LOCATION + second2 - 1); i> = (SECOND_2_START_LOCATION + second2 - 1); i--) {leds = CRGB (ta'kidlash_qizil, ta'kidlash_yashil, ta'kidlash_ ko'k); }} lastSecond = currentSecond; // Dastur tsikllarini hisoblang va LEDlarning rangini o'zgartirish uchun setColor funktsiyasini chaqiring CYCLE_SPEED. agar (CycleCount
27 -qadam: Xursand bo'ling
Xulosa qilib aytadigan bo'lsak, bu soatni tomosha qilish juda zo'r va uni qo'lga kiritganingizda, o'qish nisbatan oson. Agar siz o'zingiz soat loyihasini qilsangiz, menga xabar bering!
Tavsiya:
Harakat yoritgichli DIY portlovchi devor soati: 20 qadam (rasmlar bilan)
Harakatli yoritgichli DIY portlovchi devor soati: Bu ko'rsatma / videoda men sizga asta -sekin ko'rsatma beraman, qanday qilib birlashtirilgan yorug'lik tizimi bilan ijodiy va o'ziga xos devor soatini yasash mumkin. . Men yurganimda
Ambient LED devor soati: 11 qadam (rasmlar bilan)
Ambient LED devor soati: Yaqinda men juda ko'p ajoyib LED matritsalarini qurayotgan ko'p odamlarni ko'rdim, lekin ular murakkab koddan yoki qimmat qismlardan yoki ikkalasidan iborat edi. Men juda arzon qismlardan tashkil topgan o'z LED matritsasini qurishni o'yladim
Qiziqarli magnit devor soati: 24 qadam (rasmlar bilan)
Mo''jizaviy magnit devor soati: Mexanik soatlar har doim meni hayratga solgan. Ichki tishli uzatmalar, buloqlar va qochmalarning birgalikda ishlashi, natijada doimiy ishonchli soatga ega bo'lish, mening mahoratim cheklangan. Yaxshiyamki, zamonaviy elektronika
TheSUN, Arduino bilan ishlaydigan devor soati: 6 qadam (rasmlar bilan)
TheSUN, Arduino bilan ishlaydigan devor soatlari: Salom, yana instruktiv odamlar! Men, xuddi o'sha manzilli LED chiziqlar kabi (NEOP deb ham ataladi
Devor devori devor soati: 5 qadam
Devorli devor soati: atrofida tasodifiy elektron platalar ko'pmi? Yaxshi maqsadda ularni qayta ishlashni xohlaysizmi? Bu salqin va bezakli elektron platali devor soati, ozgina materiallardan yasalgan