Arduino Nano - TM1637 4-Cijfer 7-Segment Display
Deze handleiding leert u hoe u de Arduino Nano gebruikt met het 4-cijfer 7-segment display, het TM1637-module. In detail leert u:
- Hoe u het 4-cijfer 7-segment display aansluit op de Arduino Nano
- Hoe u de Arduino Nano programmeert om informatie weer te geven op het 4-cijfer 7-segment display

In deze handleiding gebruiken we een 4-cijfer 7-segment display module met een dubbele punt als scheidingsteken. Wilt u drijvende komma getallen tonen, raadpleeg dan de 74HC595 4-digit 7-segment Display Module tutorial.
Hardware Vereist
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over TM1637 4-cijfer 7-segment Display
Een 4-cijfer 7-segment display wordt vaak gebruikt voor klokken, timers, tellers en het weergeven van temperatuur… Meestal zijn hiervoor 12 verbindingen nodig. Het TM1637-module vereenvoudigt dit doordat het slechts 4 verbindingen nodig heeft: 2 voor stroomvoorziening en 2 voor het aansturen van de segmenten.
Een TM1637-module bestaat meestal uit vier 7-segment LEDs en een van de volgende opties:
- Een dubbele punt (colon) LED in het midden: ideaal voor het weergeven van tijd in uren en minuten, minuten en seconden, of scores van twee teams.
- Vier punt-LED's, één voor elk cijfer: ideaal voor het weergeven van temperatuur of elke decimale waarde.
De TM1637 4-Cijfer 7-Segment Display Pinout
Verbind deze met de massa (ground) van de stroomvoorziening.
TM1637 heeft vier pinnen:
- CLK pin: een klok input pin die aangesloten wordt op een digitale pin van de Arduino Nano.
- DIO pin: een Data I/O pin die aangesloten wordt op een digitale pin van de Arduino Nano.
- VCC pin: levert stroom aan het module en wordt aangesloten op 3.3V tot 5V voeding.
- GND pin: aardingspin die verbonden wordt met de massa (ground) van de voeding.

Bedradingsschema
Om een TM1637 aan te sluiten op een Arduino Nano moeten vier draden verbonden worden: twee voor stroomvoorziening en twee voor het aansturen van het display. Het module kan gevoed worden via de 5-volt uitgang van de Arduino Nano. De CLK en DIO pinnen moeten verbonden worden met twee digitale pinnen van de Arduino Nano, bijvoorbeeld pinnen 2 en 3. Gebruikt u andere pinnen, dan moeten de pin nummers in de code aangepast worden.

Deze afbeelding is gemaakt met Fritzing. Klik om de afbeelding te vergroten.
Bibliotheek Installatie
Om eenvoudiger voor het TM1637 4-cijfer 7-segment display te programmeren, moeten we de TM1637Display bibliotheek van Avishay Orpaz installeren. Volg onderstaande stappen:
- Klik op het Bibliotheken icoon in de linker balk van de Arduino IDE.
- Zoek op “TM1637” en vind de TM1637Display bibliotheek van Avishay Orpaz
- Klik op de Installeren knop.

Hoe te Programmeren voor TM1637 4-cijfer 7-segment met Arduino Nano
- Voeg de bibliotheek toe.
- Geef de Arduino Nano pinnen aan die verbonden zijn met de CLK en DIO van het display module, bijvoorbeeld pinnen D9 en D10.
- Maak een object aan van de TM1637Display klasse.
- Nu kunt u een getal, een getal met decimaal, een getal met min-teken of een letter weergeven. In het geval van een letter moet u de vorm van de letter definiëren. We bekijken elk voorbeeld apart.
- Getal weergeven: zie voorbeeld hieronder. Het teken '_' staat voor een cijfer dat in praktijk niets weergeeft:
- Toon het getal met een dubbele punt (colon) of punt:
Meer informatie vindt u in de functie-referenties aan het einde van deze handleiding.
Arduino Nano Code
Snelstappen
- Kopieer de code en open deze met de Arduino IDE.
- Klik op de Upload knop in de Arduino IDE om de code te compileren en te uploaden naar de Arduino Nano.
- Controleer de werking van het 7-segment display.
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Functie Referenties
Hieronder vindt u de referenties van de volgende functies:
- display.clear()
- display.showNumberDec()
- display.showNumberDecEx()
- display.setSegments()
- display.setBrightness()
display.clear()
Beschrijving
Deze functie wist het display volledig. Het schakelt alle LEDs uit.
display.showNumberDec()
Beschrijving
Het 7-segment display wordt gebruikt om een decimaal getal weer te geven. Deze functie doet dat.
Syntax
Parameters
- num: de waarde die getoond moet worden op het 7-segment display, tussen -9999 en 9999.
- leading_zero: een optionele parameter (standaard false). Hiermee bepaalt u of voorloopnullen getoond worden.
- length: een optionele parameter (standaard 4). Hiermee stelt u het aantal weergegeven cijfers in.
- pos: een optionele parameter (standaard 0). Hiermee geeft u de positie van het meest significante cijfer aan.
Wees ervan bewust dat de functie niets zal tonen als het getal buiten het bereik ligt of als length groter dan 4 is.
showNumberDecEx()
Beschrijving
Deze functie is een uitbreiding van showNumberDec() en biedt meer controle voor het weergeven van decimale getallen op het 7-segment display. Het kan de punt of dubbele punt segmenten van elk cijfer afzonderlijk aansturen.
Syntax
Parameters
- num1: het getal dat weergegeven moet worden op het 7-segment display, binnen het bereik van -9999 tot 9999.
- dots: hiermee geeft u aan welke segmenten als puntjes aan moeten staan. Elk bit van de waarde hoort bij een cijfer op het display. Mogelijke waarden zijn:
- 0b10000000 voor de eerste punt (0.000)
- 0b01000000 voor de tweede punt (00.00), of de dubbele punt (00:00), afhankelijk van het type module.
- 0b00100000 voor de derde punt (000.0)
- leading_zero: optioneel, standaard false. Zet u deze op true, dan worden voorloopnullen getoond.
- length: optioneel, standaard 4. Geeft het aantal weer te geven cijfers aan.
- pos: optioneel, standaard 0. Geeft de positie van het meest significante cijfer aan.
Als voorbeeld toont display.showNumberDecEx(1530, 0b01000000) het volgende:
- Het getal 15:30 als de module een dubbele punt LED heeft.
- Het getal 15.30 als de module punt-LEDs heeft.
Houd er rekening mee dat de functie niets toont als het getal buiten bereik ligt of als length groter is dan 4.
setSegments()
Beschrijving
Met deze functie kunt u rechtstreeks de segmenten van het 7-segment display instellen. Het is handig om letters, speciale tekens weer te geven, of om alle LEDs uit te schakelen.
Syntax
Parameters
- segments: een array met bytes die de segmenten van elk cijfer representeren. Elk segment correspondeert met een bit in de byte.
- length: optioneel, standaard 4. Het aantal weer te geven cijfers.
- pos: optioneel, standaard 0. De positie van het meest significante cijfer.
Deze functie is erg handig als u tekens of symbolen wilt tonen die niet standaard ondersteund worden op het 7-segment display. U kunt hiermee zelf patronen maken door segmenten rechtstreeks in te stellen.
Let op: de functie toont niets als length groter is dan 4 is.
setBrightness()
Beschrijving
Met deze functie stelt u de helderheid van het 7-segment display in.
Syntax
Parameters
- brightness: De helderheid van het display, van 0 (minimaal) tot 7 (maximaal). Hogere waarde betekent feller licht.
- on: optioneel, standaard true. Hiermee zet u het display aan of uit. Zet u deze op false, dan schakelt het display uit.