Talaan ng mga Nilalaman:

Micro Binary Clock: 10 Hakbang (na may Mga Larawan)
Micro Binary Clock: 10 Hakbang (na may Mga Larawan)

Video: Micro Binary Clock: 10 Hakbang (na may Mga Larawan)

Video: Micro Binary Clock: 10 Hakbang (na may Mga Larawan)
Video: New! Cheapest Human Tracking Security Camera Icsee Xmeye 2024, Hulyo
Anonim
Micro Binary Clock
Micro Binary Clock
Micro Binary Clock
Micro Binary Clock

Mga Proyekto ng Tinkercad »

Ang pagkakaroon ng dati nang nilikha isang Instructable (Binary DVM), na gumagamit ng limitadong lugar ng pagpapakita gamit ang binary.

Ito ay isang maliit na hakbang lamang na dati nang nilikha ang pangunahing module module para sa Decimal to Binary conversion sa paglikha ng isang Binary Clock ngunit ang tanging bagay lamang na nawawala ay isang RTC (Real Time Clock).

Gayunpaman, ang Microbit ay walang build sa RTC.

Pinapayagan ng RTC ang pagsasakatuparan ng mga proyekto sa orasan gamit ang isang backup na baterya.

Tulad ng naturang sumusunod na proyekto ay gumagamit ng isang Microbit at isang Kitronik RTC upang lumikha ng isang 24H na orasan na may isang pagpapakita ng Binary at bilang karagdagan ay may pagpipilian na alarma.

Ang software ng proyekto na tatakbo sa Microbit ay malilikha sa Makecode Blocks.

Mga Pantustos:

MicroBit V1 o V2

Kaso ng proteksiyon ng MicroBit (opsyonal)

Makecode

Kitronik RTC

CR2032

Codeblocks

Cura

3d printer

1 * SPDT (on - on) switch

1 * SPDT (on - off - on) switch

2 * SPST (karaniwang bukas), panandalian switch

4 * M3 (10 + 6mm), mga standoff ng M / F na may M3 nut

4 * M3 (8mm), mga turnilyo

Jumper wire M / F konektor, 100mm, 28AWG paunang ginawa gamit ang plug at socket.

1 * Piezo Buzzer (walang Drive)

Ang mga suplay na ito ay magagamit mula sa isang bilang ng mga saksakan at maaari kang magkaroon ng iyong sariling ginustong tagatustos.

Hakbang 1: Pagtukoy sa Area ng Display

Pagtukoy sa Area ng Display
Pagtukoy sa Area ng Display
Pagtukoy sa Area ng Display
Pagtukoy sa Area ng Display

Bagaman ang lugar ng pagpapakita ay limitado sa dami ng data na maaaring maipakita sa anumang oras, nagpapahiram ito ng perpekto sa pagpapakita ng kaunting data.

Tulad ng naturang may sapat na lugar upang ipakita ang 4 x 4 bit na mga binary salita upang kumatawan sa oras na may mga notification at mode ng pagpili.

Ang display ay nahahati sa 3 pangunahing mga lugar; Oras, Pagpili at Mga Mode.

Oras

Labing anim na LED na nakatalaga sa Oras, ang bawat haligi ng 4 na LED ay nakatalaga sa isang agwat ng oras, ang mga agwat ay nasa form na H, H, M & M.

Ang bawat piraso ng salitang Binary ay mayroong pagtimbang ng 1, 2, 4 & 8 kasama ang LSB sa hilera 4 at ang MSB sa hilera 1

Ang bawat Binary 4 bit na salita ay nagbibigay-daan sa isang bilang ng 0 hanggang 15, na higit sa sapat para sa format na oras na 24H, na nangangailangan ng isang maximum na bilang sa bawat haligi ng 2, 9, 5 & 9.

Pinili

Ang isang hilera ng 4 na LED sa hilera 0 ay ginagamit upang makilala ang haligi ng oras na napili kapag pumapasok sa oras.

Mga mode

Ang isang haligi ng 5 LED's sa haligi 4 ay ginagamit upang makilala ang Mga Mode, Function at Operation.

Lagyan ng tsek - Ang LED 4, 0 flashing on at off ay ginagamit upang ipahiwatig ang Segundo at pagpapatakbo.

Oras - Ang LED 4, 1 ay nagpapahiwatig ng Time mode kapag naka-on. (Default mode sa pag-on)

Alarm - Ang LED 4, 2 ay nagpapahiwatig ng mode ng alarm kapag naka-on.

Pag-abiso sa Alarm - LED 4, 3 & LED 4, 4 flash kapag na-trigger ang Alarm.

Hakbang 2: RTC (Real Time Clock)

RTC (Real Time Clock)
RTC (Real Time Clock)
RTC (Real Time Clock)
RTC (Real Time Clock)
RTC (Real Time Clock)
RTC (Real Time Clock)
RTC (Real Time Clock)
RTC (Real Time Clock)

Ang RTC ay ang puso ng application na pinapalo, pinapayagan ang setting at pagpapanatili ng tumpak na oras.

Ang mga karagdagang detalye ng RTC ay matatagpuan sa Kitronik.

Nagbibigay ang RTC ng isang kinokontrol na supply na tinatanggihan ang pangangailangan na paganahin ang Microbit sa pamamagitan ng sarili nitong USB o JST konektor at ang backup ng baterya ay ibinigay upang mapanatili ang oras sa kaganapan ng pagkawala ng kuryente.

Bago gamitin ang RTC kakailanganin mong i-load ang Extension package.

Gamit ang Makecode mula sa icon na Mga Setting, piliin ang Mga Extension at i-type ang Kitronik RTC sa paghahanap.

Piliin ang pakete upang mai-install ito at idaragdag ito sa iba pang mga extension.

Mayroong isang bilang ng mga bloke ng code upang mabasa mula at sumulat sa RTC.

Kakailanganin lamang namin ang 4 ng mga bloke ng code na ito para sa Binary Clock.

Gagamitin ang mga ito upang isulat ang itinakdang oras sa RTC at basahin ang oras pabalik upang mai-update ang display ng orasan.

Hakbang 3: Pag-coding sa Orasan

Coding ang Clock
Coding ang Clock
Coding ang Clock
Coding ang Clock
Coding ang Clock
Coding ang Clock

Ang unang bahagi ng code ay ang pagsisimula ng programa ng mga variable, array at tekstong nagbibigay kaalaman.

Sa loob

Bclk - Binary Clock

<Sel - Pinipili ng isang pindutan ang haligi na maiakma para sa setting ng oras.

Inc - Ang B na pindutan ay nagdaragdag ng oras.

Ang pagpindot sa parehong mga pindutan ng A & B na magkasama ay nagbabago ng mode sa pagitan ng Oras at Alarm.

Strval - ay ang halaga ng string na naglalaman ng oras sa form na "HH: MM: SS" na bumalik mula sa RTC

Ang HH & MM lamang ang ginagamit upang ipakita o itakda ang oras.

Mode - pinapanatili ang halaga ng mode para sa Oras = 1 at Alarm = 2 na napili kasama ang kumbinasyon ng A + B na pindutan.

Panahon - ay ang halaga para sa haligi ng oras, napili gamit ang isang pindutan na A.

0 = haligi 0 (H), 1 = haligi 1 (H), 2 = haligi 2 (M), 3 = haligi 3 (M)

Tick_en - Pinapagana = 1 o Hindi Pinapagana = 0 ang tick (segundo), tagapagpahiwatig.

Inc - Katamtamang pag-iimbak ng karagdagang halaga ng setting ng oras.

Tm_list - iniimbak ang halaga ng bawat haligi ng oras sa panahon ng setting.

Alarm - Pinapagana o Hindi Pinapagana ang tagapagpahiwatig ng Alarm.

Ang magpakailanman ay patuloy na tumatawag sa pag-andar ng tick.

Lagyan ng tsek

Ang pag-andar ng tick na karaniwang pinagana, ay nagpapakita ng isang alternating on / off na LED sa kanang sulok sa itaas upang ipahiwatig ang operasyon at segundo.

Bilang karagdagan, tinatawagan nito ang pagpapaandar na showtm na binabasa ang RTC at pinoproseso ito upang maipakita sa binary, habang tumatawag din sa alarm_mode, kung pinapagana ito ay ipinapakita ang mga alerto sa alerto ng LED sa kanang sulok sa ibaba.

Showtm

Pag-andar ng showtm, mga tawag sa oras ng panahon at ang halagang ginamit mula rito ay strval na naglalaman ng time string.

Ang isang loop ay nilikha kung saan nagpapalaki sa pamamagitan ng strval na pagkuha ng bawat solong numero at hindi pinapansin ang separator na ":"

Ang bawat solong numero pagkatapos ay mai-convert sa kanyang katumbas na binary na may function dec2bin at itinalaga sa tamang haligi.

Rdtime

Pag-andar ng oras, binabasa ang unang 5 mga character sa string na bumalik mula sa RTC (hindi pinapansin ang bahagi ng segundo), at ipinapasa ito sa strval.

Kung ang alarm ay itinakda (Mode = 2), kung gayon ang mga halaga ng alarm set ay ihinahambing sa mga halagang ibinalik ng RTC, kung mayroong isang match pagkatapos alarm = 1 kung walang alarma sa pagtutugma = 0.

Ang Alarm_mode kapag pinagana ay nagpapakita ng dalawang on / off na alternating LED's sa ibabang kanang sulok ng haligi 4.

Dec2bin

Ang pag-andar ng dec2bin ay nagko-convert ng isang decimal number sa binary at ipinapakita ito sa tamang haligi.

Ang bilang na mai-convert ay naipasa sa pamamagitan ng halaga at ang display column ay naipasa sa pamamagitan ng col.

Ang List2 ay ang array kung saan nakaimbak ang 4-bit na binary na salita mula sa proseso ng binary conversion.

Pinasimulan ang isang loop na nagpapatuloy upang hatiin ang halaga ng 2 ang natitira ay nakaimbak sa elemento ng array na ang halaga ng integer ay hinati sa 2, ito ay paulit-ulit hanggang sa ang integer na halaga ay <= 1 at ang huling halaga na ito ay inilagay sa array.

Ang pinakamalaking solong digit na halagang decimal ay 9 at sa binary ito ay 1001 bilang isang 4-bit na salita.

Pagkatapos ay kailangang iproseso ang array sa reverse order para sa tamang resulta.

Pagkatapos ay pinasimulan ang isang loop upang buksan ang tamang LED sa naaangkop na haligi, ito ay nagagawa para sa bawat paglitaw ng isang isa sa 4-bit na binary na salita.

Ang interface ng tao ay nagagawa sa mga pindutan.

Ang isang pindutan

Pinipili nito ang haligi kung saan ilalagay ang halaga ng oras at ipinapakita ang isang naiilawan na LED sa napiling haligi sa hilera 4.

Kapag na-update ang lahat ng mga haligi ng oras, ang pagdaragdag ng pagpipilian sa ika-5 haligi ay ina-update ang variable ng oras.

Kung mode = 1 ang RTC ay na-update kung hindi man ang oras ng Alarm ay na-update.

Ang pindutan ng B

Ito ang increment button at nagdaragdag ng napiling haligi ng oras.

Upang mabawasan ang mga error at makatipid ng oras sa pagkuha sa tamang halaga ang maximum na halagang maaaring maipasok sa bawat haligi ay naka-cap batay sa halaga ng oras para sa isang 24-oras na system ng oras.

Ang mga maximum na halagang ito ay nakaimbak sa tm_max , isa bawat haligi ng oras at awtomatikong napili batay sa haligi ng oras.

Ang maximum na mga halaga ay H = 2, H = 9, M = 5, M = 9

Ang halaga ng pagtaas ay na-convert sa binary sa dec2bin at na-update ang display.

Pagpili ng Button A + B Mode

Ang pagpindot sa parehong mga pindutan nang magkasama ay nagbibigay-daan sa pagpili sa pagitan ng Oras mode o ang mode ng Alarm ang naaangkop na mode ay ipinapakita sa display.

Nakasalalay sa aling mode ang napili ang display ay na-update upang ipakita ang alinman sa Oras o ang itinakdang oras ng Alarm.

Hakbang 4: Pagpapatakbo

Pagpapatakbo
Pagpapatakbo
Pagpapatakbo
Pagpapatakbo
Pagpapatakbo
Pagpapatakbo

I-download ang Hex file sa Microbit, maglagay ng baterya ng CR2032 sa RTC.

I-plug ang Microbit sa RTC at i-power ang RTC board sa pamamagitan ng USB o mga screw terminal.

Ang Tick LED ay magsisimulang mag-flash at ilang sandali pagkatapos nito ay ipapakita ang oras.

Kung ito ang kauna-unahang oras ng paggamit ng ipinakitang oras ay malamang na mali at kailangang itakda sa tamang oras.

Pagpili ng mode

Ang pagpindot sa mga pindutan ng Selection (A) & Increment (B) na magkakasama ay magbibigay-daan sa pagbibisikleta ng mga pagpipilian sa Mode sa pagitan ng Oras at Alarm.

Pagtatakda ng Oras

Ang setting ng oras ay nasa 24H mode.

Gamitin ang pindutan ng Pagpili (A), upang ilipat ang LED sa tuktok na hilera, ipinapahiwatig nito ang haligi kung saan maaaring mabago ang oras. Ang mga haligi ng pagpipilian ay tumutugma sa H, H, M & M.

Kung saan H = Oras at M = Minuto.

Ang pagpili ng isang haligi ay pindutin ang pindutan ng Pagdagdag (b), paulit-ulit upang madagdagan ang bilang ng isa sa bawat pindutin. Ang mga bilang ay ipinahiwatig sa binary, pagkatapos ng lahat ng ito ay isang Binary Clock.

Ang pagtaas ng pindutan ay nagdaragdag lamang ng bilang at sa sandaling ang maximum na naabot na reset sa zero, karagdagang mga pagpindot ay muling taasan ang bilang.

Kapag naitala ang unang oras ng haligi, pindutin ang pindutan ng Pagpili para sa susunod na haligi pagkatapos ay gamitin ang pindutan ng Pagdagdag upang maitakda ang oras ng haligi.

Tandaan: *** Kapag itinakda mo ang Oras o Alarm kakailanganin mong maglagay ng oras sa napiling haligi kahit na ang oras sa haligi ay mananatiling hindi nababago habang ang paglaktaw sa isang haligi ay nagtatakda ng oras ng haligi sa zero ****

Ulitin ang proseso hanggang sa maitakda ang oras gamit ang lahat ng 4 na haligi.

Pindutin ang Selection button para sa ikalimang oras upang ilipat ito sa ikalimang haligi at ang oras ay nakatakda.

Pagtatakda ng Alarma

Ang pagtatakda ng oras ng Alarm ay tapos na sa eksaktong parehong paraan tulad ng para sa Oras.

Upang ma-trigger ang Alarm sa kinakailangang oras iwanan ang Mode na nakatakda sa Alarm.

Upang patayin ang Alarm itakda ang Mode sa Oras.

Upang maipakita ang itinakdang oras ng Alarm, iikot ang Mode sa pagitan ng Oras at Alarm at ang oras ng Alarm ay ipapakita sa isang maikling panahon bago bumalik sa pagpapakita ng kasalukuyang oras.

Ang oras ng Alarm ay hindi nakaimbak sa RTC, samakatuwid kung tinanggal ang kuryente mangangailangan ito ng pag-reset.

Hakbang 5: Box It

Box It
Box It
Box It
Box It

Ang proyekto ay uupo sa naaangkop na anggulo upang matingnan ang orasan ngunit ang isang kahon ay nagdaragdag ng isang pakiramdam ng pagiging permanente.

Maaari kang bumili ng isang naaangkop na sukat na kahon at gupitin at i-drill ang mga naaangkop na lugar upang payagan ang Microbit sa socket.

Gayunman; Bilang karagdagan nais kong doblehin ang mga pindutan ng Microbit kasama ang iba pang mga kontrol at tagapagpahiwatig.

Karaniwan, ang mga alamat ay kailangang mailapat sa kahon upang makilala ang mga pindutan.

Maaaring mailapat ang mga ito sa pamamagitan ng kamay; pininturahan, nakaukit o naglalagay ng mga label.

Ang isang paraan upang mapagtanto ang lahat ng mga pagpipiliang ito ay upang i-print ang 3D sa kahon ngunit kailangan muna naming lumikha ng isang CAD file kung saan lilikha ang file ng printer.

Ang mga pagpipilian sa paglikha ng file ay iginuhit o iginuhit gamit ang code.

Pinili ko ang "iginuhit kasama ng code" gamit ang Tinkercad CodeBlocks

Ang mga file para sa Box Lid at sa Box Base ay matatagpuan sa Tinkercad CodeBlocks

Hakbang 6: I-block ang Disenyo ng Code

I-block ang Disenyo ng Code
I-block ang Disenyo ng Code
I-block ang Disenyo ng Code
I-block ang Disenyo ng Code

Ang kahon ay isang disenyo ng dalawang bahagi na binubuo ng isang base at isang takip.

Gagamitin ang apat na butas ng tornilyo upang mai-secure ang takip na may isang cut-out sa kaliwang bahagi upang payagan ang pagpasok para sa USB plug.

Ang talukap ng mata ay magkakaroon ng isang cut-out para sa konektor ng Microbit at ang kinakailangang mga switch, bilang karagdagan ang anumang teksto ay mai-print nang direkta sa takip at ang mga butas ng tornilyo ay nakahanay sa mga base na haligi.

Ang board ng RTC ay ikakabit sa ilalim ng takip ng 4 na haligi at 4 na turnilyo.

Ang laki ng kahon plus takip ay 70 x 105 x 31 mm

Ang code para sa Lid at ang Base ay magagamit sa TinkerCad CodeBlocks.

Hakbang 7: Pag-print sa 3D

Pagpi-print sa 3D
Pagpi-print sa 3D
Pagpi-print sa 3D
Pagpi-print sa 3D
Pagpi-print sa 3D
Pagpi-print sa 3D
Pagpi-print ng 3D
Pagpi-print ng 3D

I-load ang mga file sa Cura at ilapat ang iyong ginustong mga setting ng slicer.

Inilapat ang mga setting.

Kalidad: 0.15mm

Mag-infill: 80%, Tri-Hexagon

Batayan: Masigat

I-save ang iyong mga file pagkatapos ay i-print.

Sa Cura maaari mong mai-load ang parehong mga file nang magkasama sa parehong lugar ng pag-print at i-print nang sabay-sabay.

Hakbang 8: Mag-infill

Magpasok
Magpasok
Magpasok
Magpasok
Magpasok
Magpasok

Ang takip ng kahon ay naka-print na may recessed na teksto na pupunan ng may kulay na 2 bahagi ng epoxy dagta.

Ang dagta ay halo-halong may isang ratio ng 2 mga bahagi dagta sa 1 bahagi hardener pagkatapos ng isang opaque kulay pigment ay halo-halong sa.

Ang kulay na pinili ay Dilaw upang ihambing sa background. Mapili sana si White.

Kapag halo-halong ang dagta ay dripped sa recess sa pamamagitan ng paggamit ng isang cocktail stick upang ilipat ang maliit na mga bloke ng dagta na ginagamit upang dahan-dahang punan ang recess sa mga titik.

Labanan ang paglalagay ng sobrang dagta sa isang paglipas dahil malamang na mapunta ka sa mga bula ng hangin at o lumilikha ng labis na pag-apaw sa nakapalibot na ibabaw na nangangahulugang magkakaroon ka ng higit pa upang alisin ang paglilinis at pag-sanding sa sandaling gumaling.

Kaya't punan nang dahan-dahan na tinitiyak ang ilalim ng titik ay natakpan at itayo ito sa pagtatapos ng isang bahagyang nakataas na ibabaw.

Kapag ang dagta ay gumaling ang ilang mga light sanding ay kinakailangan upang i-level ang ibabaw, magsimula sa P240 grade pagsulong sa mas pinong mga marka tulad ng kinakailangan upang makakuha ng isang makinis na tapusin sa wakas pagtatapos sa isang polish.

Huwag maglapat ng labis na presyon at sobrang bilis o maiinit mo ang PLA at ang dagta na nagreresulta sa isang mapurol na ibabaw dahil sa grit pickup, isang maliit na tubig na inilapat sa panahon ng proseso ng sanding ay kumikilos bilang isang pampadulas at coolant.

Hakbang 9: Assembly

Assembly
Assembly
Assembly
Assembly
Assembly
Assembly

Ang Microbit ay magkakasya sa socket sa dalawang oryentasyon, nakaharap sa pangunahing bahagi ng RTC ng nakaharap sa malayo.

Kung nakaharap sa pangunahing bahagi ng RTC ang mga koneksyon sa link ay hindi maaaring gamitin gayunpaman, kung ang Microbit ay nakaharap ang layo mula sa pangunahing bahagi ng board pagkatapos ay maaari naming magamit ang mga koneksyon na ito.

Ang pagpupulong ay nagsisimula sa pamamagitan ng paghihinang ng tamang anggulo ng SIL pin header papunta sa RTC, ito ay upang paganahin ang mga koneksyon na gawin gamit ang mga push fit na konektor.

Ang RTC ay nilagyan ng 4 * M3 (10 + 6mm), mga standoff ng M / F na may M3 nut na na-secure sa takip na may 4 * M3 (8mm), mga tornilyo sa mga prefabricated na butas.

Ang mga switch ay nilagyan sa prefabricated na mga butas sa talukap ng mata.

Ang mga kinakailangang koneksyon ay:

GND, 3V, P1 (set), P2 (alert), P5 (sel) & P11 (inc)

Tandaan *** Mga Resistor (1R), sa diagram para sa P5 & P11 ay simpleng mga sanggunian na puntos ng koneksyon bilang direktang koneksyon sa mga pin sa Microbit sa mga bloke ng Code ay hindi magagamit sa ngayon. ***

Ang P5 ay ang panlabas na koneksyon para sa Button A na konektado sa pamamagitan ng isang pansamantalang switch ng SPST. Ang isang koneksyon sa P5 at ang iba pang pin ay konektado sa GND ang pindutan na ito ay para sa pagpili ng haligi sa panahon ng setting ng oras.

Ang P11 ay ang panlabas na koneksyon para sa Button B na konektado sa pamamagitan ng isang pansamantalang switch ng SPST. Ang isang koneksyon sa P11 at ang iba pang pin ay konektado sa GND ang kanyang pindutan ay para sa pagtaas ng numero sa panahon ng setting ng oras.

Ang P1 ay isang SPDT (on-on) switch na ginagamit upang paganahin o huwag paganahin ang mga pagpipilian sa setting. Ang center pin ay pupunta sa P1 habang ang isang pin ay konektado sa GND at ang isa sa 3V sa pamamagitan ng 10k resistor. Pinapayagan nitong mailapat ang isang H (3V) at L (0V) sa pin na ito. Kapag nakakonekta ang P1 sa 3V pinapagana nito ang mga pagpipilian sa setting ng oras at kapag hindi pinagana ng 0V ang setting ng oras. Sa gayon ay kinokontrol kung ang mga A & B button ay may anumang epekto.

Ang P2 ay isang SPDT (on-off-on) switch na ginagamit upang paganahin o huwag paganahin ang alerto na tunog at mga opsyonal na panlabas na ilaw.

Ang tunog ng alerto ay isang Piezo Buzzer (simpleng nakakabit sa isang dobleng panig na malagkit na pad), na nangangailangan ng isang pulse drive na ibinibigay ng Microbit.

Hakbang 10: Panghuli

Pinagsama mo ang mga elemento sa kahon, na-program ang Microbit at nilagay ito sa socket sa kahon.

Susunod na ilapat ang lakas at itakda ang oras.

Tangkilikin

Block Code Contest
Block Code Contest
Block Code Contest
Block Code Contest

Runner Up sa Block Code Contest

Inirerekumendang: