
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59

Sveiki kopā!
Šī būs mana pirmā pamācība, un, ja jums ir idejas, kā to uzlabot vai padarīt vieglāk saprotamu, lūdzu, nevilcinieties sazināties ar mani!
Nu sākumā šāds "pulkstenis" nav mana ideja! Esmu redzējis daudz interneta, un tos var pasūtīt tikai par pāris dolāriem dažādos interneta veikalos. Bet es negribēju to iegādāties, es gribēju izveidot savu, lai uzzinātu un saprastu, kā tas darbojas.
Viens vārds "nevāciešiem" … Atvainojiet par to, ka šī ir tikai "vācu misa Uhr". To varētu viegli pārvērst angļu vai citā valodā, bet, tā kā esmu vācietis, es to izveidoju savā valodā. Ja jums ir nepieciešams atbalsts savai valodai, sazinieties ar mani, un es centīšos jums palīdzēt.
Tātad sāksim…
1. darbība: shēma

Shēma ir taisna uz priekšu, un, ja attēls ir slikti lasāms, ir arī PDF fails.
Sāksim ar apakšējo kreiso stūri. Ir vienkāršs barošanas avots, izmantojot LM7805, lai ģenerētu stabilu 5 V izeju PIC, maiņu reģistriem (74HC164) un reālā laika mikroshēmai DS3231. Visas gaismas diodes tiek piegādātas arī no šīs daļas. D22 labajā galā ir paredzēts tikai barošanas avota norādīšanai, un, ja nevēlas, to var viegli atstāt atsevišķi.
Pulkstenim ar mazāku par 40 V var izmantot jebkuru līdzstrāvas barošanas avotu, bet pēc tam jāizvēlas atbilstošā vērtība C7. Tam vajadzētu būt vismaz divkāršam ieejas spriegumam, un atcerieties, ka LM7805 radāt siltumu, tāpēc jums jācenšas saglabāt pēc iespējas zemāku ieejas spriegumu, jo viss pārējais ir tikai enerģijas izšķiešana. Vislabāk derētu starp 9V un 12V DC.
Neuztraucieties par barošanas avota polaritāti… P-kanāla MOSFET (Q1) darbojas kā viltus polaritātes aizsardzība, un pulkstenis vienkārši nedarbosies un nesabojās. To var pārbaudīt uz "barošanas" LED D22, ja tas ir uzstādīts.
Shēmas labajā pusē ir sērijveida paralēlas maiņas reģistri. Es nolēmu tos izmantot, jo negribēju izmantot milzīgu PIC ar daudzām I/O pieslēgvietām. Es gribēju izmantot mazāku, un man mājās vēl bija kādi 16F1829, tāpēc izvēle jau bija skaidra. Datus (IN_1, IN_2 un IN_3) nodrošina PIC (skatīt koda sadaļu zemāk) un REGISTER_CLK. Koda un PCB izkārtojuma vienkāršības labad es izmantoju divus no 74HC164 stundām un pēdējo - "loģikai".
Augšējā kreisajā stūrī ir PIC un visas nepieciešamās detaļas. Es izmantoju iekšējo pulksteni, tāpēc oszilators nav vajadzīgs. Tikai trīs rezistori SCL, SDA un MCLR. Par to, ka es izmantoju 32 kHz kā "precīzu sekunžu" norādi, nav nepieciešama diezgan stabila un precīza PIC frekvence.
Pa vidu ir DS3231 ar minimālu ārējo detaļu daudzumu. Faktiski es izmantoju tikai SDA un SCL ieejas saziņai, izmantojot I²C, un 32 kHz izvadi kā PIC16F1829 1. taimera ārējo pulksteņa atskaiti. Šai izvadei datu lapā ir norādīts, ka ir nepieciešams ārējs uzvilkšanas rezistors. Pārējos rezultātus, kurus es neizmantoju šajā projektā, atstāju nesaistītus.
Arī vidū, gaismas diodes … Kā jūs varat izlasīt shēmā, es izmantoju zilas gaismas diodes (tās ar skaidru korpusu) un rezistora vērtību 1k omi. Ja jūs plānojat veikt šo projektu pats, jums jāizvēlas šo rezistoru vērtības atbilstoši jūsu izvēlēto gaismas diožu krāsai un tipam. Ņemiet vērā arī to, kur vēlaties iestatīt pulksteni. Mans viens stāv manā guļamistabā, tāpēc es negribēju, lai gaismas diodes būtu pārāk gaišas, un izvēlējos lielāku vērtību rezistoriem. Pirms to uzstādīšanas uz PCB, mēģiniet izmantot maizes dēli ar gaismas diodēm un rezistoru vērtībām.
2. darbība. Izkārtojums



Pēc shēmas pabeigšanas ir pienācis laiks maršrutēt PCB. Šim nolūkam es izmantoju KiCAD (arī shematiskai). Nav daudz ko teikt, vienkārši maršrutējiet līnijas.
Par to, ka es pats izdrukāju pulksteņa korpusu, bija diezgan svarīgi, kur atrodas augšējā slāņa gaismas diodes. Gaismas diodes un rezistorus es ievietoju tikai augšējā slānī, jo es pasūtīju savu PCB daļēji uzstādītu (visas SMD detaļas) un tāpēc, ka uzņēmums, kuru es izvēlējos, novieto detaļas tikai vienā pusē, nevis abpusēji.
Jūs varat redzēt izvietojumu divos trīsdimensiju attēlos, kurus izveidoju no KiCAD.
Ja jūs interesē… Ir iespējams eksportēt KiCAD PCB uz Eagle, un tad ir diezgan viegli izveidot korpusu, jo jums ir atsauce no PCB.
3. solis: "Wort-Uhr" "loģika"
Šī projekta lielākā daļa bija PIC kods…
Sākumā atrodot runas laika "loģiku" vācu valodā un tulkojot to kodā.
Diemžēl Excel failu nevarēja augšupielādēt tieši, bet es ceru, ka PDF eksports jums ir pietiekami lasāms. Ja nē, lūdzu, sazinieties ar mani, un es jums nosūtīšu sākotnējo Excel failu. PDF failā varat redzēt, kā es iestatīju sava pulksteņa loģiku. Jūs varat redzēt, kā es gāju cauri dažādiem laika soļiem un kāda ir pareizrakstība. Aprēķinu koda iekšpusē (galvenokārt paziņojumus “ja-citādi”) var iegūt, izmantojot informāciju tabulas labajā pusē. Viena daļa paredzēta minūtēm, bet otra - stundām.
Kā redzat, tā nav maģija, un to var viegli kodēt C. C loģikas "sarežģītākais" punkts ir tas, kā rīkoties ar stundu, kā redzams failā, ka tikai stundas sākumā tiek parādīta faktiskā stunda. Vācu valodā (varbūt tā varētu būt tikai Bavārijas specifika) "nākamā stunda" tiek izmantota diezgan agri.
Kodēšanai es izmantoju MPLABX kā savu izvēlēto IDE.
4. darbība: koda fragmenti


Es šeit nepublicēšu savu kodu, bet, ja jūs plānojat rakstīt savu kodu, es jums sniegšu dažus ieteikumus par to, par ko esmu "paklupis" izstrādes laikā …
Vispirms aizpildiet "reģistru":
Ja jūs pārāk bieži un pārāk īsos ciklos pārsūtāt jaunus datus uz reģistriem, es pieredzēju, ka gaismas diodes sāka mirgot. Tāpēc es izveidoju dažus "bloķēšanas karogus", ka tikai katru minūti tiek veikts jauns runas laika "aprēķins" un tiek atjaunināts reģistrs.
Reģistru aizpildīšanas kods ir attēlā iepriekš. Kā redzat, es paralēli aizpildu visus 3 reģistrus, tāpēc man ir nepieciešami 3 PIC tapas datiem un 1 tapa CLK. 74HC164 pārņem jaunus datus par pāreju CLK līnijā no 0 līdz 1.
Pārējais kods ir galvenokārt no PIC atkarīgas lietas, "runas laika" loģika un komunikācijas un pogu apstrāde. Komunikāciju galvenokārt nodrošina Microchip MPLABX, jo es izmantoju MSSP moduli.
Laba ideja ir izlasīt DS3231 datu lapu, jo dati tiek glabāti kā BCD, tāpēc jums, iespējams, tas būs "jāpārveido" savā kodā. Ciktāl tas attiecas uz mani, es esmu puisis, kas mācās darot, un PROTAMS, ka neesmu izlasījis datu lapu … Man tas izmaksāja daudz nervu un stundu.
Kā jūs, iespējams, pamanījāt, ar šo ieviešanu ir divi veidi, kā "sekot laikam".
- Jūs varat nolasīt DS3231 faktisko laiku
- Jūs varat "saskaitīt sekundes" pašā PIC un laiku pa laikam vienkārši sinhronizēt laiku ar DS3231
Tas ir atkarīgs no jums, un abi veidi ir praktiski un taisni. Es izmantoju pirmo iespēju un tikai sinhronizēju laiku, pielāgojot laiku, izmantojot pogas (rakstīšanas laiks uz DS3231) vai ik pēc 24 stundām (lasīšanas laiks no DS3231), jo vēlējos vairāk ieviest loģiku. Es arī pagriezu pulksteni naktī (no 23:00 līdz 05:00), tāpēc, manuprāt, bija nedaudz vieglāk.
5. solis: korpuss
Visbeidzot, ir laiks īsumā apskatīt korpusu.
Kā jau minēju iepriekš, es pats izveidoju korpusu (izmantojot Eagle) un izdrukāju tos ar savu 3D printeri, tāpēc man bija jāseko līdzi dažādu gaismas diodes pozīcijām.
Pievienots jūs varat atrast STL failus, ja vēlaties tos izmantot.
Ceru, ka šī pamācība jums palīdzēs, veidojot savu "Wort-Uhr". Ja joprojām ir "atklāti jautājumi", nevilcinieties sazināties ar mani. Labākais veids, kā komentēt zemāk, jo jūs, iespējams, neesat vienīgais, kuram ir konkrēts jautājums.
Ieteicams:
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: 4 soļi

Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: Šajā projektā es izveidošu vienkāršu Arduino automašīnas atpakaļgaitas stāvvietas sensora shēmu, izmantojot Arduino UNO un ultraskaņas sensoru HC-SR04. Šo uz Arduino bāzēto automašīnas reverso brīdinājuma sistēmu var izmantot autonomai navigācijai, robotu diapazonam un citiem diapazoniem
Soli pa solim datora veidošana: 9 soļi

Soli pa solim datora veidošana: Piegādes: Aparatūra: mātesplateCPU & CPU dzesētājs PSU (barošanas bloks) Krātuve (HDD/SSD) RAMGPU (nav nepieciešams) Korpuss Instrumenti: skrūvgriezis ESD rokassprādze/matermālā pasta ar aplikatoru
Trīs skaļruņu shēmas -- Soli pa solim apmācība: 3 soļi

Trīs skaļruņu shēmas || Soli pa solim apmācība: Skaļruņu ķēde pastiprina no vides saņemtos audio signālus uz MIC un nosūta to skaļrunim, no kura tiek radīts pastiprināts audio. Šeit es parādīšu trīs dažādus veidus, kā izveidot šo skaļruņu shēmu, izmantojot:
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi

Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi

Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)