ESP32 - 74HC595 4-cijfer 7-segmentdisplay

Deze tutorial begeleidt u bij het gebruik van een ESP32 om een 74HC595 4-cijfer 7-segmentdisplay module aan te sturen. De volgende onderwerpen komen aan bod:

ESP32 74HC595 4-cijfer 7-segmentdisplay

In deze handleiding gebruiken we een 4-punt 4-cijfer 7-segmentdisplay module die geschikt is om komma-getallen (float waarden) weer te geven. Wilt u een dubbele punt als scheidingsteken tonen, dan verwijzen wij u naar de TM1637 4-cijfer 7-segmentdisplay module.

Hardware Benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×74HC595 4-cijfer 7-segmentdisplay
1×Breadboard (experimenteerprint)
1×Jumper Draden (man-man)
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over 74HC595 4-cijfer 7-segmentdisplay

Een ideale module om temperatuur of andere komma-getallen (float waarden) weer te geven is de 74HC595 4-cijfer 7-segmentdisplay. Deze module bevat doorgaans vier 7-segment LEDs, vier puntvormige LEDs, en twee 74HC595 driver chips per cijfer.

Pinout

De 74HC595 4-cijfer 7-segmentdisplay module heeft 5 pinnen:

  • SCLK pin: een kloksignaal ingang (clock input). Verbind met een digitale pin van de ESP32.
  • RCLK pin: een kloksignaal ingang (clock input). Verbind met een digitale pin van de ESP32.
  • DIO pin: een Data I/O pin. Verbind met een digitale pin van de ESP32.
  • VCC pin: levert voeding aan de module. Verbind met 3.3V tot 5V voedingsspanning.
  • GND pin: aarde (ground) pin.
74HC595 module pinout

Bedradingsschema

Onderstaande tabel toont de verbindingen tussen de ESP32 pinnen en de 74HC595 4-cijfer 7-segmentdisplay pinnen:

ESP32 74HC595 7-segmentdisplay
Vin 5V
27 SCLK
26 RCLK
25 DIO

Als u andere pinnen gebruikt, pas dan de pinnummers ook aan in de code.

ESP32 74HC595 Module bedrading schema

This image is created using Fritzing. Click to enlarge image

Bibliotheek Installatie

Om eenvoudig te kunnen programmeren voor de 74HC595 4-cijfer 7-segmentdisplay, moet u de DIYables_4Digit7Segment_74HC595 bibliotheek van DIYables.io installeren. Volg onderstaande stappen:

  • Klik op het Libraries icoon in de linkerzijbalk van de Arduino IDE.
  • Zoek op “DIYables_4Digit7Segment_74HC595” en vind de DIYables_4Digit7Segment_74HC595 bibliotheek van DIYables.io.
  • Klik op de Install knop.
ESP32 74HC595 4-cijfer 7-segmentdisplay bibliotheek

U kunt ook de bibliotheek op Github bekijken.

Hoe programmeer je een 74HC595 4-cijfer 7-segmentdisplay met ESP32

  • Include de bibliotheek
#include <DIYables_4Digit7Segment_74HC595.h>
  • Definieer de ESP32 pinnen die verbonden zijn met SCLK, RCLK en DIO van het display. Bijvoorbeeld pin 27, 26 en 25
#define SCLK 27 // De ESP32 pin GPIO27 verbonden met SCLK #define RCLK 26 // De ESP32 pin GPIO26 verbonden met RCLK #define DIO 25 // De ESP32 pin GPIO25 verbonden met DIO
  • Maak een display object van het type DIYables_4Digit7Segment_74HC595
DIYables_4Digit7Segment_74HC595 display = DIYables_4Digit7Segment_74HC595(SCLK, DIO);
  • Vervolgens kunt u gehele getallen met optie voor nul-padding tonen, ondersteuning voor negatieve getallen:
display.printInt(-13, false); // u kunt waarden weergeven van -999 tot 9999
  • U kunt komma-getallen weergeven met het aantal decimalen, optie voor nul-padding, ondersteuning voor negatieve getallen:
display.printFloat(-9.2, 1, false);
  • U kunt ook cijfer, decimaal punt en karakters per cijfer tonen met behulp van lagere niveau functies:
// toon 9.3°C display.clear(); display.setNumber(1, 9); // zet 9 op het 1e cijfer display.setDot(1); // zet punt op het 1e cijfer display.setNumber(2, 3); // zet 3 op het 2e cijfer display.setChar(3, SegChars::DEGREE); // zet ° op het 3e cijfer display.setChar(4, SegChars::C); // zet C op het 4e cijfer display.show(); // toon op display
  • Omdat de 74HC595 4-cijfer 7-segment module multiplexing gebruikt om individuele segmenten en LEDs aan te sturen, MOET de ESP32 code:
    • De display.show() functie aanroepen in de hoofdloop (main loop)
    • De delay() functie NIET gebruiken in de hoofdloop

    Meer details vindt u in de bibliotheekreferentie.

ESP32 Code - Weergave Gehele Getallen

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 27 // The ESP32 pin GPIO27 connected to SCLK #define RCLK 26 // The ESP32 pin GPIO26 connected to RCLK #define DIO 25 // The ESP32 pin GPIO25 connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); display.printInt(-13, false); // you can display a value from -999 to 9999 //display.printInt(-132, false); //display.printInt(9132, false); //display.printInt(132, false); //display.printInt(32, false); //display.printInt(2, false); //display.printInt(2, true); } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

Snelle Stappen

  • Als dit de eerste keer is dat u een ESP32 gebruikt, zie dan hoe u de ontwikkelomgeving voor ESP32 instelt in Arduino IDE.
  • Voer de bedrading uit zoals in de bovenstaande afbeelding.
  • Verbind de ESP32 met uw PC via een micro USB-kabel.
  • Open Arduino IDE op uw PC.
  • Selecteer het juiste ESP32 board (bijvoorbeeld ESP32 Dev Module) en COM-poort.
  • Kopieer de bovenstaande code en open deze in de ESP32 IDE.
  • Klik op de Upload knop in de ESP32 IDE om de code naar de ESP32 te uploaden.
  • Bekijk de status van het 7-segmentdisplay.

ESP32 Code - Weergave Komma-Getallen

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 27 // The ESP32 pin GPIO27 connected to SCLK #define RCLK 26 // The ESP32 pin GPIO26 connected to RCLK #define DIO 25 // The ESP32 pin GPIO25 connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); display.printFloat(-9.2, 1, false); //display.printFloat(-92.4, 1, false); //display.printFloat(-9.24, 2, false); //display.printFloat(192.4, 1, false); //display.printFloat(19.24, 2, false); //display.printFloat(1.924, 3, false); } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

ESP32 Code - Weergave Temperatuur

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 27 // The ESP32 pin GPIO27 connected to SCLK #define RCLK 26 // The ESP32 pin GPIO26 connected to RCLK #define DIO 25 // The ESP32 pin GPIO25 connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); // display 9.3°C by controlling digit by digit display.clear(); display.setNumber(1, 9); // set 9 at the 1st digit display.setDot(1); // set . at the 1st digit display.setNumber(2, 3); // set 3 at the 2nd digit display.setChar(3, SegChars::DEGREE); // set ° at the 3rd digit display.setChar(4, SegChars::C); // set C at the 3rd digit display.show(); // show on the display } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

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.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u de stappen gemakkelijk te volgen.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!