Mündəricat:
- Addım 1: Şematik
- Addım 2: Layout
- Addım 3: "Wort-Uhr" un "Məntiqi"
- Addım 4: Kod Parçaları
- Addım 5: Mənzil
Video: Wort-Uhr: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:42
Birlikdə salam!
Bu mənim ilk təlimatım olacaq və bunu necə yaxşılaşdıracağınız və ya başa düşməyi asanlaşdıracağınız barədə fikirləriniz varsa, mənimlə əlaqə saxlamaqdan çəkinməyin!
Əvvəlcə bu cür "saat" mənim fikrim deyil! İnternetdə çox şey gördüm və onları bir neçə dollara sifariş verə bilərsiniz. Ancaq birini almaq istəmədim, özümdən birini öyrənmək və bunun necə işlədiyini başa düşmək istədim.
"Alman olmayan" üzvlərə bir söz … Bunun yalnız "Alman qoxusu Uhr" olduğu üçün üzr istəyirik. İngilis dilinə və ya başqa bir dilə asanlıqla çevrilə bilər, amma mən Alman olduğum üçün bunu öz dilimdə etdim. Diliniz üçün dəstəyə ehtiyacınız varsa mənimlə əlaqə saxlayın və mən sizə kömək etməyə çalışacağam.
Elə isə başlayaq…
Addım 1: Şematik
Şematik düzdür və şəkil oxumaq pisdirsə, bir PDF faylı da var.
Sol alt küncdən başlayaq. PIC, keçid qeydləri (74HC164) və DS3231 real vaxt çipi üçün sabit 5V çıxışı yaratmaq üçün LM7805 istifadə edərək sadə bir enerji təchizatı var. Bütün LEDlər də bu hissədən verilir. Sağ ucdakı D22 yalnız enerji təchizatını göstərmək üçündür və istənməsə asanlıqla ayrı buraxıla bilər.
40V -dan aşağı olan hər hansı bir DC enerji təchizatı istifadə edə bilərsiniz, ancaq C7 üçün uyğun dəyəri seçməlisiniz. Giriş gərginliyindən ən azı iki dəfə yüksək bir gərginlik dərəcəsi olmalıdır və LM7805 -də istilik yaratdığınızı unutmayın, buna görə giriş gərginliyini mümkün qədər aşağı saxlamağa çalışmalısınız, çünki qalan hər şey sadəcə enerji itkisidir. Ən yaxşı uyğunluq 9V ilə 12V DC arasında olan bir şeydir.
Enerji təchizatınızın polaritesindən narahat olmayın … P-kanallı MOSFET (Q1) saxta qütbdən qorunma rolunu oynayır və saat işləməyəcək və heç bir ziyan görməyəcək. Quraşdırıldıqda bunu "güc" LED D22 -də yoxlaya bilərsiniz.
Şematikanın sağ tərəfində paralel olaraq çıxan keçid qeydləri var. Onları istifadə etmək qərarına gəldim, çünki çoxlu I/O-Portları olan böyük bir PIC istifadə etmək istəmədim. Kiçik birini istifadə etmək istədim və evdə hələ də 16F1829 var idi, buna görə seçim artıq aydın idi. Məlumatlar (IN_1, IN_2 və IN_3) PIC (aşağıdakı kod bölməsinə baxın) və REGISTER_CLK tərəfindən də verilir. Kodumda və PCB planımda sadəlik üçün 74HC164 -dən ikisini saatlar üçün, sonunu isə "məntiq" üçün istifadə etdim.
Sol üst küncdə PIC və bütün lazımi hissələr var. Daxili saatı istifadə etdim, buna görə oszillatora ehtiyac yoxdur. SCL, SDA və MCLR üçün yalnız üç rezistor. 32 kHz -dən "dəqiq saniyələrin" göstəricisi olaraq istifadə etdiyim üçün PIC üçün olduqca sabit və dəqiq bir tezliyə ehtiyac yoxdur.
Ortada xarici hissələrdə minimumu olan DS3231 var. Əslində, I²C üzərindən ünsiyyət üçün yalnız SDA və SCL girişlərindən və 32kHZ çıxışından PIC16F1829 Timer1 üçün xarici saat istinadı olaraq istifadə etdim. Bu çıxış üçün məlumat cədvəlinə, lazım olan xarici bir çəkmə müqavimətçisi olduğu deyilir. Bu layihədə istifadə etmədiyim digər çıxışları əlaqəsiz buraxdım.
Həm də ortada, LED -lər … Şematik olaraq oxuya biləcəyiniz kimi, mavi LED -lərdən (aydın korpuslu olanlar) və 1k Ohm rezistor dəyərindən istifadə etdim. Bu layihəni özünüz etmək niyyətindəsinizsə, seçdiyiniz LEDlərin rənginə və növünə görə bu rezistorların dəyərlərini seçməlisiniz. Saatın harada qurulmasını istədiyinizi də unutmayın. Biri yataq otağımda dayanır, buna görə LED -lərin çox parlaq olmasını istəmədim və rezistorlar üçün daha böyük bir dəyər seçdim. PCB -yə montaj etməzdən əvvəl LED və rezistor dəyərləri olan bir çörək taxtasında bir az cəhd edin.
Addım 2: Layout
Sxemanı bitirdikdən sonra PCB -ni istiqamətləndirməyin vaxtıdır. Bunun üçün KiCAD -dan istifadə etdim (sxematik olaraq da). Demək çox şey yoxdur, sadəcə xətləri yönləndirin.
Saat korpusunu özüm çap etdiyim üçün üst təbəqədəki LED -lərin harada yerləşməsi olduqca vacib idi. Yalnız LEDləri və rezistorları üst təbəqəyə qoydum, çünki PCB-ni qismən quraşdırmağı (bütün SMD hissələrini) sifariş verdiyim üçün və bunun üçün seçdiyim şirkət yalnız iki tərəfli olmayan hissələri bir tərəfə yerləşdirdi.
KiCAD-dan hazırladığım iki 3 ölçülü şəklin yerləşdirilməsini görə bilərsiniz.
Əgər maraqlanırsınızsa … KiCAD PCB -ni Kartala ixrac etmək mümkündür və sonra PCB -dən bir istinadınız olduğu üçün mənzil tikmək olduqca asandır.
Addım 3: "Wort-Uhr" un "Məntiqi"
Bu layihənin ən böyük hissəsi PIC kodu idi …
Əvvəlcə Alman dilində danışma vaxtının "məntiqini" tapıb onu koda çevirmək.
Təəssüf ki, Excel faylını birbaşa yükləmək mümkün olmadı, amma ümid edirəm PDF ixracı sizin üçün kifayət qədər oxunur. Əks təqdirdə, mənimlə əlaqə saxlayın və mən sizə orijinal Excel faylını göndərəcəyəm. PDF -də saatımın məntiqini necə qurduğumu görə bilərsiniz. Fərqli zaman aralığında necə getdiyimi və yazımın necə olduğunu görə bilərsiniz. Kod daxilindəki hesablama (əsasən if-else ifadələri) cədvəlin sağ tərəfindəki məlumatlardan əldə edilə bilər. Bir hissə dəqiqə, bir hissəsi saatlar üçündür.
Gördüyünüz kimi, bu heç bir sehr deyil və C -də asanlıqla kodlaşdırıla bilər. Məntiqdəki "ən çətin" nöqtə, yalnız bir saatın əvvəlində həqiqi saatın göstərildiyi faylda gördüyünüz kimi saatı necə idarə etməkdir.. Alman dilində (bəlkə də bu yalnız Bavariya üçün xüsusi bir şey ola bilər) "növbəti saat" olduqca erkən istifadə olunur.
Kodlaşdırmaq üçün seçim IDE olaraq MPLABX istifadə etdim.
Addım 4: Kod Parçaları
Kodumu bura yerləşdirməyəcəyəm, ancaq öz kodunuzu yazmaq niyyətindəsinizsə, inkişaf zamanı "büdrədiyim" şeyləri sizə göstərəcəyəm …
Əvvəlcə "Qeydiyyat" doldurulması:
Yeni məlumatları çox tez -tez və çox qısa dövrlərdə qeydlərə köçürsəniz, təcrübə etdim ki, LED -lər yanıb -sönməyə başladı. Beləliklə, bir neçə "bloklama bayraqları" etdim ki, yalnız bir neçə dəqiqədə danışılan vaxtın yeni "hesablanması" aparılır və qeyd yeniləməsi aparılır.
Qeydləri doldurmaq üçün kod yuxarıdakı şəkildədir. Gördüyünüz kimi, bütün 3 qeydləri paralel olaraq doldururam, buna görə məlumat üçün 3 PIC pininə və CLK üçün 1 pinə ehtiyacım var. 74HC164, CLK xəttində 0 -dan 1 -ə keçidlə bağlı yeni məlumatları öz üzərinə götürür.
Kodun qalan hissəsi əsasən PIC-dən asılı olan şeylər, "danışma vaxtı" məntiqi və ünsiyyət və düymələri idarə etməkdir. MSSP modulundan istifadə etdiyim üçün ünsiyyət əsasən Microchip MPLABX tərəfindən təmin edilir.
Yaxşı bir fikir, DS3231 məlumat cədvəlini oxumaqdır, çünki məlumatlar içərisində BCD olaraq saxlanılır, buna görə kodunuzda bunu "çevirmək" lazım ola bilər. Bildiyimə görə, "öyrənərək öyrənən" bir adamam və əlbəttə ki, məlumat cədvəlini oxumadım … Mənə çox əsəblər və saatlar başa gəlir.
Gördüyünüz kimi, bu tətbiq ilə "vaxtını izləməyin" iki yolu var.
- DS3231 -dən əsl vaxtı oxuya bilərsiniz
- PIC -in özündə "saniyələri saya" bilərsiniz və zaman -zaman DS3231 ilə zaman sinxronizasiya edə bilərsiniz
Bu sizə bağlıdır və hər iki yol praktik və düzdür. Düymələr vasitəsilə (DS3231 -ə yazma vaxtı) və ya hər 24 saatda (DS3231 -dən oxu vaxtı) vaxt tənzimləyərkən ilk variantı və yalnız sinxronizasiya vaxtını istifadə etdim, çünki özüm daha çox məntiq tətbiq etmək istədim. Mən də gecəni (23: 00 -dan 05: 00 -a qədər) saatı çevirirəm, bu da mənim fikrimcə bir az daha asan idi.
Addım 5: Mənzil
Son olaraq, mənzilə qısa bir nəzər salmağın vaxtıdır.
Yuxarıda qeyd etdiyim kimi, korpusu özüm hazırladım (Eagle istifadə edərək) və 3D-Printerimlə çap etdim, buna görə də fərqli LED-lərin mövqelərinə baxmağa çalışdım.
İstifadə etmək istəsəniz STL fayllarını tapa bilərsiniz.
Ümid edirik ki, bu təlimat öz "Wort-Uhr" qurarkən sizə kömək edəcək. Hələ də "açıq suallar" varsa, mənimlə əlaqə saxlamaqdan çəkinməyin. Aşağıdakı şərhlərin ən yaxşı yolu, çünki xüsusi bir sualınız olan tək siz ola bilməzsiniz.
Tövsiyə:
Arduino Avtomobil Ters Park Diqqət Sistemi - Addım -addım: 4 addım
Arduino Avtomobil Ters Park Diqqət Sistemi | Addım-addım: Bu layihədə, Arduino UNO və HC-SR04 Ultrasonik Sensoru istifadə edərək sadə bir Arduino Car Reverse Park Sensor Dövrü dizayn edəcəyəm. Bu Arduino əsaslı Avtomobil Ters siqnal sistemi Avtonom Naviqasiya, Robot Aralığı və digər diapazonlarda istifadə edilə bilər
Addım -addım PC qurulması: 9 addım
Addım -addım PC Bina: Təchizat: Təchizat: MotherboardCPU & CPU soyuducu PSU (Enerji təchizatı vahidi) Yaddaş (HDD/SSD) RAMGPU (tələb olunmur) Kassa Alətləri: Tornavida ESD bilərzik/mattermal pasta/aplikator
Üç Hoparlör Devresi -- Addım-addım təlimat: 3 addım
Üç Hoparlör Devresi || Addım-addım Təlimat: Dinamik Dövrə, ətraf mühitdən alınan səs siqnallarını MIC-ə gücləndirir və gücləndirilmiş səsin çıxarıldığı yerdən Dinamikə göndərir.Burada bu Hoparlör Devrini düzəltməyin üç fərqli yolunu göstərəcəyəm:
Robot texnikasında bir dəst ilə addım-addım təhsil: 6 addım
Bir dəst ilə Robototexnikada Addım-addım Təhsil: Öz robotumu düzəltdikdən bir neçə ay sonra (zəhmət olmasa bunların hamısına baxın) və iki dəfə hissələri arızalandıqdan sonra bir addım geri çəkilmək və öz fikrimi yenidən düşünmək qərarına gəldim. strategiya və istiqamət. Bir neçə aylıq təcrübə bəzən çox mükafatlandırıcı idi və
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)