Cuprins:

Ceas micro binar: 10 pași (cu imagini)
Ceas micro binar: 10 pași (cu imagini)

Video: Ceas micro binar: 10 pași (cu imagini)

Video: Ceas micro binar: 10 pași (cu imagini)
Video: Cum să implementezi un CRM în 10 pași 2024, Iulie
Anonim
Ceas Micro Binar
Ceas Micro Binar
Ceas Micro Binar
Ceas Micro Binar

Proiecte Tinkercad »

După ce ați creat anterior un instructabil (DVM binar), care utilizează zona de afișare limitată utilizând binar.

A fost doar un mic pas, după ce am creat anterior modulul principal de cod pentru conversia Zecimală în Binară pentru a crea un Ceas Binar, dar singurul lucru care lipsea era un RTC (Ceas în timp real).

Cu toate acestea, Microbit nu are o construcție în RTC.

RTC permite realizarea de proiecte de ceas cu o rezervă a bateriei.

Ca atare, următorul proiect folosește un Microbit și un Kitronik RTC pentru a crea un ceas de 24 de ore cu afișaj binar și are în plus o opțiune de alarmă.

Software-ul proiectului care va rula pe Microbit va fi creat în Makecode Blocks.

Provizii:

MicroBit V1 sau V2

Carcasă de protecție MicroBit (opțional)

Makecode

Kitronik RTC

CR2032

Coduri

Cura

imprimantă 3d

1 * comutator SPDT (pornit - pornit)

1 * comutator SPDT (pornit - oprit - pornit)

2 * SPST (normal deschis), comutator momentan

4 * M3 (10 + 6mm), standuri M / F cu piulițe M3

4 * M3 (8mm), șuruburi

Conector sârmă jumper M / F, 100mm, 28AWG prefabricat cu mufă și priză.

1 * Piezo Buzzer (fără unitate)

Aceste consumabile sunt disponibile de la mai multe puncte de vânzare și este posibil să aveți propriul dvs. furnizor preferat.

Pasul 1: Definirea zonei de afișare

Definirea zonei de afișare
Definirea zonei de afișare
Definirea zonei de afișare
Definirea zonei de afișare

Deși zona de afișare este limitată în cantitatea de date care poate fi afișată în orice moment, se pretează în mod ideal la afișarea datelor de biți.

Ca atare, există o zonă suficientă pentru a afișa cuvinte binare de 4 x 4 biți pentru a reprezenta timpul cu notificări și moduri de selecție.

Afișajul este împărțit în 3 zone principale; Timp, selecție și moduri.

Timp

Șaisprezece LED-uri sunt atribuite Time, fiecare coloană de 4 LED-uri este atribuită unui interval de timp, intervalele fiind în forma H, H, M și M.

Fiecare bit al cuvântului binar are o ponderare de 1, 2, 4 și 8 cu LSB pe rândul 4 și MSB pe rândul 1

Fiecare cuvânt binar de 4 biți permite un număr de la 0 la 15, care este mai mult decât suficient pentru formatul de timp 24H, necesitând un număr maxim pe coloană de 2, 9, 5 și 9.

Selecţie

Un rând de 4 LED-uri la rândul 0 sunt utilizate pentru a identifica coloana de timp selectată la introducerea timpului.

Moduri

O coloană de 5 LED-uri din coloana 4 este utilizată pentru a identifica modurile, funcțiile și funcționarea.

Bifați - LED-ul 4, 0 care aprinde intermitent este utilizat pentru a indica secunde și funcționare.

Time - LED-ul 4, 1 indică modul Time când este pornit. (Mod implicit la pornire)

Alarmă - LED-ul 4, 2 a indicat modul de alarmă când este aprins.

Notificare alarmă - LED-urile 4, 3 și LED-urile 4, 4 clipesc când alarma este declanșată.

Pasul 2: RTC (ceas în timp real)

RTC (ceas în timp real)
RTC (ceas în timp real)
RTC (ceas în timp real)
RTC (ceas în timp real)
RTC (ceas în timp real)
RTC (ceas în timp real)
RTC (ceas în timp real)
RTC (ceas în timp real)

RTC este inima bătută a aplicației, permițând setarea și păstrarea timpului exact.

Mai multe detalii despre RTC pot fi găsite la Kitronik.

RTC furnizează o sursă reglementată care anulează necesitatea alimentării Microbitului prin propriul său conector USB sau JST, iar bateria de rezervă este asigurată pentru a reține timpul în caz de pierdere de energie.

Înainte de a utiliza RTC va trebui să încărcați pachetul de extensie.

Folosind Makecode din pictograma Setări, selectați Extensii și tastați Kitronik RTC în căutare.

Selectați pachetul pentru al instala și acesta va fi adăugat la celelalte extensii.

Există un număr de blocuri de cod din care să citiți și să scrieți la RTC.

Vom solicita doar 4 dintre aceste blocuri de cod pentru ceasul binar.

Acestea vor fi utilizate pentru a scrie ora setată pe RTC și pentru a citi timpul înapoi pentru a actualiza afișajul ceasului.

Pasul 3: Codificarea ceasului

Codificarea ceasului
Codificarea ceasului
Codificarea ceasului
Codificarea ceasului
Codificarea ceasului
Codificarea ceasului

Prima parte a codului este inițializarea programului de variabile, tablouri și text informativ.

Init

Bclk - Ceas binar

<Sel - Un buton selectează coloana care va fi ajustată pentru setarea orei.

Butonul Inc - B mărește timpul.

Apăsând ambele butoane A & B împreună se schimbă modul între oră și alarmă.

Strval - este valoarea șirului care conține ora în forma „HH: MM: SS” returnată de la RTC

Doar HH și MM sunt utilizate pentru a afișa sau seta ora.

Mod - păstrează valoarea modului pentru Time = 1 și Alarm = 2 selectate cu combinația de butoane A + B.

Perioada - este valoarea coloanei de timp, selectată cu butonul A.

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

Tick_en - Activează = 1 sau Dezactivează = 0 indicatorul (secunde), indicator.

Inc - Stocare intermediară a valorii de setare a timpului incremental.

Tm_list - stochează valoarea fiecărei coloane de timp în timpul setării.

Alarmă - Activează sau dezactivează indicatorul de alarmă.

Cel pentru totdeauna apelează în mod continuu funcția tick.

Bifați

Funcția de bifare care este activată în mod normal, afișează un LED alternativ de pornire / oprire în colțul din dreapta sus pentru a indica funcționarea și secundele.

În plus, apelează funcția showtm care citește RTC și o procesează pentru a fi afișată în binar, în timp ce apelează și alarm_mode, dacă aceasta este activată, afișează LED-urile de notificare alarmă din colțul din dreapta jos.

Showtm

Funcția showtm, apelează rdtime și valoarea utilizată din aceasta este strval care conține șirul de timp.

Se creează o buclă care crește prin strval extragând fiecare număr și ignorând separatorul „:”

Fiecare număr unic este apoi convertit în echivalentul său binar cu funcția dec2bin și atribuit coloanei corecte.

Rdtime

Funcția rdtime, citește primele 5 caractere din șirul returnat de la RTC (ignorând porțiunea de secunde) și o trece la strval.

Dacă alarma a fost setată (Mod = 2), atunci valorile setate de alarmă sunt comparate cu valorile returnate de RTC, dacă există o potrivire, atunci alarmă = 1 dacă nu există o alarmă de potrivire = 0.

Alarm_mode când este activat afișează două LED-uri alternate pornite / oprite în colțul din dreapta jos al coloanei 4.

Dec2bin

Funcția dec2bin convertește un număr zecimal în binar și îl afișează în coloana corectă.

Numărul care urmează să fie convertit este transmis prin valoare, iar coloana afișată este transmisă prin col.

List2 este matricea în care este stocat cuvântul binar pe 4 biți din procesul de conversie binară.

Este inițiată o buclă care continuă să împartă valoarea la 2 restul este stocat în elementul matricei valoarea întreagă este împărțită la 2, aceasta se repetă până când valoarea întregului este <= 1 și această ultimă valoare este plasată în matrice.

Cea mai mare valoare zecimală cu o singură cifră este 9, iar în binar aceasta este 1001 ca un cuvânt pe 4 biți.

Matricea trebuie apoi procesată în ordine inversă pentru rezultatul corect.

Apoi este inițiată o buclă pentru a porni LED-ul corect în coloana corespunzătoare, acest lucru se realizează pentru fiecare apariție a unuia în cuvântul binar de 4 biți.

Interfața umană este realizată cu butoane.

Butonul A

Aceasta selectează coloana în care va fi introdusă valoarea timpului și afișează un LED luminat peste coloana aleasă pe rândul 4.

Odată ce toate coloanele de timp au fost actualizate, creșterea selecției la a cincea coloană actualizează variabila de timp.

Dacă modul = 1, RTC-ul este actualizat altfel, timpul de alarmă este actualizat.

Butonul B

Acesta este butonul de creștere și crește coloana de timp selectată.

Pentru a reduce erorile și a economisi timp pentru a ajunge la valoarea corectă, valoarea maximă care poate fi introdusă pe coloană este limitată pe baza valorii timpului pentru un sistem de timp de 24 de ore.

Aceste valori maxime sunt stocate în tm_max , câte una pe coloană de timp și sunt selectate automat pe baza coloanei de timp.

Valorile maxime sunt H = 2, H = 9, M = 5, M = 9

Valoarea incrementului este convertită în binar în dec2bin și afișajul actualizat.

Selectarea butonului A + B Mode

Apăsarea ambelor butoane împreună permite selectarea între modul Time sau modul Alarmă, modul corespunzător este afișat pe afișaj.

În funcție de modul selectat, afișajul este actualizat pentru a afișa ora sau ora setată de alarmă.

Pasul 4: Operațiune

Operațiune
Operațiune
Operațiune
Operațiune
Operațiune
Operațiune

Descărcați fișierul Hex pe Microbit, introduceți o baterie CR2032 în RTC.

Conectați Microbit la RTC și alimentați placa RTC prin USB sau terminalele cu șurub.

LED-ul Tick va începe să clipească și la scurt timp după aceasta va fi afișată ora.

Dacă aceasta este prima dată de utilizare, timpul afișat este foarte probabil să fie greșit și va trebui setat la ora corectă.

Selectarea modului

Apăsând butoanele Selecție (A) și Incrementare (B) împreună va permite ciclarea opțiunilor de mod între timp și alarmă.

Setarea orei

Setarea orei este în modul 24H.

Utilizați butonul de selecție (A) pentru a muta LED-ul peste rândul de sus, aceasta indicând coloana unde poate fi schimbată ora. Coloanele de selecție corespund cu H, H, M și M.

Unde H = Ore și M = Minute.

După ce ați selectat o coloană, apăsați butonul de creștere (b), în mod repetat pentru a crește numărul cu una la fiecare apăsare. Numărurile sunt indicate în binar, la urma urmei este un ceas binar.

Butonul de creștere crește doar numărul și odată ce maximul este atins se resetează la zero, apăsările suplimentare vor crește din nou numărul.

Odată setată prima oră a coloanei, apăsați butonul Selecție pentru următoarea coloană, apoi utilizați butonul Incrementare pentru a seta ora coloanei.

Notă: *** Când setați ora sau alarma, va trebui să introduceți o oră în coloana selectată, chiar dacă timpul din coloană trebuie să rămână neschimbat, deoarece omiterea unei coloane setează timpul coloanei la zero ****

Repetați procesul până când a fost setată ora folosind toate cele 4 coloane.

Apăsați butonul Selecție pentru a cincea oară pentru a-l muta în a cincea coloană și timpul este setat.

Setarea alarmei

Setarea timpului de alarmă se face exact în același mod ca și pentru ora.

Pentru ca alarma să fie declanșată la timpul necesar, lăsați modul setat la Alarmă.

Pentru a dezactiva alarma, setați modul la Timp.

Pentru a afișa setarea timpului de alarmă, ciclați modul dintre oră și alarmă, iar timpul de alarmă va fi afișat pentru o perioadă scurtă de timp înainte de a reveni la afișarea orei curente.

Timpul de alarmă nu este stocat în RTC, prin urmare, dacă puterea este eliminată, va fi necesară resetarea.

Pasul 5: Casetați-l

Box It
Box It
Box It
Box It

Proiectul va sta la unghiul adecvat pentru a vizualiza ceasul, dar o cutie adaugă un sentiment de permanență.

Puteți cumpăra o cutie de dimensiuni adecvate și puteți tăia și găuri zonele corespunzătoare pentru a permite Microbitului să se potrivească în priză.

In orice caz; în plus, am vrut să duplic butoanele Microbit împreună cu alte controale și indicatori.

De obicei, legendele vor trebui să fie aplicate pe casetă pentru a identifica butoanele.

Acestea ar putea fi aplicate manual; pictate, gravate sau aplicând etichete.

O metodă pentru a realiza toate aceste opțiuni ar fi imprimarea casetei 3D, dar mai întâi ar trebui să creăm un fișier CAD cu care să creăm fișierul imprimantei.

Opțiunile de creare a fișierelor sunt desenate manual sau desenate cu cod.

Am optat pentru „desenat cu cod” folosind Tinkercad CodeBlocks

Fișierele pentru capacul cutiei și baza cutiei pot fi găsite pe Tinkercad CodeBlocks

Pasul 6: Proiectare cod bloc

Proiectare cod bloc
Proiectare cod bloc
Proiectare cod bloc
Proiectare cod bloc

Cutia este un design în două părți constând dintr-o bază și un capac.

Patru găuri de șuruburi de colț vor fi utilizate pentru a fixa capacul cu o decupare pe partea stângă pentru a permite intrarea mufei USB.

Capacul va avea o decupare pentru conectorul Microbit și comutatoarele necesare, în plus, orice text va fi tipărit direct pe capac și orificiile șuruburilor se vor alinia cu stâlpii de bază.

Placa RTC va fi atașată la partea inferioară a capacului de 4 stâlpi și 4 șuruburi.

Dimensiunea cutiei plus capacul este de 70 x 105 x 31 mm

Codul pentru capac și bază este disponibil în TinkerCad CodeBlocks.

Pasul 7: Imprimare 3D

printare 3d
printare 3d
printare 3d
printare 3d
printare 3d
printare 3d
printare 3d
printare 3d

Încărcați fișierele în Cura și aplicați setările preferate pentru feliere.

Setări aplicate.

Calitate: 0,15 mm

Umplutură: 80%, Tri-Hexagon

Baza: tiv

Salvați fișierele, apoi imprimați.

Cu Cura puteți încărca ambele fișiere împreună pe aceeași zonă de imprimare și imprima dintr-o dată.

Pasul 8: Completați

Completați
Completați
Completați
Completați
Completați
Completați

Capacul cutiei este imprimat cu text încastrat care va fi umplut cu rășină epoxidică colorată din 2 părți.

Rășina este amestecată cu un raport de 2 părți de rășină la 1 parte de întăritor, apoi se amestecă un pigment de culoare opacă.

Culoarea aleasă a fost Galben pentru a contrasta cu fundalul. Albul ar fi fost o altă alegere.

Odată amestecată, rășina este picurată în adâncitură folosind un băț de cocktail pentru a transfera mici pete de rășină care sunt folosite pentru a umple treptat adâncitura în litere.

Rezistați să introduceți prea multă rășină dintr-o singură dată, deoarece probabil veți ajunge cu bule de aer sau creând prea mult revărsare pe suprafața înconjurătoare, ceea ce înseamnă că veți avea mai mult de îndepărtat curățarea și șlefuirea odată vindecată.

Deci, umpleți încet, asigurându-vă că partea de jos a literei este acoperită și construiți-o finisând cu o ușoară suprafață ridicată.

Odată ce rășina s-a vindecat va fi necesară o șlefuire ușoară pentru a nivela suprafața, începeți cu gradul P240 progresând la grade mai fine, după cum este necesar, pentru a obține un finisaj neted, finalizând în cele din urmă cu o lustruire.

Nu aplicați prea multă presiune și prea multă viteză sau veți supraîncălzi PLA și rășina care rezultă pe o suprafață plictisitoare datorită ridicării granulelor, puțină apă aplicată în timpul procesului de șlefuire va acționa ca lubrifiant și agent de răcire.

Pasul 9: Asamblare

Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
Asamblare

Microbitul se va potrivi în soclu în două orientări, orientate spre partea principală a RTC-ului, orientat spre exterior.

Dacă se îndreaptă spre partea principală a RTC, conexiunile de legătură nu pot fi folosite, totuși, dacă Microbit se îndreaptă spre partea principală a plăcii, atunci putem folosi aceste conexiuni.

Asamblarea începe prin lipirea unui antet SIL cu unghi drept pe RTC, aceasta pentru a permite conexiunilor să fie realizate cu conectori push-push.

RTC este montat de 4 * M3 (10 + 6mm), standuri M / F cu piulițe M3 care sunt fixate pe capac cu 4 * M3 (8mm), șuruburi în găurile prefabricate.

Comutatoarele sunt montate în găurile prefabricate din capac.

Conexiunile necesare sunt:

GND, 3V, P1 (set), P2 (alertă), P5 (sel) și P11 (inc)

Notă *** Rezistoarele (1R), pe diagrama pentru P5 și P11, sunt pur și simplu puncte de conexiune de referință, deoarece conexiunea directă la acești pini de pe blocurile Microbit în cod nu este disponibilă în acest moment. ***

P5 este conexiunea externă pentru butonul A care este conectat printr-un comutator momentan SPST. O conexiune la P5 și cealaltă pin este conectată la GND acest buton este pentru selectarea coloanei în timpul setării timpului.

P11 este conexiunea externă pentru butonul B care este conectat printr-un comutator momentan SPST. O conexiune la P11 și cealaltă pin este conectată la GND butonul său este pentru creșterea numărului în timpul setării timpului.

P1 este un comutator SPDT (on-on) care este utilizat pentru a activa sau dezactiva opțiunile de setare. Pinul central merge la P1, în timp ce un pin este conectat la GND și celălalt la 3V printr-un rezistor de 10k. Acest lucru permite aplicarea unui H (3V) și L (0V) la acest pin. Când P1 este conectat la 3V, acesta activează opțiunile de setare a timpului și când 0V dezactivează setarea timpului. Prin aceasta se controlează dacă butoanele A & B au vreun efect.

P2 este un comutator SPDT (on-off-on-on) care este utilizat pentru a activa sau a dezactiva sonda de alertă și luminile externe opționale.

Sunetul de alertă este un Piezo Buzzer (pur și simplu fixat cu un tampon lipicios dublu lateral), care necesită o unitate de impulsuri care este furnizată de Microbit.

Pasul 10: În cele din urmă

Ați asamblat elementele din cutie, ați programat Microbit și l-ați montat în soclul cutiei.

Apoi aplicați puterea și setați ora.

Bucurați-vă.

Concurs Block Code
Concurs Block Code
Concurs Block Code
Concurs Block Code

Locul doi în concursul de coduri de blocuri

Recomandat: