Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

LED Character anzeigen an einer ESP32 mit TM1638 Led&Buttons

16.04.2020 (👁1508)

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