- Vereiste componenten:
- Schakelschema en uitleg:
- Tijd berekenen en lezen in binaire klok:
- Circuit- en PCB-ontwerp met EasyEDA:
- Monsters online berekenen en bestellen:
In dit project gaan we een LED binaire klok maken met Arduino. Hier hebben we een printplaat (PCB) ontworpen om deze klok te implementeren. Om de PCB-lay-out te ontwerpen, hebben we de EasyEDA online PCB-ontwerptool gebruikt.
Vereiste componenten:
- Arduino Nano
- DS1307 RTC
- 32.768 Khz Kristal
- 3v knoopcel
- Weerstand 1k, 10k
- Stroomvoorziening
- Leds
Schakelschema en uitleg:
Dit is een heel eenvoudig, goedkoop en interessant project voor de leerling. In dit LED binaire klokcircuit hebben we Arduino Nano gebruikt om het hele project te besturen, zoals het lezen van tijd van RTC en dat op LED's laten zien. Een 3.0v-knoopcel is voor back-up aangesloten op RTC IC. Lees hier meer over het gebruik van DS1307 RTC met Arduino.
Hier zijn 20 leds in matrixvorm aangesloten. Dus hier hebben we 6 kolommen en 4 rijen. 2 kolommen gebruikt voor het tonen van uur, volgende twee kolommen voor minuten en naast kolommen voor seconden. We hebben 6 PNP-transistor gebruikt om LED's in 6 kolommen te activeren. De gebruiker kan het hele circuit alleen met 5v voeden, hier hebben we laptop USB gebruikt voor stroomvoorziening. De overige verbindingen worden weergegeven in het schakelschema.
Bekijk verder de volledige Arduino-code en demonstratievideo aan het einde van dit artikel.
Tijd berekenen en lezen in binaire klok:
Omdat we bekend zijn met binaire getallen die nul en één zijn. Dus door deze te gebruiken, kunnen we de tijd weergeven en kunnen we die binaire tijd omzetten in een decimaal getal. Door het nummer 8 4 2 1 te gebruiken (geschreven aan de rechterkant van de printplaat), kunnen we binair naar decimaal converteren.
Stel dat we een binair getal hebben zoals:
1 0 1 0 dus het wordt 10 in decimalen. Als we binair naar decimaal converteren, voegen we alleen enen toe.
Hier van de MSB-zijde (meest significante bit), hebben we 1, het betekent 8 en de volgende is 0 betekent dat 0 is en niet moet worden opgenomen. De volgende is weer 1 betekent 2 en de laatste is 0, dus de laatste zal ook niet worden opgenomen.
Dus eindelijk hebben we
8 + 0 + 2 + 0 = 10
In principe kunnen we het als volgt opvatten:
8x1 + 4x0 + 2x1 + 1x0 = 10
Nu kunnen we de tijd op de foto aflezen:
Hierboven kunnen we zien dat er 6 kolommen en 4 rijen zijn. Hierin hebben we 2 kolomgroepen HH voor uur, MM voor minuut en SS voor seconden. Aan de rechterkant van de print kunnen we de rijnummers 1, 2, 4 en 8 zien, deze nummers worden gebruikt voor het converteren van binair getal naar decimaal
Merk op dat we kolommen van de rechterkant lezen. Zie allereerst de HH-kolommen, er zijn twee tijdkolommen. In de eerste kolom van de tijd is er geen led brandt betekent:
2x0 + 1x0 = 0
In de volgende kolom kunnen we zien dat er een enkele led brandt in de 1-rij betekent. Dus volgens 8 4 2 1
8x0 + 4x0 + 2x0 + 1x1 = 1
Dus in de kolom Uur HH hebben we 01.
In de eerste kolom van MM (minuten) kunnen we zien dat er een enkele led brandt in de 1-rij middelen
4 2 1 4x0 + 2x0 + 1x1 = 1
In de tweede kolom van MM kunnen we zien dat er een enkele led oplicht in het rij nummer 8 betekent
8 4 2 1 8x1 + 4x0 + 2x0 + 1x0 = 8
Dus we hebben minuut als 18
In de eerste kolom van SS (seconden) kunnen we zien dat er een enkele led brandt in het rij nummer 4 betekent
4 2 1 4x1 + 2x0 + 1x0 = 4
In de tweede kolom van SS kunnen we zien dat er twee led's branden in rij nummer 1 en rij nummer 4 betekent
8 4 2 1 8x0 + 4x1 + 2x0 + 1x1 = 5
Dus we hebben minuut als 45
Dus eindelijk hebben we tijd als 01:18:45
UU MM SS 01 18 45
Aan het einde van dit artikel vindt u de volledige Arduino-code en demonstratievideo.
Circuit- en PCB-ontwerp met EasyEDA:
Om dit LED binaire klokcircuit te ontwerpen, hebben we gekozen voor de online EDA-tool genaamd EasyEDA. Ik heb EasyEDA al vaak gebruikt en vond het erg handig om te gebruiken, omdat het een goede verzameling footprints heeft en open-source is. Bekijk hier al onze PCB-projecten. Na het ontwerpen van de PCB, kunnen we de PCB-monsters bestellen via hun goedkope PCB-fabricagediensten. Ze bieden ook een service voor het sourcen van componenten, waarbij ze een grote voorraad elektronische componenten hebben en gebruikers hun vereiste componenten samen met de PCB-bestelling kunnen bestellen.
Terwijl u uw circuits en PCB's ontwerpt, kunt u ook uw circuit- en PCB-ontwerpen openbaar maken, zodat andere gebruikers ze kunnen kopiëren of bewerken en daar hun voordeel mee kunnen doen.We hebben ook onze hele circuit- en PCB-lay-outs openbaar gemaakt voor deze Arduino binaire klok, check de onderstaande link:
easyeda.com/circuitdigest/BinaryClock-4a25419d21cc424c9989a8f6a4633f5e
U kunt elke laag (bovenzijde, onderzijde, bovenzijde, onderzijde enz.) Van de PCB bekijken door de laag te selecteren in het venster 'Lagen'.
U kunt ook de printplaat bekijken, hoe deze er na de fabricage uitziet, met behulp van de Photo View- knop in EasyEDA:
Monsters online berekenen en bestellen:
Nadat u het ontwerp van deze Arduino Binary Clock PCB heeft afgerond, kunt u de PCB bestellen via JLCPCB.com. Om de print bij JLCPCB te bestellen heeft u Gerber File nodig. Om Gerber-bestanden van uw PCB te downloaden, klikt u gewoon op de Fabrication Output- knop op de EasyEDA-editorpagina en downloadt u deze vervolgens vanaf de EasyEDA PCB-bestelpagina.
Ga nu naar JLCPCB.com en klik op Offerte nu of op de knop , dan kunt u het aantal PCB's selecteren dat u wilt bestellen, hoeveel koperlagen u nodig heeft, de PCB-dikte, het kopergewicht en zelfs de PCB-kleur, zoals de momentopname hieronder weergegeven:
Nadat u alle opties heeft geselecteerd, klikt u op "Opslaan in winkelwagen" en wordt u naar de pagina geleid waar u uw Gerber-bestand kunt uploaden dat we hebben gedownload van EasyEDA. Upload uw Gerber-bestand en klik op "Opslaan in winkelwagen". En klik ten slotte op Veilig afrekenen om uw bestelling af te ronden, dan ontvangt u uw PCB's een paar dagen later. Ze fabriceren de printplaat tegen een zeer lage prijs, namelijk $ 2. Hun bouwtijd is ook erg kort, dat is 48 uur met een DHL-levering van 3-5 dagen, in principe ontvangt u uw PCB's binnen een week na bestelling.
Na een paar dagen PCB's te hebben besteld, kreeg ik de PCB-samples in een mooie verpakking, zoals te zien is op onderstaande foto's.
En nadat ik deze stukjes had gekregen, heb ik alle benodigde componenten over de printplaat gesoldeerd, de gecodeerde Arduino Nano geplaatst en deze gevoed met 5v voeding om de binaire klok in actie te zien.