Mundarija:
- Ta'minotlar
- 1 -qadam: qismlarni 3D bosib chiqarish
- 2 -qadam: Arduino -ni o'rnatish
- 3 -qadam: Kod
- 4 -qadam: Corona soatini yig'ish
- 5 -qadam: Corona soatini sozlash
- 6 -qadam: Fikrlar va dizaynni takrorlash
Video: Corona soati: 6 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Koronavirus butun sayyoraga tarqalganda va ko'plab mamlakatlar o'z fuqarolarini o'z uylariga qamab, virusni sekinlashtirmoqdalar, ko'pchiligimiz kunlar davomida hech narsa qilmaymiz. Yaxshiyamki Instructables bu erda yordam berish uchun keldi va bir nechta fikrlarni hisobga olgan holda Instructables Clock tanlovi ajoyib vaqt kabi tuyuldi:)
Agar siz ham koronavirus tufayli uy xo'jaligida zerikish bilan kurashayotgan bo'lsangiz, qo'rqmang, Corona Soati siz uchun, kafolatlangan 2 kunlik qurilish vaqti va cheksiz soatlik tomosha vaqti sizning yangi Corona soatingiz bilan o'tadi!
Shunday qilib, soatning orqasida g'oyalar magnit bilan boshqariladigan qo'llar o'rniga soat plastinkasida po'latdan yasalgan to'plar bo'lishi kerak edi, shunda to'plar xuddi sehr kabi harakat qilardi. Tashqi to'p daqiqalarni, ichki to'p esa soatni ifodalaydi.
Men barcha SAPR fayllarini Autodesk Fusion 360 yordamida yaratdim.
Hamma narsa Arduino yordamida dasturlashtirilgan.
Umid qilamanki, sizga bu ko'rsatma yoqadi va ehtimol siz ham bo'sh vaqtingizda Print/Build -ning eng yaxshi vazifasi deb topasiz.
Boshqa hech narsa aytmasdan, Building -ni olaylik !!!
Ta'minotlar
ELEKTRONIKA:
- 2x TowerPro SG90 servolari (bu erga havola)
- 1x Arduino Nano (bu erga havola)
- 1x Arduino Nano Shield (Bu erga havola)
- 1x Mini USB kabeli (havola shu erda)
- 1x 5V USB telefon zaryadlovchi qurilmasi (bu erga havola)
- 1x tugmachali modullar (bu erga havola) !!! Shu modelni sotib olganingizga ishonch hosil qiling !!!
- Ayol -ayol jumper simlari to'plami (Bu erga havola)
- Diametri 10 dan 15 mm gacha bo'lgan 2x po'latdan yasalgan sharlar
- 2x15 mm diametrli x 3 mm kenglikdagi neodim magnitlari (Bu erga havola) Agar siz ularni men singan holda sindirib qo'ysangiz, men 2 tadan ko'p sotib olardim:(
PLASTIKA:
Qismlarni PLA yoki PETG yoki ABS da chop etish mumkin.
Eng yaxshi natijaga erishish uchun sizga ikkita rangli filament kerak bo'ladi.
E'tibor bering, har birining 500 grammlik g'altagi 1 soatni chop etish uchun etarli
3D printer:
Minimal qurilish platformasi kerak: L130mm x W130mm x H75mm
Har qanday 3d printer shunday qiladi. Men shaxsan 200 dollarlik arzon 3D -printer bo'lgan Creality Ender 3 qismlarini chop etdim. Choplar juda yaxshi chiqdi.
Asboblar:
1x kichik boshli tornavida sizga kerak:)
1 -qadam: qismlarni 3D bosib chiqarish
Barcha qismlarni Pinshape -da yuklab olish mumkin (bu erda havola)
Men soatlarning barcha qismlarini bosib chiqarish paytida hech qanday yordamchi materiallar, sallar va qirralarsiz 3D bosma qilib ishlab chiqilgan.
Barcha qismlar Creality Ender 3 da chop etilgan
- Chop etish vaqti: taxminan 20 soat
- Materiallar: PETG
- Qatlam balandligi: 0,3 mm
- To'ldirish: 15%
- Burun diametri: 0,4 mm
Soat qismlari ro'yxati quyidagicha:
Oq:
- 1x bazasi
- 1x qopqoq
- 1x Servo ushlagichi
- 1x Cog
- 1x Servo Rack
- 1x ichki doira
- 1x tashqi doira
- 1x qo'l kengaytmasi
- 4x pin
- 2x tugma ushlagichi
- 2x oyoq kliplari
Qizil:
- 2x oyoq
- 1x plastinka
Postni qayta ishlash:
Agar siz omadingiz kelmasa yoki juda qimmat printerga ega bo'lmasangiz, uning qismlari siljishi kerak bo'ladi.
2 -qadam: Arduino -ni o'rnatish
Corona Clock ishlash uchun Arduino C ++ dasturidan foydalanadi. Dasturlarni soatiga yuklash uchun biz Arduino IDE -dan foydalanamiz
Arduino IDE -ni kompyuteringizga o'rnating
Arduino IDE (bu erga havola)
Kod Arduino IDE -da ishlashiga ishonch hosil qilish uchun quyidagi amallarni bajaring
- Kerakli Arduino kodini quyida yuklab oling (Corona Clock.ino)
- Uni Arduino IDE -da oching
- Asboblarni tanlang:
- Kengashni tanlang:
- Arduino Nano -ni tanlang
- Asboblarni tanlang:
- Protsessorni tanlang:
- ATmega328p -ni tanlang (eski yuklovchi)
- Arduino IDE -ning chap yuqori burchagidagi "Tasdiqlash" tugmasini bosing
Agar hamma narsa yaxshi bo'lsa, siz pastki qismida "Bajarildi" degan xabarni olishingiz kerak. Va endi siz 2 -bosqichni yakunladingiz !!!
3 -qadam: Kod
Sizni qiziqtirganlar uchun kodni ko'rib chiqing, ehtimol siz ularni servizor qo'llarini almashtirishingiz kerak bo'ladi, chunki har bir servo aniqligi o'zgaradi.
#qo'shing
Xizmat ko'rsatish myservoPUSHER;
MyservoSLIDER xizmat ko'rsatish tizimi;
const int buttonMinutes = 4;
int tugmasiStateMinutes = 0;
int FiveMinuteCounter = 0;
int OneHourCounter = 0;
imzolanmagan long time_now = 0;
bo'sh o'rnatish ()
{Serial.begin (9600);
pinMod (tugmaMinutes, INPUT);
myservoPUSHER.attach (2); myservoSLIDER.attach (3); myservoPUSHER.write (90); myservoSLIDER.write (90); kechikish (5000); myservoPUSHER.detach (); myservoSLIDER.detach (); }
bo'sh halqa ()
{FiveMinuteCounter = ((millis ()/1000) % (300)); // FiveMinuteCounter = 0 har 5 daqiqada
buttonStateMinutes = digitalRead (buttonMinutes);
Serial.print ("FiveMinuteCounter:");
Serial.print (FiveMinuteCounter); Serial.print ("OneHourCounter:"); Serial.print (OneHourCounter); Serial.print ("buttonStateMinutes:"); Serial.println (buttonStateMinutes);
// agar tugma bosilsa, daqiqa to'pi 5 daqiqa oldinga siljiydi
agar (buttonStateMinutes == 1)
{myservoPUSHER.attach (2); myservoSLIDER.attach (3); myservoPUSHER.write (30); kutish 5 soniya (); myservoSLIDER.write (130); kutish5 soniya (); myservoPUSHER.write (140); kutish5 soniya (); myservoPUSHER.write (90); kutish5 soniya (); myservoSLIDER.write (90); kutish 5 soniya (); myservoPUSHER.detach (); myservoSLIDER.detach (); OneHourCounter ++; }
// agar 5 daqiqa o'tgan bo'lsa, 5 daqiqa oldinga siljiting
agar (FiveMinuteCounter == 0)
{myservoPUSHER.attach (2); myservoSLIDER.attach (3); myservoPUSHER.write (30); kutish5 soniya (); myservoSLIDER.write (130); kutish5 soniya (); myservoPUSHER.write (140); kutish5 soniya (); myservoPUSHER.write (90); kutish5 soniya (); myservoSLIDER.write (90); kutish5 soniya (); myservoPUSHER.detach (); myservoSLIDER.detach (); OneHourCounter ++; }
// agar daqiqa to'pi 12 marta siljigan bo'lsa, soat to'pi 1 soat oldinga siljiydi
if (OneHourCounter> = 12) {myservoPUSHER.attach (2); myservoSLIDER.attach (3);
myservoPUSHER.write (65);
kutish 5 soniya (); myservoSLIDER.write (50); kutish5 soniya (); myservoPUSHER.write (130); kutish5 soniya (); myservoSLIDER.write (90); kutish 5 soniya (); myservoPUSHER.write (90); kutish 5 soniya (); myservoPUSHER.detach (); myservoSLIDER.detach (); OneHourCounter = 0; }}
bekor kutish 5 soniya ()
{time_now = millis (); while (millis () <time_now + 500) {// taxminan kuting. 500 ms}}
4 -qadam: Corona soatini yig'ish
Quyidagi barcha qadamlar Assembley videosida tasvirlangan
- Kodni Arduino Nano -ga yuklang
- Arduino Nano -ni Nano Shield -ga mahkamlang
- Videoda ko'rsatilgandek, servolardan birini Servo tokchasiga mahkamlang
- Servo va Servo tokchasini Servo ushlagichiga joylashtiring va kabelni videoda ko'rsatilgandek uyadan o'tkazing
- Nano qalqonning D2 piniga bu Servo -ni ulang
- Nano qalqonning D3 piniga boshqa Servo -ni ulang
- Videoda ko'rsatilganidek, boshqa Servo -ni tayanchga burab qo'ying
- USB kabelini tarmoq yoki noutbukga ulang
- USB kabelining ikkinchi uchini Arduino Nano -ga 2 soniya davomida ulang, servolar 90 daraja uy holatiga yetguncha
- USB kabelini elektr tarmog'idan yoki noutbukdan va nano qalqondan uzing
- Servo qo'lini Servo kengaytmasiga joylashtiring
- Videoda ko'rsatilgandek servo korpusga 90 graduslik burchak ostida D2 piniga ulangan Servo qo'lini Servoga mahkamlang.
- Tugmani GND, V+ va S pinlarini Nano Shield D4 piniga 3 dupontli kabel bilan ulang.
- 4 pinni soat tagiga joylashtiring
- Arduino Nano qalqonini bazaga joylashtiring
- Tugmani taglikka joylashtiring
- Tugmani ushlagich bilan joyiga mahkamlang
- Oyoqlarni tayanchning tegishli uyalariga joylashtiring
- Oyoq qisqichlari bilan oyoqlarini mahkamlang
- USB kabelini Arduino -ga taglikning qolgan teshigidan ulang
- Servo ushlagichini taglikka 4 pim bilan joylashtiring, uni to'g'ri o'rnatganingizga ishonch hosil qiling (Video)
- Servo ushlagichiga Circle qo'llanma pinini joylashtiring
- Qolgan Servo qo'lini tishli joyga qo'ying
- Servo qo'lini servo korpusga 90 graduslik burchak ostida va servo rack harakat markazida joylashgan holda boshqa Servoga mahkamlang (video)
- Ichki doirani magnit teshigini pastga qaratib joylashtiring (6) (kabel chiqish teshigi)
- Tashqi doirani magnit teshigini yuqoriga qaragan joyga qo'ying (12)
- Magnitlarni ehtiyotkorlik bilan joylashtiring (Neodim magnitlari kuchli va bir -biriga tegsa, o'zlariga va boshqalarga zarar etkazishi mumkin)
- Plitani qopqog'iga joylashtiring, qopqog'i teshiklari bilan qoplangan
- Qopqoqni tepaga 6 raqami bilan simi chiqish teshigiga qarating
- Po'lat sharlarni tepaga joylashtiring, ular magnitlangan joyga joylashtiriladi
Va shuning uchun soat to'liq yig'ilgan va ishlashga tayyor bo'lishi kerak!
5 -qadam: Corona soatini sozlash
Soatni o'rnatish uchun tashqi daqiqali aylana yuqori 12 pozitsiyadan boshlanishi kerak.
Yaxshiyamki, ichki soat doirasi siz xohlagan pozitsiyada boshlanishi mumkin
Shundan so'ng siz soatni yoqish va tugmachani bosib, daqiqalarni sozlash orqali soatni yoqishga o'tishingiz mumkin
va soatni sozlash uchun Chelik to'pni qo'lda aylantirish.
6 -qadam: Fikrlar va dizaynni takrorlash
Bu ajoyib loyiha edi va mening mexanik muhandislik qobiliyatimni to'liq sinovdan o'tkazdi!
Men bu fikrni bir muncha vaqtdan beri o'ylab yurgan edim va aslida bu loyihani hayotga tatbiq etish ajoyib. Bu kurash, ayniqsa, vaqt mexanizmini aniqlash va 180 darajali SG90 servosini quvvatlantirish usulini aniqlash edi.
Bu loyihani amalga oshirish uchun menga atigi bir hafta vaqt kerak bo'ldi, men bu loyihani amalga oshirish uchun kamida 10 ta dizayn iteratsiyasidan o'tdim, ulardan ba'zilari yuqoridagi rasmda. Bunga arziydi, vaqt yaxshi o'tkazildi!
Tavsiya:
"Uizli" joylashuv soati 4 qo'l bilan: 11 qadam (rasmlar bilan)
"Uizli" 4 qo'l bilan joylashuv soati: Shunday qilib, bir muddat tepib kelayotgan Raspberry Pi bilan men undan eng yaxshi foydalanishimga imkon beradigan yaxshi loyihani topmoqchi edim. Men ppeters0502 tomonidan o'zingizning Uesli joylashuvingizni aniqlab beradigan ajoyib yo'riqnomani uchratdim va shunday deb o'yladim
Kichkintoyning birinchi soati - taymer bilan: 16 qadam (rasmlar bilan)
Kichkintoyning birinchi soati - Chiroqli taymer bilan: Bu qo'llanmada siz bir -birining o'rnini qanday qilib almashtirishingiz mumkinligi ko'rsatilgan - bu sizning bolangizning rasmlari, oilasi/uy hayvonlari fotosuratlari yoki boshqa narsalarni o'z ichiga olishi mumkin - ularni vaqti -vaqti bilan o'zgartirish yaxshi bo'lardi. Aniq nuqtai nazarni kerakli burchakka mahkamlang
Pensiya soati / hisoblash / Dn soati: 4 qadam (rasmlar bilan)
Pensiya soati / hisoblash / Dn soati: Menda tortmasida 8x8 o'lchamli LED nuqta matritsali displeylar bor edi va ular bilan nima qilish kerakligi haqida o'yladim. Boshqa ko'rsatmalardan ilhomlanib, men kelajakdagi sana/vaqtni sanash uchun orqaga/yuqoriga ko'rsatish ekranini yaratish g'oyasini oldim va agar belgilangan vaqt
ESP8266 hech qanday RTCsiz tarmoq soati - Nodemcu NTP soati RTC yo'q - INTERNET CLOCK LOYIHASI: 4 qadam
ESP8266 hech qanday RTCsiz tarmoq soati | Nodemcu NTP soati RTC yo'q | INTERNET CLOCK LOYIHASI: Loyihada RTCsiz soat loyihasi yaratiladi, wifi yordamida internetdan vaqt oladi va uni st7735 displeyida ko'rsatadi
Gixie soati: Glow Tube -ning eng chiroyli soati: 4 qadam
Gixie soati: eng chiroyli nurli soat: Menga Niksi kolbasi juda yoqadi, lekin bu juda qimmat, men bunga qodir emasman. Shunday qilib, men yarim yil davomida bu Gixie soatini yaratdim. Gixie soatiga ws2812 akril nuri yordamida erishish mumkin, men RGB naychasini yupqaroq qilish uchun qo'limdan kelganini qilaman