Inhoudsopgave:

Een display met 4 cijfers en 7 segmenten gebruiken, met Arduino - Ajarnpa
Een display met 4 cijfers en 7 segmenten gebruiken, met Arduino - Ajarnpa

Video: Een display met 4 cijfers en 7 segmenten gebruiken, met Arduino - Ajarnpa

Video: Een display met 4 cijfers en 7 segmenten gebruiken, met Arduino - Ajarnpa
Video: How to use TM1637 4 digits seven segment display with Arduino 2024, December
Anonim
Een display met 4 cijfers en 7 segmenten gebruiken, met Arduino
Een display met 4 cijfers en 7 segmenten gebruiken, met Arduino

In deze tutorial laat ik je zien hoe je een 7-segments display met 4 cijfers gebruikt met behulp van arduino. Enkele fundamentele dingen waar ik op wil wijzen, is dat dit bijna alle digitale pinnen op de arduino uno, leonardo, de borden met 13 digitale pinnen in beslag neemt. De meeste schermen hebben 12 breakout-pinnen die rechtstreeks op de Arduino of via een weerstand worden aangesloten. Ik wil er ook op wijzen dat deze schermen geen aarde, 5V of 3,3V nodig hebben om te worden aangesloten. Dus laten we beginnen…

Stap 1: Materialen

Materialen
Materialen
Materialen
Materialen
Materialen
Materialen
Materialen
Materialen

Voor het gebruik van een dergelijke display zijn bijna geen materialen nodig.

- 4 x 330Ω weerstanden

- 12 x mannelijke naar mannelijke jumperdraden

- 1 x Arduino

- 1 x breadboard van elke grootte (ze hebben de stroomrails niet nodig)

Er is geen gereedschap nodig om een prototype van dit ontwerp te maken. Voor een meer permanent gebruik zijn echter een soldeerbout en een printplaat nodig.

Stap 2: Breadboard-indeling

Breadboard-indeling
Breadboard-indeling

Om je wat context te geven, zal ik het gebruik van elke pin uitleggen. 8 van de 12 pinnen op het display worden gebruikt voor de 8 segmenten. Er zijn 7 segmenten die worden gebruikt om elk cijfer te vormen, terwijl één de komma bestuurt. De andere 4 van de 12 pinnen besturen elk van de 4 cijfers op het display. Elke pin met een weerstand erop is een van de 4-cijferige pinnen, anders zijn het de segmentpinnen.

Het bovenstaande ontwerp heb ik gemaakt van fritzing om de verbinding tussen het display en de Arduino te laten zien. Let op de plaatsing van de weerstanden, want als je de weerstand aansluit op de verkeerde pin op het scherm, zal dat cijfer niet werken of dat segment niet, VOOR ALTIJD…

***BELANGRIJKE NOTITIE***

Bij het opzetten van de schakeling de gele en de paarse draad verwisselen (ik heb mijn schakelschema verprutst).

Stap 3: De bibliotheek installeren

De onderstaande bibliotheek is afkomstig van de arduino-website voor het eenvoudig bedienen van een display. De link gaat naar github. Als je nog nooit op github bent geweest, luister dan goed, als je de volgende paragraaf hebt gelezen. Wanneer u op de website komt, kijkt u aan de rechterkant van het venster en kijkt u naar beneden totdat u "Download Zip" ziet. Klik op die knop en kijk hoe deze in uw downloads verschijnt.

Nu moet u de eerder geïnstalleerde bibliotheek in uw bibliothekenmap laden. Als je nu weet hoe je dit moet doen, ga dan naar de volgende stap, lees anders verder. Ga eerst naar vinder en zoek de map "documenten" en open deze. Zoek vervolgens de map "arduino" en open deze. Zoek vervolgens de map bibliotheken en open deze. Sleep ten slotte de geïnstalleerde bibliotheek naar de zojuist geopende bibliothekenmap.

BELANGRIJK. Als uw arduino-toepassing was geopend en actief was terwijl u de bibliotheek in de bibliothekenmap plaatste, zal de arduino de bibliotheek niet herkennen. U hoeft alleen de applicatie te sluiten en opnieuw te openen.

github.com/DeanIsMe/SevSeg

Stap 4: De code

De code
De code

De code voor het daadwerkelijk weergeven van iets staat hieronder vermeld.

#include "SevSeg.h"

SevSeg sevseg; // Start een zeven-segment controller object void setup () { byte numDigits = 4; byte digitPins = {2, 3, 4, 5}; byte segmentPins = {6, 7, 8, 9, 10, 11, 12, 13}; bool-weerstandenOnSegments = 0; // variabele hierboven geeft aan dat 4 weerstanden op de cijferpennen zijn geplaatst. // stel variabele in op 1 als u 8 weerstanden op de segmentpennen wilt gebruiken. sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins, weerstandenOnSegments); sevseg.setBrightness(90); } void loop() { sevseg.setNumber (3141, 3); sevseg.refreshDisplay(); // Moet herhaaldelijk worden uitgevoerd

Stap 5: Het resultaat

Als je het scherm correct hebt aangesloten, de code correct hebt geüpload en de gecodeerde precies goed hebt gekopieerd, zou je scherm pi moeten weergeven (slechts 3.141).

Als dat niet het geval is, lees dan stap zes voor wat er ook mis is.

Als je het goed hebt begrepen, raad ik je aan verder te lezen in stap zeven.

Stap 6: Problemen oplossen

Hier heb ik twee mogelijke dingen opgesomd die met je display kunnen zijn gebeurd en die het in de war kunnen hebben gebracht. Helaas is slechts één van de twee te repareren.

- Uw display geeft 8888. weer

Maak je geen zorgen, dit is het probleem dat kan worden opgelost, volg gewoon deze stappen

1. Zoek in de code " sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins);"

2. Wijzig "GEMEENSCHAPPELIJKE KATHODE" in "GEMEENSCHAPPELIJKE ANODE"

3. Upload de code opnieuw

- Uw display geeft 3. 41 of.141 of 3.1 1 of 3.14 weer zonder de andere 1

Helaas kan dit probleem worden opgelost of niet:.(… (dat is mijn huilende gezicht)

1. Controleer uw verbindingen en zorg ervoor dat alles IS aangesloten en niet uithangt

2. Controleer het schema nog eens, want je hebt het waarschijnlijk verkeerd aangesloten

3. Zoek de regel in de lege lus waar het zegt om weer te geven (3.141, 3) en verander 3.141 in 8888 en kijk of een van de 8 ontbreekt

4. Als dat het geval is, heeft een van de draden misschien geen weerstand gehad, terwijl dat wel had moeten betekenen dat een van de cijfers was doorgebrand. U kunt dit controleren door op de achterkant van het display te kijken. Als je zwart ziet in de buurt van een van de pinnen, heb je een van de cijferplaatsen overmeesterd. Helaas is dit NIET te repareren en zou je een ander scherm willen kopen.

5. Als je nergens een zwarte markering ziet, heb je draden verwisseld die niet kunnen worden overweldigd, dus controleer het schema en sluit ze vervolgens correct aan en verander de code terug van 8888 naar 3.141.

Stap 7: Verder gaan

Een methode om een paar pinnen op de Arduino te gebruiken om meerdere LED's te bedienen die anders veel pin zouden vereisen, is een tri-state 8-pins schuifregister. Dus in plaats van de 8-segmentpinnen rechtstreeks op Arduino aan te sluiten, kun je ze in het schuifregister steken en uitzoeken hoe dat moet.

Het is gewoon een idee dat ik bedacht, maar ik weet niet hoe ik het moet doen of dat het zelfs mogelijk is met de arduino en de bibliotheek van het display, maar hey, stof tot nadenken voor nieuwsgierigen.

Veel plezier met je display en ik hoop dat je deze instructable leuk vond, want het is de eerste die ik heb voltooid van de vele die ik in mijn concepten heb.

Aanbevolen: