Innholdsfortegnelse:
- Trinn 1: Definere visningsområdet
- Trinn 2: RTC (sanntidsklokke)
- Trinn 3: Koder klokken
- Trinn 4: Drift
- Trinn 5: Box It
- Trinn 6: Block Code Design
- Trinn 7: 3D -utskrift
- Trinn 8: Fyll ut
- Trinn 9: Montering
- Trinn 10: Til slutt
Video: Mikro binær klokke: 10 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Tinkercad -prosjekter »
Etter å ha opprettet en instruerbar (binær DVM), som bruker det begrensede visningsområdet ved å bruke binært.
Det var bare et lite skritt etter å ha opprettet hovedkodemodulen for desimal til binær konvertering til å lage en binær klokke, men det eneste som manglet var en RTC (sanntidsklokke).
Imidlertid har Microbit ikke en innebygd RTC.
RTC muliggjør realisering av klokkeprosjekter med batteribackup.
Som sådan bruker følgende prosjekt en Microbit og en Kitronik RTC for å lage en 24 -timers klokke med en binær skjerm og har i tillegg et alarmalternativ.
Prosjektprogramvaren som skal kjøres på Microbit vil bli opprettet i Makecode Blocks.
Rekvisita:
MicroBit V1 eller V2
MicroBit beskyttelsesetui (valgfritt)
Lag kode
Kitronik RTC
CR2032
Kodeblokker
Cura
3D -skriver
1 * SPDT (på - på) bryter
1 * SPDT (på - av - på) bryter
2 * SPST (normalt åpen), momentan bryter
4 * M3 (10+6 mm), M/F -avstand med M3 -muttere
4 * M3 (8 mm), skruer
Stikkontakt M/F-kontakt, 100 mm, 28AWG forhåndsdefinert med plugg og stikkontakt.
1 * Piezo -summer (ingen stasjon)
Disse forsyningene er tilgjengelige fra en rekke utsalgssteder, og du kan ha din egen foretrukne leverandør.
Trinn 1: Definere visningsområdet
Selv om visningsområdet er begrenset i mengden data som kan vises til enhver tid, egner det seg ideelt til visning av bitdata.
Som sådan er det tilstrekkelig område til å vise 4 x 4 bit binære ord for å representere tid med varsler og valgmoduser.
Displayet er delt inn i 3 hovedområder; Tid, valg og modus.
Tid
Seksten LED er tildelt Time, hver kolonne med 4 LED er tilordnet et tidsintervall, intervallene er i form H, H, M & M.
Hver bit av det binære ordet har en vekting på 1, 2, 4 og 8 med LSB på rad 4 og MSB på rad 1
Hvert binært 4 -bits ord tillater en telling på 0 til 15, noe som er mer enn tilstrekkelig for 24 -timers formatet, og krever en maksimal telling per kolonne på 2, 9, 5 og 9.
Valg
En rad med 4 lysdioder i rad 0 brukes til å identifisere tidskolonnen som ble valgt når du angir tid.
Modi
En kolonne med 5 lysdioder i kolonne 4 brukes til å identifisere moduser, funksjoner og drift.
Kryss - LED 4, 0 blinkende på og av brukes for å indikere sekunder og drift.
Tid - LED 4, 1 indikerer tidsmodus når den er på. (Standardmodus ved innkobling)
Alarm - LED 4, 2 indikerer alarmmodus når den er på.
Alarmvarsling - LED 4, 3 og LED 4, 4 blinker når alarmen utløses.
Trinn 2: RTC (sanntidsklokke)
RTC er applikasjonens bankende hjerte, som gjør det mulig å angi og beholde nøyaktig tid.
Ytterligere detaljer om RTC finnes på Kitronik.
RTC gir en regulert forsyning som opphever behovet for å drive Microbit med sin egen USB- eller JST -kontakt, og batteribackup tilbys for å beholde tiden i tilfelle strømtap.
Før du bruker RTC, må du laste inn utvidelsespakken.
Ved å bruke Makecode fra Innstillinger -ikonet, velger du Extensions og skriver Kitronik RTC i søket.
Velg pakken for å installere den, og den blir lagt til i de andre utvidelsene.
Det er en rekke kodeblokker å lese fra og skrive til RTC.
Vi trenger bare 4 av disse kodeblokkene for den binære klokken.
Disse vil bli brukt til å skrive den angitte tiden til RTC og til å lese tiden tilbake for å oppdatere klokkevisningen.
Trinn 3: Koder klokken
Den første delen av koden er programinitialisering av variabler, matriser og informativ tekst.
I det
Bclk - Binær klokke
<Sel - En knapp velger kolonnen som skal justeres for tidsinnstilling.
Inc - B -knappen øker tiden.
Ved å trykke på begge A & B -knappene samtidig endres modusen mellom Tid og alarm.
Strval - er strengverdien som inneholder tiden i formen "HH: MM: SS" returnert fra RTC
Bare HH & MM brukes til å vise eller stille klokken.
Mode - beholder modusverdien for Time = 1 og Alarm = 2 valgt med A+B -knappekombinasjonen.
Periode - er verdien for tidskolonnen, valgt med A -knappen.
0 = kolonne 0 (H), 1 = kolonne 1 (H), 2 = kolonne 2 (M), 3 = kolonne 3 (M)
Tick_en - Aktiverer = 1 eller Deaktiverer = 0 haken (sekunder), indikator.
Inc - Mellomlagring av verdien for tidsinnstilling.
Tm_list - lagrer verdien av hver tidskolonne under innstillingen.
Alarm - Aktiverer eller deaktiverer alarmindikatoren.
The forever kaller kontinuerlig flåttfunksjonen.
Sett kryss
Kryssfunksjonen som normalt er aktivert, viser en vekslende på/av -LED i øverste høyre hjørne for å indikere drift og sekunder.
I tillegg kaller den showtm -funksjonen som leser RTC og behandler dette for å bli vist i binær, mens også alarm_mode kalles, hvis dette er aktivert, viser alarmvarsel -LED -ene nederst i høyre hjørne.
Showtm
Funksjon showtm, anrop rdtime og verdien som brukes fra dette er strval som inneholder tidstrengen.
Det opprettes en løkke som øker gjennom strval som trekker ut hvert enkelt tall og ignorerer separatoren ":"
Hvert enkelt tall blir deretter konvertert til sin binære ekvivalent med funksjonen dec2bin og tilordnet den riktige kolonnen.
Rdtime
Funksjon rdtime, leser de første 5 tegnene i strengen som returneres fra RTC (ignorerer sekondelen), og sender den til strval.
Hvis alarmen ble angitt (modus = 2), blir alarminnstillingsverdiene sammenlignet med verdiene som returneres av RTC, hvis det er en kamp, er alarmen = 1 hvis det ikke er noen matchalarm = 0.
Alarm_mode når den er aktivert, viser to på/av vekslende lysdioder i nedre høyre hjørne av kolonne 4.
Dec2bin
Funksjon dec2bin konverterer et desimaltall til binært og viser det i riktig kolonne.
Tallet som skal konverteres sendes inn via verdi og visningskolonnen sendes inn via kol.
List2 er matrisen der det 4-biters binære ordet fra den binære konverteringsprosessen er lagret.
Det startes en sløyfe som fortsetter å dele verdien med 2 resten blir lagret i matriseelementet heltallverdien er delt med 2, dette gjentas til heltallverdien er <= 1 og denne siste verdien plasseres i matrisen.
Den største enkeltsifrede desimalverdien er 9 og i binær er dette 1001 som et 4-bits ord.
Arrayen må deretter behandles i motsatt rekkefølge for riktig resultat.
En sløyfe initieres deretter for å slå på riktig LED i den aktuelle kolonnen, dette oppnås for hver forekomst av en i det 4-bits binære ordet.
Det menneskelige grensesnittet oppnås med knapper.
A -knappen
Dette velger kolonnen som tidsverdien skal legges inn i og viser en opplyst LED over den valgte kolonnen på rad 4.
Når alle tidskolonnene har blitt oppdatert, oppdateres tidsvariabelen ved å øke valget til den femte kolonnen.
Hvis modus = 1 blir RTC oppdatert ellers blir alarmtiden oppdatert.
B -knappen
Dette er trinnknappen og øker den valgte tidskolonnen.
For å redusere feil og spare tid for å komme til riktig verdi, er maksimumsverdien som kan angis per kolonne begrenset basert på tidsverdien for et 24-timers tidssystem.
Disse maksimalverdiene lagres i tm_max , en per tidskolonne og velges automatisk basert på tidskolonnen.
Maksimumsverdiene er H = 2, H = 9, M = 5, M = 9
Økningsverdien konverteres til binær i dec2bin og displayet oppdateres.
Knapp A+B Modusvalg
Ved å trykke begge knappene samtidig kan du velge mellom klokkeslettmodus eller alarmmodus, den riktige modusen vises på displayet.
Avhengig av hvilken modus som er valgt, oppdateres skjermen for å vise enten klokkeslettet eller alarmtiden.
Trinn 4: Drift
Last ned Hex -filen til Microbit, sett inn et CR2032 -batteri i RTC.
Koble Microbit til RTC og strøm RTC -kortet via USB eller skrueterminalene.
Kryss -LED -en begynner å blinke, og kort tid etter dette vises tiden.
Hvis dette er første gang du bruker, er det sannsynlig at den viste tiden er feil og må settes til riktig tid.
Valg av modus
Hvis du trykker Selection (A) & Increment (B) -knappene sammen, kan du velge mellom alternativene mellom tid og alarm.
Angi tid
Tidsinnstillingen er i 24 -timers modus.
Bruk markeringsknappen (A), for å flytte lysdioden over den øverste raden, dette indikerer kolonnen der tiden kan endres. Utvalgskolonnene tilsvarer H, H, M & M.
Hvor H = timer og M = minutter.
Etter å ha valgt en kolonne, trykker du på Inkrement -knappen (b) flere ganger for å øke antallet med én for hvert trykk. Tellingene er angitt i binær, tross alt er det en binær klokke.
Inkrementsknappen øker bare tellingen, og når maksimumet er nullstilt, vil ytterligere trykk øke antallet igjen.
Når den første kolonnetiden er angitt, trykker du på Selection -knappen for den neste kolonnen, og deretter bruker du knappen Inkrement til å angi kolonnetiden.
Merk: *** Når du angir tid eller alarm, må du angi et klokkeslett i den valgte kolonnen, selv om tiden i kolonnen skal forbli uendret når du hopper over en kolonne setter kolonnetiden til null ****
Gjenta prosessen til tiden er angitt med alle fire kolonnene.
Trykk på valgknappen for femte gang for å flytte den til den femte kolonnen, og tiden er angitt.
Stille inn alarmen
Innstilling av alarmtid gjøres på nøyaktig samme måte som for tiden.
For at alarmen skal utløses på den nødvendige tiden, må du stille modusen til alarm.
For å slå av alarmen, sett modusen til Tid.
For å vise innstilt alarmtid, bytt modus mellom tid og alarm, og alarmtiden vises i en kort periode før du går tilbake til å vise gjeldende tid.
Alarmtiden lagres ikke i RTC, så hvis strømmen fjernes, vil det kreve tilbakestilling.
Trinn 5: Box It
Prosjektet vil sitte i riktig vinkel for å se klokken, men en boks gir en følelse av permanentitet.
Du kan kjøpe en eske i passende størrelse og kutte og bore ut de riktige områdene slik at Microbit får plass i kontakten.
Derimot; I tillegg ønsket jeg å kopiere Microbit -knappene sammen med andre kontroller og indikatorer.
Vanligvis må legender brukes på boksen for å identifisere knapper.
Disse kan påføres for hånd; malt, gravert eller påført etiketter.
En metode for å realisere alle disse alternativene vil være å skrive ut boksen i 3D, men først må vi lage en CAD -fil for å lage skriverfilen.
Alternativene for filopprettelse er håndtegnet eller tegnet med kode.
Jeg valgte "tegnet med kode" ved å bruke Tinkercad CodeBlocks
Filene for esken og esken finner du på Tinkercad CodeBlocks
Trinn 6: Block Code Design
Boksen er en todelt design bestående av en base og et lokk.
Fire hjørne skruehull vil bli brukt til å feste lokket med en utskjæring på venstre side for å tillate inngang for USB-kontakten.
Lokket vil ha en utskjæring for Microbit-kontakten og de nødvendige bryterne. I tillegg skrives all tekst ut direkte på lokket og skruehullene er i tråd med basissøylene.
RTC -kortet festes til undersiden av lokket med 4 søyler og 4 skruer.
Størrelsen på esken pluss lokket er 70 x 105 x 31 mm
Koden for lokket og basen er tilgjengelig i TinkerCad CodeBlocks.
Trinn 7: 3D -utskrift
Last inn filene i Cura og bruk de foretrukne skiverinnstillingene.
Anvendte innstillinger.
Kvalitet: 0,15 mm
Fyll: 80%, Tri-sekskant
Base: Brim
Lagre filene dine, og skriv dem deretter ut.
Med Cura kan du laste begge filene sammen på samme utskriftsområde og skrive ut på en gang.
Trinn 8: Fyll ut
Bokslokket er trykt med innfelt tekst som fylles med farget 2 -delt epoxyharpiks.
Harpiksen blandes med et forhold på 2 deler harpiks til 1 del herder, og deretter blandes et ugjennomsiktig fargepigment inn.
Fargen som ble valgt var gul i kontrast til bakgrunnen. Hvitt ville ha vært et annet valg.
Etter blanding dryppes harpiksen ned i fordypningen ved hjelp av en cocktailpinne for å overføre små klatter harpiks som brukes til å gradvis fylle fordypningen i bokstavene.
Motstå å sette inn for mye harpiks på en gang, da du sannsynligvis vil ende opp med luftbobler og eller skape for mye overløp til overflaten rundt, noe som betyr at du vil ha mer å fjerne rensing og sliping når den er herdet.
Så fyll sakte og sørg for at bunnen av brevet er dekket, og bygg det opp etterbehandling med en lett hevet overflate.
Når harpiksen har herdet, vil det være nødvendig med litt lett sliping for å jevne ut overflaten. Start med P240 -gradering til finere karakterer etter behov for å få en jevn finish til slutt med en polering.
Ikke påfør for mye trykk og for mye hastighet, ellers overopphetes PLA og harpiksen som resulterer i en kjedelig overflate på grunn av oppsamling av korn, litt vann påført under slipeprosessen vil fungere som smøremiddel og kjølevæske.
Trinn 9: Montering
Microbit vil passe inn i kontakten i to retninger, vendt mot hoveddelen av RTC for å vende bort.
Hvis du vender mot hoveddelen av RTC, kan imidlertid ikke koblingene brukes, hvis Microbit vender bort fra hoveddelen av brettet, kan vi bruke disse tilkoblingene.
Monteringen starter med å lodde en rettvinklet SIL -pinneoverskrift på RTC, dette er for å gjøre det mulig å lage tilkoblinger med push fit -kontakter.
RTC er utstyrt med 4 * M3 (10+6mm), M/F -avstander med M3 -muttere som festes til lokket med 4 * M3 (8mm), skruer i de prefabrikkerte hullene.
Bryterne er montert i de prefabrikkerte hullene i lokket.
Tilkoblingene som kreves er:
GND, 3V, P1 (sett), P2 (varsel), P5 (sel) og P11 (inkl.)
Merk *** Motstander (1R), på diagrammet for P5 og P11 er ganske enkelt referansetilkoblingspunkter ettersom direkte tilkobling til disse pinnene på Microbit i Code -blokker ikke er tilgjengelig for øyeblikket. ***
P5 er den eksterne tilkoblingen for knapp A som er tilkoblet med en SPST momentary switch. Den ene tilkoblingen til P5 og den andre pinnen er koblet til GND, denne knappen er for valg av kolonne under tidsinnstilling.
P11 er den eksterne tilkoblingen for knapp B, som er tilkoblet med en SPST momentary switch. Den ene tilkoblingen til P11 og den andre pinnen er koblet til GND, knappen hans er for nummerøkning under tidsinnstilling.
P1 er en SPDT (on-on) -bryter som brukes til å aktivere eller deaktivere innstillingsalternativene. Midtpinnen går til P1 mens den ene pinnen er koblet til GND og den andre til 3V via en 10k motstand. Dette gjør at en H (3V) og L (0V) kan påføres denne pinnen. Når P1 er koblet til 3V, aktiverer dette tidsinnstillingsalternativene og når 0V deaktiverer tidsinnstillingen. På den måten kan du kontrollere om A & B -knappene har noen effekt.
P2 er en SPDT-bryter (på-av-på) som brukes til å aktivere eller deaktivere varslingslyden og valgfrie eksterne lys.
Varslingslyden er en Piezo Buzzer (ganske enkelt festet med en dobbeltsidig klebrig pute), som krever en pulsdrift som leveres av Microbit.
Trinn 10: Til slutt
Du har satt sammen elementene i esken, programmert Microbit og montert den i kontakten på esken.
Påfør deretter strømmen og angi klokkeslettet.
Nyt.
Runner Up i Block Code Contest
Anbefalt:
5 $ PCB -KALENDER MED BINÆR KLOKKE: 7 trinn (med bilder)
5 $ PCB -KALENDER MED BINÆR KLOKKE: Hei! Jeg laget denne PCB -kalenderen og den binære klokken med Eagle CAD. Jeg brukte ATMEGA328P MCU (fra Arduino) og 9x9 LED -matrise. Dimensjoner for brettet mitt er 8cmx10cm (3.14inch x 3.34inch). Den er litt for liten, men først: gratisversjonen av Eagle CAD tillater 80 cm^2
Skrivebordforsterker med lydvisualisering, binær klokke og FM -mottaker: 8 trinn (med bilder)
Skrivebordforsterker med lydvisualisering, binær klokke og FM -mottaker: Jeg liker forsterkere, og i dag vil jeg dele min skrivebordforsterker med lav effekt jeg har laget nylig. Forsterkeren jeg designet har noen interessante funksjoner. Den har en integrert binær klokke og kan gi tid og dato, og den kan visualisere lyd som ofte kalles lyd
Arduino binær klokke - 3D -trykt: 5 trinn (med bilder)
Arduino binær klokke - 3D -trykt: Jeg har sett på binære klokker en stund på kontorpulten, men de er ganske dyre og / eller har ikke så mange funksjoner. Så jeg bestemte meg for at jeg skulle lage en i stedet. Ett poeng å tenke på når du lager en klokke, Arduino / Atmega328
Digital og binær klokke i 8 sifre x 7 segmenter LED -skjerm: 4 trinn (med bilder)
Digital og binær klokke i 8 sifre x 7 segmenter LED -skjerm: Dette er min oppgraderte versjon av en digital & Binær klokke med en 8 -sifret x 7 -segment LED -skjerm. Jeg liker å gi nye funksjoner for vanlige enheter, spesielt klokker, og i dette tilfellet er bruken av 7 Seg -skjerm for binær klokke ukonvensjonell og det
Binær klokke ved bruk av Neopixels: 6 trinn (med bilder)
Binær klokke ved bruk av Neopixels: Hei folkens, jeg elsker alle ting som er relatert til LED, og liker også å bruke dem på forskjellige interessante måter Ja, jeg vet at den binære klokken har blitt gjort her flere ganger, og hver er et godt eksempel på hvordan lag din egen klokke. Jeg liker virkelig