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.

This image is created using Fritzing. Click to enlarge image
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.