Indholdsfortegnelse:
- Trin 1: Definere visningsområdet
- Trin 2: RTC (Real Time Clock)
- Trin 3: Kodning af uret
- Trin 4: Betjening
- Trin 5: Box It
- Trin 6: Block Code Design
- Trin 7: 3D -udskrivning
- Trin 8: Udfyld
- Trin 9: Montering
- Trin 10: Endelig
Video: Mikro binært ur: 10 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
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
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 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
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
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
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
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
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
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
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.
Nummer to i Block Code Contest
Anbefalede:
Binært skrivebordur: 9 trin (med billeder)
Binary Desk Clock: Binære ure er fantastiske og udelukkende for den person, der kender binæret (sproget på de digitale enheder). Hvis du er en teknisk fyr, er dette mærkelige ur noget for dig. Så lav en selv og hold din tid hemmelig! Du finder masser af binære c
Skrivebordsforstærker med lydvisualisering, binært ur og FM -modtager: 8 trin (med billeder)
Skrivebordsforstærker Med lydvisualisering, binært ur og FM -modtager: Jeg kan godt lide forstærkere, og i dag vil jeg dele min laveffekt skrivebordforstærker, jeg lavede for nylig. Forstærkeren jeg designede har nogle interessante funktioner. Det har et integreret binært ur og kan give tid og dato, og det kan visualisere lyd, der ofte kaldes lyd
Binært spil: 9 trin (med billeder)
Binært spil: Dette er et spil, jeg har oprettet på Tinkercad Circuits for at lære binære tal. https://www.tinkercad.com/things/erDquXcpyW8Hvis du vil følge med i denne vejledning og bygge din egen, kan du finde filerne og koden på min github på https://github.com/kee
Arduino binært ur - 3D -printet: 5 trin (med billeder)
Arduino binært ur - 3D -printet: Jeg har kigget på binære ure i et stykke tid til mit kontorbord, men de er ret dyre og / eller har ikke en enorm mængde funktioner. Så jeg besluttede, at jeg ville lave en i stedet. Et punkt at overveje, når man laver et ur, Arduino / Atmega328
Digitalt og binært ur i 8 cifre x 7 segmenter LED Display: 4 trin (med billeder)
Digitalt og binært ur i 8 cifre X 7 segmenter LED Display: Dette er min opgraderede version af en Digital & Binært ur ved hjælp af et 8 ciffer x 7 segment LED -display. Jeg kan godt lide at give nye funktioner til sædvanlige enheder, specielt ure, og i dette tilfælde er brugen af 7 Seg -display til binært ur utraditionel og det