Indholdsfortegnelse:

Mikro binært ur: 10 trin (med billeder)
Mikro binært ur: 10 trin (med billeder)

Video: Mikro binært ur: 10 trin (med billeder)

Video: Mikro binært ur: 10 trin (med billeder)
Video: Top 10 fødevarer til detox din lever 2024, November
Anonim
Mikro binært ur
Mikro binært ur
Mikro binært ur
Mikro binært ur

Tinkercad -projekter »

Efter at have oprettet en instruerbar (binær DVM), der gør brug af det begrænsede displayområde ved hjælp af binært.

Det var kun et lille skridt, der tidligere havde oprettet hovedkodemodulet for decimal til binær konvertering til oprettelse af et binært ur, men det eneste der manglede var et RTC (Real Time Clock).

Imidlertid har Microbit ikke en build i RTC.

RTC muliggør realisering af urprojekter med en batteribackup.

Som sådan anvender det følgende projekt en Microbit og en Kitronik RTC til at oprette et 24 -timers ur med et binært display og har desuden en alarmmulighed.

Den projektsoftware, der skal køre på Microbit, vil blive oprettet i Makecode Blocks.

Tilbehør:

MicroBit V1 eller V2

MicroBit beskyttelsesetui (ekstraudstyr)

Lav kode

Kitronik RTC

CR2032

Kodeblokke

Cura

3D printer

1 * SPDT (on - on) switch

1 * SPDT (on - off - on) switch

2 * SPST (normalt åben), kortvarig kontakt

4 * M3 (10+6 mm), M/F standoffs med M3 møtrikker

4 * M3 (8 mm), skruer

Jumper wire M/F stik, 100 mm, 28AWG præfabrikeret med stik og fatning.

1 * Piezo Buzzer (uden drev)

Disse forsyninger fås fra en række forretninger, og du har muligvis din egen foretrukne leverandør.

Trin 1: Definere visningsområdet

Definere visningsområdet
Definere visningsområdet
Definere visningsområdet
Definere visningsområdet

Selvom visningsområdet er begrænset i mængden af data, der kan vises på én gang, egner det sig ideelt til visning af bitdata.

Som sådan er der tilstrækkeligt område til at vise 4 x 4 bit binære ord til at repræsentere tid med meddelelser og valgmåder.

Displayet er opdelt i 3 hovedområder; Tid, valg og tilstande.

Tid

Seksten LED'er er tildelt Time, hver kolonne med 4 LED'er er tildelt et tidsinterval, intervallerne er i formen H, H, M & M.

Hver bit af det binære ord har en vægtning på 1, 2, 4 & 8 med LSB på række 4 og MSB på række 1

Hvert binært 4 -bits ord tillader en optælling på 0 til 15, hvilket er mere end tilstrækkeligt til 24 -timers format, hvilket kræver et maksimalt antal pr. Kolonne på 2, 9, 5 og 9.

Udvælgelse

En række med 4 lysdioder i række 0 bruges til at identificere den tidskolonne, der er valgt, når du indtaster tid.

Tilstande

En kolonne med 5 lysdioder i kolonne 4 bruges til at identificere tilstande, funktioner og betjening.

Kryds - LED 4, 0 blinker til og fra bruges til at angive sekunder og drift.

Tid - LED 4, 1 angiver tidstilstand, når den er tændt. (Standardtilstand ved tænding)

Alarm - LED 4, 2 angiver alarmtilstand, når den er tændt.

Alarmmeddelelse - LED 4, 3 & LED 4, 4 blinker, når alarmen udløses.

Trin 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)

RTC er applikationens bankende hjerte, hvilket gør det muligt at indstille og holde nøjagtig tid.

Yderligere oplysninger om RTC findes på Kitronik.

RTC leverer en reguleret forsyning, der negerer behovet for at forsyne Microbit med sit eget USB- eller JST -stik, og der tilbydes batteribackup for at beholde tiden i tilfælde af strømtab.

Inden du bruger RTC skal du indlæse udvidelsespakken.

Brug Makecode fra ikonet Indstillinger til at vælge Udvidelser og skriv Kitronik RTC i søgningen.

Vælg pakken for at installere den, og den tilføjes til de andre udvidelser.

Der er et antal kodeblokke at læse fra og skrive til RTC.

Vi vil kun kræve 4 af disse kodeblokke til det binære ur.

Disse vil blive brugt til at skrive den indstillede tid til RTC og til at læse tiden tilbage til at opdatere urvisningen.

Trin 3: Kodning af uret

Kodning af uret
Kodning af uret
Kodning af uret
Kodning af uret
Kodning af uret
Kodning af uret

Den første del af koden er programinitialisering af variabler, arrays og informativ tekst.

I det

Bclk - Binært ur

<Sel - En knap vælger den kolonne, der skal justeres til tidsindstilling.

Inc - B -knap øger tiden.

Ved at trykke på begge A & B -knapper sammen ændres tilstanden mellem Tid og alarm.

Strval - er strengværdien, der indeholder tiden i formen "HH: MM: SS", der returneres fra RTC

Kun HH & MM bruges til at vise eller indstille tiden.

Mode - bevarer tilstandsværdien for Time = 1 og Alarm = 2 valgt med A+B -tastkombinationen.

Periode - er værdien for tidskolonnen, valgt med knappen A.

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

Tick_en - Aktiverer = 1 eller Deaktiverer = 0 fluebenet (sekunder), indikator.

Inc - Mellemlagring af den trinvise tidsindstillingsværdi.

Tm_list - gemmer værdien af hver tidskolonne under indstillingen.

Alarm - Aktiverer eller deaktiverer alarmindikatoren.

Den evigt kalder konstant krydsfunktionen.

Kryds

Den krydsfunktion, der normalt er aktiveret, viser en vekslende tænd/sluk -LED i øverste højre hjørne for at angive drift og sekunder.

Derudover kalder den showtm -funktionen, der læser RTC og behandler denne, for at blive vist i binær, mens den også kalder alarm_mode, hvis denne er aktiveret, viser alarmmeddelelses -LED'erne i nederste højre hjørne.

Showtm

Funktion showtm, opkald rdtime og den værdi, der bruges herfra, er strval, der indeholder tidsstrengen.

Der oprettes en loop, der øges gennem strval, der udtrækker hvert enkelt nummer og ignorerer separatoren ":"

Hvert enkelt tal konverteres derefter til dets binære ækvivalent med funktionen dec2bin og tildeles den korrekte kolonne.

Rdtime

Funktion rdtime, læser de første 5 tegn i strengen, der returneres fra RTC (ignorerer sekondelen) og sender den til strval.

Hvis alarmen blev indstillet (tilstand = 2), sammenlignes alarmindstillingsværdierne med de værdier, der returneres af RTC, hvis der er en match, er alarm = 1, hvis der ikke er nogen matchalarm = 0.

Alarm_mode, når den er aktiveret, viser to tænd/sluk-vekslende lysdioder i nederste højre hjørne af kolonne 4.

Dec2bin

Funktion dec2bin konverterer et decimaltal til binært og viser det i den korrekte kolonne.

Det nummer, der skal konverteres, sendes ind via værdi, og displaykolonnen sendes ind via kol.

List2 er den matrix, som det 4-bit binære ord fra den binære konverteringsproces er gemt i.

Der påbegyndes en loop, der fortsætter med at dividere værdien med 2, resten gemmes i array -elementet, heltalets værdi divideres med 2, dette gentages, indtil heltalets værdi er <= 1, og denne sidste værdi placeres i arrayet.

Den største enkeltcifrede decimalværdi er 9, og i binært er dette 1001 som et 4-bit ord.

Arrayet skal derefter behandles i omvendt rækkefølge for det korrekte resultat.

En sløjfe initieres derefter for at tænde den korrekte LED i den relevante kolonne, dette opnås for hver forekomst af en i det 4-bit binære ord.

Den menneskelige grænseflade opnås med knapper.

A -knappen

Dette vælger den kolonne, som tidsværdien skal indtastes i, og der vises en oplyst LED over den valgte kolonne i række 4.

Når alle tidskolonnerne er blevet opdateret, opdateres tidsvariablen ved at øge markeringen til den 5. kolonne.

Hvis tilstand = 1 opdateres RTC, ellers opdateres alarmtiden.

B -knappen

Dette er stigningsknappen og øger den valgte tidskolonne.

For at reducere fejl og spare tid ved at komme til den korrekte værdi, begrænses den maksimale værdi, der kan indtastes pr. Kolonne, baseret på tidsværdien for et 24-timers tidssystem.

Disse maksimale værdier gemmes i tm_max , en pr. Tidskolonne og vælges automatisk baseret på tidskolonnen.

De maksimale værdier er H = 2, H = 9, M = 5, M = 9

Forøgelsesværdien konverteres til binær i dec2bin og displayet opdateres.

Knap A+B Valg af tilstand

Ved at trykke på begge knapper sammen kan du vælge mellem tidstilstand eller alarmtilstand, den relevante tilstand vises på displayet.

Afhængigt af hvilken tilstand der er valgt, opdateres displayet til at vise enten klokkeslættet eller alarmtiden.

Trin 4: Betjening

Operation
Operation
Operation
Operation
Operation
Operation

Download Hex -filen til Microbit, indsæt et CR2032 -batteri i RTC.

Sæt Microbit i RTC, og tilfør RTC -kortet via USB eller skrueterminalerne.

Kryds -LED'en begynder at blinke, og kort tid efter dette vil tiden blive vist.

Hvis dette er første gang, den viste tid sandsynligvis er forkert, og den skal indstilles til det korrekte tidspunkt.

Valg af tilstand

Ved at trykke på Selection (A) & Increment (B) -knapperne sammen kan du skifte mellem tilstandene mellem tid og alarm.

Indstilling af klokkeslæt

Tidsindstillingen er i 24 -timers tilstand.

Brug markeringsknappen (A) til at flytte lysdioden hen over den øverste række, dette angiver kolonnen, hvor tiden kan ændres. Udvælgelsessøjlerne svarer til H, H, M & M.

Hvor H = Timer og M = Minutter.

Efter at have valgt en kolonne skal du trykke på knappen Forøgelse (b) flere gange for at øge tællingen med en ved hvert tryk. Tællingerne er angivet i binært, det er trods alt et binært ur.

Forøgelsesknappen øger kun tællingen, og når maksimum er nået nulstilles, vil yderligere tryk igen øge tællingen.

Når den første kolonnetid er indstillet, skal du trykke på knappen Selection for den næste kolonne og derefter bruge knappen Inkrement til at indstille kolonnetiden.

Bemærk: *** Når du indstiller klokkeslættet eller alarmen, skal du indtaste et klokkeslæt i den valgte kolonne, selvom tiden i kolonnen skal forblive uændret, når en kolonne springes over, sætter kolonnetiden til nul ****

Gentag processen, indtil tiden er blevet indstillet ved hjælp af alle 4 kolonner.

Tryk på knappen Selection for femte gang for at flytte den til den femte kolonne, og tiden indstilles.

Indstilling af alarmen

Indstilling af alarmtiden sker på nøjagtig samme måde som for tiden.

For at alarmen kan udløses på den nødvendige tid, skal tilstanden indstilles til alarm.

For at slukke alarmen skal tilstanden indstilles til Tid.

For at vise den indstillede alarmtid skiftes tilstanden mellem tid og alarm, og alarmtiden vises i en kort periode, før den vender tilbage til visningen af den aktuelle tid.

Alarmtiden lagres ikke i RTC, så hvis strømmen fjernes, vil det kræve nulstilling.

Trin 5: Box It

Box det
Box det
Box det
Box det

Projektet vil sidde i den passende vinkel for at se uret, men en boks tilføjer en følelse af permanentitet.

Du kan købe en kasse i passende størrelse og skære og bore de passende områder ud, så Microbit kan passe i stikkontakten.

Imidlertid; Derudover ville jeg kopiere Microbit -knapperne sammen med andre kontroller og indikatorer.

Typisk skal forklaringer anvendes på boksen for at identificere knapper.

Disse kunne påføres i hånden; malet, graveret eller påført etiketter.

En metode til at realisere alle disse muligheder ville være at udskrive boksen i 3D, men først skulle vi oprette en CAD -fil, som printerfilen skulle oprettes med.

Indstillingerne for filoprettelse er håndtegnet eller tegnet med kode.

Jeg valgte "tegnet med kode" ved hjælp af Tinkercad CodeBlocks

Filerne til bokslåget og boksbasen findes på Tinkercad CodeBlocks

Trin 6: Block Code Design

Block Code Design
Block Code Design
Block Code Design
Block Code Design

Boksen er et todelt design bestående af en bund og et låg.

Fire hjørneskruehuller bruges til at fastgøre låget med en udskæring i venstre side for at tillade adgang til USB-stikket.

Låget vil have en udskæring til Microbit-stikket og de nødvendige switches. Desuden udskrives enhver tekst direkte på låget, og skruehullerne flugter med basissøjlerne.

RTC -kortet fastgøres til undersiden af låget med 4 søjler og 4 skruer.

Kassens størrelse plus låg er 70 x 105 x 31 mm

Koden til låget og basen er tilgængelig i TinkerCad CodeBlocks.

Trin 7: 3D -udskrivning

3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning

Indlæs filerne i Cura, og anvend dine foretrukne skiverindstillinger.

Anvendte indstillinger.

Kvalitet: 0,15 mm

Fyld: 80%, Tri-sekskant

Bund: kant

Gem dine filer, og udskriv derefter.

Med Cura kan du indlæse begge filer på det samme udskriftsområde og udskrive på én gang.

Trin 8: Udfyld

Udfyld
Udfyld
Udfyld
Udfyld
Udfyld
Udfyld

Kasselåget er trykt med forsænket tekst, der vil blive fyldt med farvet 2 -delt epoxyharpiks.

Harpiksen blandes med et forhold på 2 dele harpiks til 1 del hærder, derefter blandes et uigennemsigtigt farvepigment ind.

Den valgte farve var gul i kontrast til baggrunden. Hvid ville have været et andet valg.

Efter blanding dryppes harpiksen ned i fordybningen ved hjælp af en cocktailpind til at overføre små klatter harpiks, der bruges til gradvist at fylde fordybningen i bogstaverne.

Modstå at putte for meget harpiks på én gang, da du sandsynligvis vil ende med luftbobler og eller skabe for meget overløb til den omgivende overflade, hvilket betyder, at du vil have mere at fjerne rensning og slibning, når den er hærdet.

Så fyld langsomt, så bunden af brevet er dækket, og opbyg det efterbehandling med en let hævet overflade.

Når harpiksen er hærdet, er der behov for let slibning for at udjævne overfladen, start med P240 -kvalitet, der går videre til finere kvaliteter efter behov for at få en glat finish, der endelig afsluttes med en polering.

Påfør ikke for meget tryk og for meget hastighed, eller du overopheder PLA og harpiksen, der resulterer i en kedelig overflade på grund af opsamling af grus, lidt vand påført under slibningsprocessen vil fungere som smøremiddel og kølemiddel.

Trin 9: Montering

montage
montage
montage
montage
montage
montage

Microbit'en passer ind i soklen i to retninger, vendt mod hoveddelen af RTC'en for at vende væk.

Hvis vi vender mod hoveddelen af RTC, kan forbindelsesforbindelserne dog ikke bruges, hvis Microbit vender væk fra hoveddelen af kortet, kan vi gøre brug af disse forbindelser.

Samlingen starter med at lodde et retvinklet SIL -benhoved på RTC, dette er for at muliggøre tilslutninger med push fit -stik.

RTC er monteret med 4 * M3 (10+6 mm), M/F -afstandsstykker med M3 -møtrikker, der er fastgjort til låget med 4 * M3 (8 mm), skruer i de præfabrikerede huller.

Kontakterne er monteret i de præfabrikerede huller i låget.

De nødvendige forbindelser er:

GND, 3V, P1 (sæt), P2 (alarm), P5 (sel) & P11 (inkl.)

Bemærk *** Modstande (1R) på diagrammet for P5 & P11 er simpelthen referenceforbindelsespunkter, da direkte forbindelse til disse ben på Microbit i kodeblokke ikke er tilgængelig på nuværende tidspunkt. ***

P5 er den eksterne forbindelse til knap A, som er forbundet med en SPST momentan switch. Den ene forbindelse til P5 og den anden pin er forbundet til GND denne knap er til valg af kolonne under tidsindstilling.

P11 er den eksterne forbindelse til knap B, som er forbundet med en SPST momentan switch. Den ene forbindelse til P11 og den anden pin er forbundet til GND, hans knap er til nummerforøgelse under tidsindstilling.

P1 er en SPDT (on-on) switch, der bruges til at aktivere eller deaktivere indstillingsmulighederne. Den midterste pin går til P1, mens den ene pin er forbundet til GND og den anden til 3V via en 10k modstand. Dette gør det muligt at anvende et H (3V) og L (0V) på denne pin. Når P1 er tilsluttet 3V aktiverer dette tidsindstillingsmulighederne, og når 0V deaktiverer tidsindstilling. Derved styres, om A & B -knapperne har nogen effekt.

P2 er en SPDT (on-off-on) switch, der bruges til at aktivere eller deaktivere varslingslyden og eksterne lys som ekstraudstyr.

Alarmen er en Piezo Buzzer (simpelthen fastgjort med en klæbende dobbeltside), der kræver et pulsdrev, som leveres af Microbit.

Trin 10: Endelig

Du har samlet elementerne i kassen, programmeret mikrobiten og monteret den i soklen på kassen.

Anvend derefter strømmen og indstil tiden.

God fornøjelse.

Blokkodekonkurrence
Blokkodekonkurrence
Blokkodekonkurrence
Blokkodekonkurrence

Nummer to i Block Code Contest

Anbefalede: