Turinys:

Mikro dvejetainis laikrodis: 10 žingsnių (su nuotraukomis)
Mikro dvejetainis laikrodis: 10 žingsnių (su nuotraukomis)

Video: Mikro dvejetainis laikrodis: 10 žingsnių (su nuotraukomis)

Video: Mikro dvejetainis laikrodis: 10 žingsnių (su nuotraukomis)
Video: MKS Robin Nano v2.0 - A4988 or DRV8825 Install Guide 2024, Lapkritis
Anonim
Mikro dvejetainis laikrodis
Mikro dvejetainis laikrodis
Mikro dvejetainis laikrodis
Mikro dvejetainis laikrodis

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

Rodymo srities apibrėžimas
Rodymo srities apibrėžimas
Rodymo srities apibrėžimas
Rodymo 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 (realiojo laiko laikrodis)
RTC (realiojo laiko laikrodis)
RTC (realiojo laiko laikrodis)
RTC (realiojo laiko laikrodis)
RTC (realiojo laiko laikrodis)
RTC (realiojo laiko laikrodis)
RTC (realiojo laiko laikrodis)
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

Laikrodžio kodavimas
Laikrodžio kodavimas
Laikrodžio kodavimas
Laikrodžio kodavimas
Laikrodžio kodavimas
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

Operacija
Operacija
Operacija
Operacija
Operacija
Operacija

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ę

Langelį
Langelį
Langelį
Langelį

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

Bloko kodo dizainas
Bloko kodo dizainas
Bloko kodo dizainas
Bloko kodo dizainas

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

3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
3D spausdinimas
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

Užpildyti
Užpildyti
Užpildyti
Užpildyti
Užpildyti
Užpildyti

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

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
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.

Blokinio kodo konkursas
Blokinio kodo konkursas
Blokinio kodo konkursas
Blokinio kodo konkursas

Antroji vieta blokinio kodo konkurse

Rekomenduojamas: