- Nødvendige komponenter:
- Kredsløbsdiagram og forklaring:
- Sådan beregnes og læses tiden i binært ur:
- Kredsløb og printkortdesign ved hjælp af EasyEDA:
- Beregning og bestilling af prøver online:
I dette projekt skal vi lave et LED-binært ur ved hjælp af Arduino. Her har vi designet et printkort (PCB) til implementering af dette ur. For at designe PCB-layout har vi brugt EasyEDA online PCB-designværktøj.
Nødvendige komponenter:
- Arduino Nano
- DS1307 RTC
- 32.768Khz krystal
- 3v møntcelle
- Modstand 1k, 10k
- Strømforsyning
- LED'er
Kredsløbsdiagram og forklaring:
Dette er meget simpelt, billigt og interessant projekt for eleven. I dette LED-binære urkredsløb har vi brugt Arduino Nano til at styre hele projektet som at læse tid fra RTC og vise det på lysdioder. En 3.0v-møntcelle er forbundet til RTC IC til sikkerhedskopiering. Lær mere om brug af DS1307 RTC med Arduino her.
Her tilsluttes 20 lysdioder i matrixform. Så her har vi 6 kolonner og 4 rækker. To kolonner, der bruges til at vise time, næste to kolonner i minutter og ved siden af kolonner i sekunder. Vi har brugt 6 PNP-transistor til at udløse lysdioder i 6 kolonner. Brugeren kan kun strømforsyne hele kredsløbet med 5v, her har vi brugt bærbar USB til strømforsyning. Resten af forbindelser er vist i kredsløbsdiagrammet.
Tjek desuden den komplette Arduino-kode og demonstrationsvideo i slutningen af denne artikel.
Sådan beregnes og læses tiden i binært ur:
Som vi er bekendt med binære tal, der er nul og en. Så ved at bruge disse kan vi vise tid, og vi kan konvertere den binære tid til decimal. Ved at bruge tallet 8 4 2 1 (skrevet på højre side af printkortet) kan vi konvertere binær til decimal.
Antag, at vi har et binært tal som:
1 0 1 0, så den vil være 10 i decimal. Når vi konverterer binær til decimal, tilføjer vi kun dem.
Her fra MSB (den mest betydningsfulde bit) side har vi 1, det betyder 8, og næste er 0 betyder, at er 0 og ikke skal medtages. Næste er igen 1 betyder 2 og den sidste er 0, så den sidste er heller ikke inkluderet.
Så endelig har vi det
8 + 0 + 2 + 0 = 10
Dybest set kan vi tage det sådan:
8x1 + 4x0 + 2x1 + 1x0 = 10
Nu kan vi forstå tiden fra billedet:
Ovenfor kan vi se, at der er 6 kolonner og 4 række. I disse har vi 2 kolonner, der grupperer HH for Hour, MM for Minute og SS for sekunder. På højre side af printkortet kan vi se række numre 1, 2, 4 og 8, disse tal bruges til at konvertere binært tal til decimal
Bemærk, at vi læser kolonner fra højre side. Så først og fremmest, se HH-kolonner, der er to tidskolonner. I den første tidssøjle er der ingen LED-lysende midler:
2x0 + 1x0 = 0
I næste kolonne kan vi se, at der er en enkelt led, der lyser i 1-række-middel. Så ifølge 8 4 2 1
8x0 + 4x0 + 2x0 + 1x1 = 1
Så i Hour HH-kolonnen fik vi 01.
I den første kolonne i MM (minutter) kan vi se, at der er en enkelt led, der lyser i 1-række-middel
4 2 1 4x0 + 2x0 + 1x1 = 1
I den anden kolonne i MM kan vi se, at der er en enkelt led, der lyser i rækken nummer 8 betyder
8 4 2 1 8x1 + 4x0 + 2x0 + 1x0 = 8
Så vi fik minut som 18
I den første kolonne af SS (sekunder) kan vi se, at der er en enkelt led, der lyser i rækken nummer 4 betyder
4 2 1 4x1 + 2x0 + 1x0 = 4
I den anden kolonne i SS kan vi se, at der er to led, der lyser i række nummer 1 og række nummer 4 betyder
8 4 2 1 8x0 + 4x1 + 2x0 + 1x1 = 5
Så vi fik minut som 45
Så endelig har vi tid som 01:18:45
HH MM SS 01 18 45
Komplet Arduino-kode og demonstrationsvideo gives i slutningen af denne artikel.
Kredsløb og printkortdesign ved hjælp af EasyEDA:
For at designe dette LED-binære urkredsløb har vi valgt online EDA-værktøjet kaldet EasyEDA. Jeg har tidligere brugt EasyEDA mange gange og fundet det meget praktisk at bruge, da det har en god samling fodspor og open source. Tjek her vores alle PCB-projekter. Efter design af PCB kan vi bestille PCB-prøver ved hjælp af deres billige PCB-fabrikationstjenester. De tilbyder også komponentsourcingtjeneste, hvor de har et stort lager af elektroniske komponenter, og brugere kan bestille deres nødvendige komponenter sammen med printkortordren.
Mens designe dine kredsløb og PCB, kan du også lave din kredsløb og PCB designs offentligt, så andre brugere kan kopiere eller redigere dem og kan tage fordel derfra, har vi også gjort vores hele Circuit og PCB layout offentligheden for denne Arduino Binary Clock, tjek nedenstående link:
easyeda.com/circuitdigest/BinaryClock-4a25419d21cc424c9989a8f6a4633f5e
Du kan se ethvert lag (Top, Bottom, Topsilk, bottomsilk osv.) På printkortet ved at vælge laget fra vinduet 'Layers'.
Du kan også se printkortet, hvordan det vil se ud efter fabrikation, ved hjælp af knappen Photo View i EasyEDA:
Beregning og bestilling af prøver online:
Efter at have afsluttet designet af denne Arduino binære ur-printplade, kan du bestille printkortet via JLCPCB.com. For at bestille printkortet fra JLCPCB skal du have Gerber File. For at downloade Gerber-filer på din PCB skal du blot klikke på fabrikationsoutput- knappen på siden EasyEDA-editor og derefter downloade fra EasyEDA-printkortets ordreside.
Gå nu til JLCPCB.com og klik på Citér nu eller knappen , så kan du vælge antallet af printkort, du vil bestille, hvor mange kobberlag du har brug for, printkorttykkelsen, kobbervægt og endda printkortfarven, ligesom øjebliksbillede vist nedenfor:
Når du har valgt alle indstillingerne, skal du klikke på "Gem i kurv" og derefter føres til den side, hvor du kan uploade din Gerber-fil, som vi har downloadet fra EasyEDA. Upload din Gerber-fil og klik på "Gem i kurv". Og endelig klik på Checkout sikkert for at gennemføre din ordre, så får du dine printkort et par dage senere. De fabrikerer printkortet med meget lav hastighed, hvilket er $ 2. Deres byggetid er også meget mindre, hvilket er 48 timer med DHL-levering på 3-5 dage, dybest set får du dine printkort inden for en uge efter bestilling.
Efter få dage med bestilling af printkort fik jeg printkortprøverne i pæn emballage som vist på nedenstående billeder.
Og efter at have fået disse stykker har jeg loddet alle de nødvendige komponenter over printkortet, placeret den kodede Arduino Nano og drevet den med 5v forsyning for at se det binære ur i aktion.