#

Download:

Datei 1: esp32_TM1638_LEDs.ino
Datei 2: wiring_shift_mod.cpp
Datei 3: wiring_shift_mod.h

8 Charater LED anzeigen an einer ESP32 mit TM1638 Led&Buttons

 

Beschreibung:

Der folgende Code bringt die erste und letzte LED einer TM1638 LED&KEY anzeige zum leuchen

Der Arduino/ESP32 Code dient als Code Beispiel zum Betrieb der LED-Platine an einer ESP32

 

Beispiel Anwendung:

Betrieb einer Button-Platine / Modul an einem ESP32 nodeMCU Board

 

Bauteile:

Board: ESP32 nodeMCU DevBoard/DevKit

LED and Key: LED&KEY TM1638 Modul

Arduino IDE, Arduino

 

 

https://amzn.to/2wOkFBK    8-Bit LED + 8-Bit Digital Rohr +8- Bit Key TM1638 Modul + Kabel (5,72 Euro)

 

 

Laut Anleitung des TM1638 und ESP32 nodeMCU

Anschluss PINS ESP32 -> TM1638

G4->STB

G16->CLK

G17->DIO

GND->GND

3V3->VSS

 

 

 

Arduino IDE Code

Diese Code einfach in die Arduino IDE eingeben, den Code kompilieren und auf die ESP32 nodeMCU übertagen

 

#include "wiring_shift_mod.h"

 

#define CLOCK_TYPE CLOCK_INVERT

#define CLOCK_DELAY_US 1

 

const int strobe_pin =  4;

const int clock_pin  = 16;

const int data_pin   = 17;

 

void setup()

{

  pinMode(strobe_pin, OUTPUT);

  pinMode(clock_pin, OUTPUT);

  pinMode(data_pin, OUTPUT);

 

  sendCommand(0x8f);  // activate

  reset();

}

 

void loop()

{

  sendCommand(0x44);  // set single address

 

  digitalWrite(strobe_pin, LOW);

  shiftOutMod(data_pin, clock_pin, LSBFIRST, CLOCK_TYPE, CLOCK_DELAY_US, 0xc0); // 1st digit

  shiftOutMod(data_pin, clock_pin, LSBFIRST, CLOCK_TYPE, CLOCK_DELAY_US, 0xff);

  digitalWrite(strobe_pin, HIGH);

 

  digitalWrite(strobe_pin, LOW);

  shiftOutMod(data_pin, clock_pin, LSBFIRST, CLOCK_TYPE, CLOCK_DELAY_US, 0xc5); // 3rd LED

  shiftOutMod(data_pin, clock_pin, LSBFIRST, CLOCK_TYPE, CLOCK_DELAY_US, 0x01);

  digitalWrite(strobe_pin, HIGH);

 

  digitalWrite(strobe_pin, LOW);

  shiftOutMod(data_pin, clock_pin, LSBFIRST, CLOCK_TYPE, CLOCK_DELAY_US, 0xcb); // 3rd LED

  shiftOutMod(data_pin, clock_pin, LSBFIRST, CLOCK_TYPE, CLOCK_DELAY_US, 0x01);

  digitalWrite(strobe_pin, HIGH);

 

  digitalWrite(strobe_pin, LOW);

  shiftOutMod(data_pin, clock_pin, LSBFIRST, CLOCK_TYPE, CLOCK_DELAY_US, 0xce); // last digit

  shiftOutMod(data_pin, clock_pin, LSBFIRST, CLOCK_TYPE, CLOCK_DELAY_US, 0xff);

  digitalWrite(strobe_pin, HIGH);

}

 

void sendCommand(uint8_t value)

{

  digitalWrite(strobe_pin, LOW);

  shiftOutMod(data_pin, clock_pin, LSBFIRST, CLOCK_TYPE, CLOCK_DELAY_US, value);

  digitalWrite(strobe_pin, HIGH);

}

 

void reset()

{

  sendCommand(0x40); // set auto increment mode

  digitalWrite(strobe_pin, LOW);

  shiftOutMod(data_pin, clock_pin, LSBFIRST, CLOCK_TYPE, CLOCK_DELAY_US, 0xc0);   // set starting address to 0

  for(uint8_t i = 0; i < 16; i++)

  {

    shiftOutMod(data_pin, clock_pin, LSBFIRST, CLOCK_TYPE, CLOCK_DELAY_US, 0x00);

  }

  digitalWrite(strobe_pin, HIGH);

}

 

Link to GitHub MartyMacGyver

TM1638-demos-and-examples

https://github.com/MartyMacGyver/TM1638-demos-and-examples/blob/master/arduino/TM1638_buttons/TM1638_buttons.ino

 

Arduino IDE

 

 

Erweitern der Arduino Library

 

Damit die Zeile

#include "wiring_shift_mod.h"

Gelesen werden kann, muss man die Arduino Librarys erweitern.
hierzu geht man bei Arduino IDE Programm auf ->Menü->File->Preferences

Und öffnet den Pfad zu Sketchbook location

 

Arduino Library erweitern

 

Die Library-Dateien sind im Anhang

Wiring_shift_mod.cpp und wiring_shift_mod.h

Im Verzeichnis %Documents%\Arduino\libraries

 

Bezugsquellen:

 

https://amzn.to/3cfCZCA       3 Stück von AZDelivery 3 x ESP32 NodeMCU Module WLAN WiFi Development Board mit CP2102 (Nachfolgermodell zum ESP8266)  24,99 Euro

https://amzn.to/2wGkyYR     1x Stück: AZDelivery ESP32 NodeMCU Module WLAN WiFi Development Board mit CP2102 für 9,79 Euro

https://amzn.to/2KaC1eQ     AZDelivery HD44780 2004 LCD Display grün Bundle 4x20 Zeichen mit I2C Schnittstelle für Arduino

https://amzn.to/2wKzzJc       AZDelivery HD44780 2004 LCD Display Bundle 4x20 Zeichen mit I2C Schnittstelle für Arduino

 

Mobile

.