Turinys:
- 1 žingsnis: ekrano srities apibrėžimas
- 2 žingsnis: RTC (realiojo laiko laikrodis)
- 3 žingsnis: laikrodžio kodavimas
- 4 žingsnis: veikimas
- 5 žingsnis: pažymėkite dėžutę
- 6 veiksmas: blokinio kodo projektavimas
- 7 žingsnis: 3D spausdinimas
- 8 žingsnis: užpildykite
- 9 žingsnis: Surinkimas
- 10 žingsnis: Pagaliau
Video: Mikro dvejetainis laikrodis: 10 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Tinkercad projektai »
Anksčiau sukūrę „Instructable“(dvejetainį DVM), kuri naudoja ribotą rodymo sritį naudodami dvejetainį.
Tai buvo tik mažas žingsnis, kai anksčiau buvo sukurtas pagrindinis kodo modulis dešimtainiam į dvejetainį konvertavimui į dvejetainio laikrodžio kūrimą, tačiau trūko tik RTC (realaus laiko laikrodis).
Tačiau „Microbit“neturi RTC konstrukcijos.
RTC leidžia realizuoti laikrodžio projektus su atsargine baterija.
Šiame projekte naudojamas „Microbit“ir „Kitronik RTC“, kad būtų sukurtas 24 valandų laikrodis su dvejetainiu ekranu ir papildomai yra žadintuvo parinktis.
Projekto programinė įranga, kuri bus naudojama „Microbit“, bus sukurta „Makecode Blocks“.
Priedai:
„MicroBit V1“arba „V2“
„MicroBit“apsauginis dėklas (neprivaloma)
Gamintojo kodas
Kitronik RTC
CR2032
Kodo blokai
Cura
3D spausdintuvas
1 * SPDT (įjungtas) jungiklis
1 * SPDT (įjungimo - išjungimo - įjungimo) jungiklis
2 * SPST (paprastai atidarytas), momentinis jungiklis
4 * M3 (10+6 mm), M/F atramos su M3 veržlėmis
4 * M3 (8 mm), varžtai
Perjungimo laido M/F jungtis, 100 mm, 28AWG, iš anksto pagaminta su kištuku ir lizdu.
1 * Pjezo garsinis signalas (be pavaros)
Šiuos reikmenis galima įsigyti daugelyje prekybos vietų ir galite turėti savo pageidaujamą tiekėją.
1 žingsnis: ekrano srities apibrėžimas
Nors rodymo srityje yra ribotas duomenų kiekis, kurį galima parodyti vienu metu, jis idealiai tinka rodyti bitų duomenis.
Taigi yra pakankamai vietos 4 x 4 bitų dvejetainiams žodžiams rodyti, kad būtų rodomas laikas su pranešimais ir pasirinkimo režimais.
Ekranas yra padalintas į 3 pagrindines sritis; Laikas, pasirinkimas ir režimai.
Laikas
Šešiolika šviesos diodų priskiriami laikui, kiekvienas 4 šviesos diodų stulpelis priskiriamas laiko intervalui, intervalai yra H, H, M ir M.
Kiekvienas dvejetainio žodžio bitas sveria 1, 2, 4 ir 8, o LSB 4 eilutėje ir MSB 1 eilutėje
Kiekvienas dvejetainis 4 bitų žodis leidžia suskaičiuoti nuo 0 iki 15, o tai yra daugiau nei pakankamai 24 valandų laiko formatu, todėl vienas stulpelis turi būti ne daugiau kaip 2, 9, 5 ir 9.
Pasirinkimas
Viena eilutė iš 4 šviesos diodų 0 eilutėje naudojama identifikuoti laiko stulpelį, pasirinktą įvedant laiką.
Režimai
Vienas stulpelis iš 5 šviesos diodų 4 stulpelyje naudojamas režimams, funkcijoms ir veikimui identifikuoti.
Pažymėkite - LED 4, 0 mirksi įjungimas ir išjungimas yra naudojamas sekundėms ir veikimui rodyti.
Laikas - šviesos diodas 4, 1 rodo įjungtą laiko režimą. (Numatytasis režimas įjungus)
Signalizacija - šviesos diodas 4, 2 rodo aliarmo režimą, kai įjungtas.
Pranešimas apie aliarmą - LED 4, 3 ir LED 4, 4 mirksi, kai suveikia aliarmas.
2 žingsnis: RTC (realiojo laiko laikrodis)
RTC yra plakanti programos širdis, leidžianti nustatyti ir išlaikyti tikslų laiką.
Daugiau informacijos apie RTC rasite „Kitronik“.
RTC teikia reguliuojamą maitinimo šaltinį, dėl kurio nebereikia maitinti „Microbit“per savo USB arba JST jungtį, ir yra sukurta atsarginė baterija, kad būtų išlaikytas laikas dingus elektrai.
Prieš naudodami RTC, turėsite įkelti plėtinio paketą.
Naudodami „Makecode“iš nustatymų piktogramos, pasirinkite „Extensions“ir įveskite „Kitronik RTC“paieškoje.
Pasirinkite paketą, kad jį įdiegtumėte, ir jis bus pridėtas prie kitų plėtinių.
Yra keletas kodų blokų, iš kurių galima skaityti ir rašyti RTC.
Dvejetainiam laikrodžiui mums reikės tik 4 šių kodų blokų.
Jie bus naudojami nustatytam laikui įrašyti į RTC ir perskaityti laikrodžio rodinio atnaujinimo laiką.
3 žingsnis: laikrodžio kodavimas
Pirmoji kodo dalis yra kintamųjų, masyvų ir informacinio teksto inicijavimas programoje.
Inic
Bclk - dvejetainis laikrodis
<Sel - mygtukas pasirenka stulpelį, kuris bus pakoreguotas pagal laiko nustatymą.
Inc - B mygtukas padidina laiką.
Paspaudus abu A ir B mygtukus, režimas keičiasi tarp laiko ir aliarmo.
Strval - tai eilutės reikšmė, kurioje yra laikas „HH: MM: SS“formoje, grąžinta iš RTC
Laikas rodomas arba nustatomas tik HH & MM.
Režimas - išsaugo režimo reikšmę laiko = 1 ir aliarmo = 2 atveju, pasirinktą mygtuko A+B deriniu.
Periodas - yra laiko stulpelio vertė, pasirinkta mygtuku A.
0 = 0 stulpelis (H), 1 = 1 stulpelis (H), 2 = 2 stulpelis (M), 3 = 3 stulpelis (M)
Tick_en - įjungia = 1 arba išjungia = 0 varnelę (sekundes), indikatorių.
Inc - tarpinis papildomo laiko nustatymo vertės saugojimas.
Tm_list - saugo kiekvieno laiko stulpelio vertę nustatymo metu.
Alarm - įjungia arba išjungia aliarmo indikatorių.
„Amžinybė“nuolat vadina erkių funkciją.
Pažymėkite
Paprastai įjungta varnelės funkcija rodo kintantį įjungimo/išjungimo šviesos diodą viršutiniame dešiniajame kampe, nurodydama veikimą ir sekundes.
Be to, ji iškviečia „showtm“funkciją, kuri skaito RTC ir apdoroja ją, kad būtų rodoma dvejetainėje formoje, o taip pat skambina „alarm_mode“, jei tai įjungta, apatiniame dešiniajame kampe rodo įspėjamojo signalo šviesos diodus.
Showtm
Funkcija showtm, iškviečia rdtime ir iš jos naudojama vertė yra strval, kurioje yra laiko eilutė.
Sukuriama kilpa, kuri didėja per strval išgaunant kiekvieną atskirą skaičių ir nepaisant skyriklio „:“
Tada kiekvienas atskiras skaičius konvertuojamas į dvejetainį atitikmenį naudojant funkciją dec2bin ir priskiriamas tinkamam stulpeliui.
Rdtime
Funkcija rdtime, nuskaito pirmuosius 5 simbolius eilutėje, grąžintame iš RTC (ignoruojant sekundžių dalį), ir perduoda ją strval.
Jei aliarmas buvo nustatytas (režimas = 2), tada pavojaus signalo nustatytos vertės lyginamos su RTC grąžintomis vertėmis, jei sutampa, tada aliarmas = 1, jei nėra sutapimo aliarmo = 0.
Įjungus režimą „Alarm_mode“apatiniame dešiniajame 4 stulpelio kampe rodomi du įjungti/išjungti kintami šviesos diodai.
Gruodžio 2 d
Funkcija dec2bin konvertuoja dešimtainį skaičių į dvejetainį ir parodo jį teisingame stulpelyje.
Skaičius, kurį reikia konvertuoti, perduodamas per vertę, o ekrano stulpelis - per stulpelį.
Sąrašas2 yra masyvas, į kurį saugomas 4 bitų dvejetainis žodis iš dvejetainio konvertavimo proceso.
Inicijuojama ciklas, kuris padalija reikšmę iš 2, o likusi dalis saugoma masyvo elemente, sveikojo skaičiaus vertė padalijama iš 2, tai kartojama tol, kol sveikojo skaičiaus reikšmė yra <= 1 ir paskutinė reikšmė dedama į masyvą.
Didžiausia vieno skaitmens dešimtainė reikšmė yra 9, o dvejetainė-1001 kaip 4 bitų žodis.
Tada masyvas turi būti apdorotas atvirkštine tvarka, kad būtų gautas teisingas rezultatas.
Tada inicijuojama kilpa, kad atitinkamame stulpelyje įjungtų teisingą šviesos diodą, tai atliekama kiekvieną kartą, kai atsiranda 4 bitų dvejetainis žodis.
Žmogaus sąsaja pasiekiama mygtukais.
A mygtukas
Taip pasirenkamas stulpelis, į kurį bus įvedama laiko vertė, ir rodomas šviečiantis šviesos diodas virš pasirinktos 4 eilutės stulpelio.
Atnaujinus visus laiko stulpelius, padidinus pasirinkimą iki 5 stulpelio, atnaujinamas laiko kintamasis.
Jei režimas = 1, RTC atnaujinamas, priešingu atveju atnaujinamas aliarmo laikas.
Mygtukas B
Tai yra didinimo mygtukas ir padidina pasirinktą laiko stulpelį.
Siekiant sumažinti klaidų skaičių ir sutaupyti laiko norint pasiekti teisingą vertę, maksimali vertė, kurią galima įvesti viename stulpelyje, yra ribojama, atsižvelgiant į 24 valandų laiko sistemos laiko reikšmę.
Šios didžiausios vertės saugomos tm_max , po vieną stulpelyje ir automatiškai parenkamos pagal laiko stulpelį.
Didžiausios vertės yra H = 2, H = 9, M = 5, M = 9
Padidėjimo vertė dec2bin konvertuojama į dvejetainę, o ekranas atnaujinamas.
Mygtuko A+B režimo pasirinkimas
Paspaudus abu mygtukus kartu, galima pasirinkti laiko režimą arba aliarmo režimą ir ekrane rodomas atitinkamas režimas.
Priklausomai nuo pasirinkto režimo, ekranas atnaujinamas, kad būtų rodomas laikas arba pavojaus signalas.
4 žingsnis: veikimas
Atsisiųskite „Hex“failą į „Microbit“, įdėkite CR2032 bateriją į RTC.
Prijunkite „Microbit“prie RTC ir maitinkite RTC plokštę per USB arba varžtus.
Tikėjimo šviesos diodas pradės mirksėti ir netrukus po to bus rodomas laikas.
Jei naudojate pirmą kartą, labai tikėtina, kad rodomas laikas bus neteisingas ir jį reikės nustatyti teisingu laiku.
Režimo pasirinkimas
Paspaudus pasirinkimo (A) ir didinimo (B) mygtukus kartu, bus galima perjungti režimo parinktis tarp laiko ir aliarmo.
Laiko nustatymas
Laiko nustatymas yra 24 valandų režimu.
Naudokite pasirinkimo mygtuką (A), norėdami perkelti šviesos diodą per viršutinę eilutę, tai rodo stulpelį, kuriame galima keisti laiką. Atrankos stulpeliai atitinka H, H, M ir M.
Kur H = valandos ir M = minutės.
Pasirinkę stulpelį, pakartotinai paspauskite didinimo mygtuką (b), kad kiekvieną paspaudimą padidintumėte vienu. Skaičiai nurodomi dvejetainiu, nes tai yra dvejetainis laikrodis.
Padidinimo mygtukas tik padidina skaičių, o kai pasiekiamas maksimumas, nustatomas į nulį, tolesni paspaudimai vėl padidins skaičių.
Nustatę pirmojo stulpelio laiką, paspauskite kito stulpelio pasirinkimo mygtuką, tada naudokite padidinimo mygtuką, kad nustatytumėte stulpelio laiką.
Pastaba: *** Kai nustatysite laiką arba žadintuvą, pasirinktame stulpelyje turėsite įvesti laiką, net jei stulpelio laikas nepasikeis, nes praleidžiant stulpelį nustatomas tas stulpelio laikas į nulį ****
Kartokite procesą, kol bus nustatytas laikas, naudojant visus 4 stulpelius.
Penktą kartą paspauskite pasirinkimo mygtuką, kad perkeltumėte jį į penktąjį stulpelį ir laikas būtų nustatytas.
Signalizacijos nustatymas
Žadintuvo laikas nustatomas taip pat, kaip ir laikas.
Kad aliarmas būtų suaktyvintas reikiamu laiku, palikite režimą „Alarm“.
Norėdami išjungti aliarmą, nustatykite režimą į Laikas.
Norėdami parodyti nustatytą žadintuvo laiką, perjunkite režimą tarp laiko ir aliarmo, o įspėjimo laikas bus rodomas trumpam laikui, kol vėl bus rodomas dabartinis laikas.
Žadintuvo laikas nėra saugomas RTC, todėl atjungus maitinimą jį reikės iš naujo nustatyti.
5 žingsnis: pažymėkite dėžutę
Projektas sėdės tinkamu kampu, kad pamatytų laikrodį, tačiau dėžutė prideda pastovumo jausmą.
Galite nusipirkti tinkamo dydžio dėžutę ir iškirpti bei išgręžti atitinkamas vietas, kad „Microbit“tilptų į lizdą.
Tačiau; Be to, norėjau dubliuoti „Microbit“mygtukus kartu su kitais valdikliais ir indikatoriais.
Paprastai, norint identifikuoti mygtukus, dėžutėje reikės pritaikyti legendas.
Jie gali būti naudojami rankomis; dažytos, graviruotos ar klijuojamos etiketės.
Visų šių galimybių įgyvendinimo būdas būtų 3D spausdinimas dėžutėje, tačiau pirmiausia turėtume sukurti CAD failą, su kuriuo būtų galima sukurti spausdintuvo failą.
Failų kūrimo parinktys yra nupieštos ranka arba nupieštos naudojant kodą.
Aš pasirinkau „nubrėžtą kodu“naudojant „Tinkercad CodeBlocks“
„Box Lid“ir „Box Base“failus galite rasti „Tinkercad CodeBlocks“
6 veiksmas: blokinio kodo projektavimas
Dėžutė yra dviejų dalių konstrukcija, kurią sudaro pagrindas ir dangtelis.
Keturios kampinės varžtų skylės bus naudojamos dangteliui pritvirtinti su išpjova kairėje pusėje, kad būtų galima įvesti USB kištuką.
Dangtelyje bus išjungta „Microbit“jungtis ir reikalingi jungikliai, be to, bet koks tekstas bus atspausdintas tiesiai ant dangčio, o varžtų skylės susilygins su pagrindiniais stulpeliais.
RTC plokštė bus pritvirtinta prie apatinės dangčio pusės 4 ramsčiais ir 4 varžtais.
Dėžutės ir dangčio dydis yra 70 x 105 x 31 mm
Dangtelio ir bazės kodą galima rasti „TinkerCad CodeBlocks“.
7 žingsnis: 3D spausdinimas
Įkelkite failus į „Cura“ir pritaikykite pageidaujamus pjaustyklės nustatymus.
Taikomi nustatymai.
Kokybė: 0,15 mm
Užpildas: 80%, šešiakampis
Pagrindas: kraštas
Išsaugokite failus ir spausdinkite.
Naudodami „Cura“galite įkelti abu failus kartu į tą pačią spausdinimo sritį ir spausdinti vienu ypu.
8 žingsnis: užpildykite
Dėžutės dangtelis yra atspausdintas su įdubusiu tekstu, kuris bus užpildytas spalvota 2 dalių epoksidine derva.
Derva sumaišoma su 2 dalių dervos ir 1 dalies kietiklio santykiu, tada sumaišomas nepermatomas spalvos pigmentas.
Spalva buvo geltona, kad kontrastų su fonu. Balta spalva būtų buvęs kitas pasirinkimas.
Sumaišius, derva lašinama į įdubą, naudojant kokteilių lazdelę, kad būtų perkelti nedideli dervos gabalėliai, kurie naudojami palaipsniui užpildyti raidžių įdubą.
Atsisakykite vienu kartu įpilti per daug dervos, nes greičiausiai susidarys oro burbuliukų ir (arba) susidarys per didelis perpildymas aplinkiniame paviršiuje, o tai reiškia, kad sukietėję turėsite daugiau nuvalyti ir nušlifuoti.
Taigi užpildykite lėtai, užtikrindami, kad raidės apačia būtų uždengta, ir užpildykite ją šiek tiek pakeltu paviršiumi.
Kai derva sukietės, reikės šiek tiek nušlifuoti paviršių, kad išlygintumėte paviršių, pradėkite nuo P240 rūšies, pereidami prie smulkesnių, kad būtų pasiekta lygi apdaila, galiausiai baigiant laku.
Nenaudokite per daug spaudimo ir pernelyg didelio greičio, kitaip perkarsite PLA ir dervą, dėl to susidarys purus paviršius dėl susikaupusio smėlio, šiek tiek šlifavimo metu užpiltas vanduo veiks kaip tepalas ir aušinimo skystis.
9 žingsnis: Surinkimas
„Microbit“į lizdą tilps dviem kryptimis, nukreipta į pagrindinę RTC dalį.
Tačiau jei nukreipta į pagrindinę RTC dalį, jungčių jungčių naudoti negalima, tačiau jei „Microbit“yra nukreipta nuo pagrindinės plokštės dalies, mes galime pasinaudoti šiomis jungtimis.
Surinkimas prasideda lituojant stačiakampę SIL kaiščio antgalį ant RTC, kad jungtys būtų sujungtos su stumdomomis jungtimis.
RTC yra sumontuoti 4 * M3 (10+6 mm), M/F atramos su M3 veržlėmis, kurios pritvirtintos prie dangtelio 4 * M3 (8 mm), varžtais iš anksto paruoštose skylėse.
Jungikliai įmontuoti į iš anksto paruoštas skyles dangtelyje.
Reikalingi ryšiai yra šie:
GND, 3V, P1 (rinkinys), P2 (įspėjimas), P5 (sel) ir P11 (kartu)
Pastaba *** Rezistoriai (1R), P5 ir P11 schemoje, yra tiesiog atskaitos taškai, nes šiuo metu tiesioginis ryšys su šiais kaiščiais „Microbit in Code“blokuose negalimas. ***
P5 yra išorinis mygtuko A jungtis, sujungta SPST momentiniu jungikliu. Vienas jungtis prie P5, o kitas kaištis prijungtas prie GND, šis mygtukas skirtas stulpeliui pasirinkti nustatant laiką.
P11 yra išorinis mygtuko B jungtis, sujungta SPST momentiniu jungikliu. Vienas ryšys su P11, o kitas kaištis prijungtas prie GND, jo mygtukas skirtas skaičiui didinti nustatant laiką.
P1 yra SPDT (įjungimo) jungiklis, naudojamas įjungti arba išjungti nustatymo parinktis. Centrinis kaištis eina į P1, o vienas kaištis prijungtas prie GND, o kitas - prie 3 V per 10 k rezistorių. Tai leidžia šiam kaiščiui pritaikyti H (3V) ir L (0V). Kai P1 prijungtas prie 3 V, tai įgalina laiko nustatymo parinktis, o kai 0 V išjungia laiko nustatymą. Taip kontroliuojama, ar A & B mygtukai turi kokį nors poveikį.
P2 yra SPDT (įjungimo-išjungimo) jungiklis, naudojamas įjungti arba išjungti įspėjamąjį signalą ir papildomus išorinius žibintus.
Įspėjamasis garso signalas yra „Piezo Buzzer“(tiesiog pritvirtintas lipniomis dvigubomis pusėmis), kuriam reikalingas „Microbit“teikiamas impulsinis pavara.
10 žingsnis: Pagaliau
Surinkote dėžutėje esančius elementus, užprogramavote „Microbit“ir įdėjote į dėžutės lizdą.
Tada įjunkite maitinimą ir nustatykite laiką.
Mėgautis.
Antroji vieta blokinio kodo konkurse
Rekomenduojamas:
Galutinis dvejetainis laikrodis: 12 žingsnių (su nuotraukomis)
Galutinis dvejetainis laikrodis: Neseniai susipažinau su dvejetainių laikrodžių sąvoka ir pradėjau atlikti tyrimus, norėdamas išsiaiškinti, ar galėčiau sukurti tokį sau. Tačiau man nepavyko rasti esamo dizaino, kuris tuo pačiu metu būtų ir funkcionalus, ir stilingas. Taigi, nusprendžiau
Dvejetainis stalo laikrodis: 9 žingsniai (su nuotraukomis)
Dvejetainis stalinis laikrodis: dvejetainiai laikrodžiai yra nuostabūs ir skirti tik asmeniui, žinančiam dvejetainį (skaitmeninių įrenginių kalba). Jei esate technologijų vaikinas, šis keistas laikrodis kaip tik jums. Taigi, sukurkite vieną ir laikykite savo paslaptį! Rasite daug dvejetainių c
„Arduino“dvejetainis laikrodis - 3D spausdintas: 5 žingsniai (su nuotraukomis)
„Arduino“dvejetainis laikrodis - 3D spausdintas: jau kurį laiką žiūriu į dvejetainius laikrodžius savo biuro stalui, tačiau jie yra gana brangūs ir (arba) neturi daug funkcijų. Taigi nusprendžiau padaryti vieną. Kuriant laikrodį reikia atsižvelgti į vieną dalyką, „Arduino“/ „Atmega328“
Paprastas dvejetainis laikrodis naudojant „Attiny85“: 10 žingsnių
Paprastas dvejetainis laikrodis naudojant „Attiny85“: Sveikinu! Šioje instrukcijoje parodysiu, kaip padaryti minimalistinį ir paprastą dvejetainį laikrodį naudojant „arduino uno“ir „attiny85“. Jei niekada nenaudojote savo arduino kitų mikroschemų programavimui, pamatysite, kad tai padaryti labai paprasta (Pirmą kartą bandžiau
Dvejetainis marmurinis laikrodis: 9 žingsniai (su nuotraukomis)
Dvejetainis marmurinis laikrodis: tai paprastas laikrodis, rodantis laiką (valandas/minutes) dvejetainėje formoje, naudojant po stikliniais rutuliais paslėptus šviesos diodus. Paprastam žmogui tai atrodo kaip žibintų krūva, tačiau galėsite pasakyti laiką iki tik trumpas žvilgsnis į šį laikrodį. Tai