DMD P10 Merupakan salah satu modul display yang sering digunakan untuk running text yang ada dimana-mana, Banyak sekali tutorial yang membahas DMD P10, namun disini kita akan mengakses DMD P10 dengan modul ESP32 IoT, yang nantinya bisa dikembangkan seperti dapat dikontrol menggunakan Web atau aplikasi android.
ESP32 adalah modul mikrokontroler yang dilengkapi fitur Wifi dan Bluetooth, sehingga sangat cocok buat kalian jika ingin mengembangkan proyek IoT.
Tutorial ini akan membahas dasar mengakses DMD P10 dengan ESP32 secara lengkap, sehingga nantinya kita akan mudah mengembakan proyek seperti kontrol DMD P10 dengan Bluetooth atau membuat proyek jam digital.
Penerapan Tutorial ESP32 Antarmuka dengan DMD P10
- Jam Digital P10 IoT
- Papan Score IoT
- Running Text IoT
- dan masih banyak yang lainya.
Hardware yang dibutuhkan
- ESP32
- Modul DMD P10
- Kabel Power
- Kabel Hub 12
Langkah-langkah antarmuka DMD P10 dengan ESP32
- Siapkan alat yang dibutuhkan, jika ingin mudah silahkan download file PCB kemudian cetak PCB nya.
- Buat rangkaian ESP32 dengan DMD P10
- Download Library DMD32.h
- Pasang library DMD32 pada Arduino IDE
- Buka file DMD32.h pada folder library
- Ubah pengaturan pin sesuai gambar yang ada diatas
- Buka program example DMD32 atau copy paste codenya dibawah
Program Arduino IDE ESP32 Antarmuka dengan DMD P10
#include <DMD32.h> #include "fonts/SystemFont5x7.h" #include "fonts/Arial_Black_16_ISO_8859_1.h" //Fire up the DMD library as dmd #define DISPLAYS_ACROSS 2 #define DISPLAYS_DOWN 1 DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN); //Timer setup //create a hardware timer of ESP32 hw_timer_t * timer = NULL; void IRAM_ATTR triggerScan() { dmd.scanDisplayBySPI(); } void setup(void) { // return the clock speed of the CPU uint8_t cpuClock = ESP.getCpuFreqMHz(); // Use 1st timer of 4 // devide cpu clock speed on its speed value by MHz to get 1us for each signal of the timer timer = timerBegin(0, cpuClock, true); // Attach triggerScan function to our timer timerAttachInterrupt(timer, &triggerScan, true); // Set alarm to call triggerScan function // Repeat the alarm (third parameter) timerAlarmWrite(timer, 300, true); // Start an alarm timerAlarmEnable(timer); //clear/init the DMD pixels held in RAM dmd.clearScreen( true ); //true is normal (all pixels off), false is negative (all pixels on) Serial.begin(115200); } void loop(void) { dmd.clearScreen( true ); dmd.selectFont(Arial_Black_16_ISO_8859_1); // Français, Österreich, Magyarország const char *MSG = "anakkendali.com"; dmd.drawMarquee(MSG,strlen(MSG),(32*DISPLAYS_ACROSS)-1,0); long start=millis(); long timer=start; while(1){ if ((timer+30) < millis()) { dmd.stepMarquee(-1,0); timer=millis(); } } }
Berikut adalah bagian yang harus kalian sesuaikan di program dengan pin ESP32 yang dihubungkan ke DMD P10
File DMD32.h
#warning CHANGE THESE TO SEMI-ADJUSTABLE PIN DEFS! //ESP32 pins used for the display connection (Using VSPI) #define PIN_DMD_nOE 4 // D22 active low Output Enable, setting this low lights all the LEDs in the selected rows. Can pwm it at very high frequency for brightness control. #define PIN_DMD_A 26 // D19 #define PIN_DMD_B 19 // D21 #define PIN_DMD_CLK 18 // D18_SCK is SPI Clock if SPI is used #define PIN_DMD_SCLK 2 // D02 #define PIN_DMD_R_DATA 23 // D23_MOSI is SPI Master Out if SPI is used //Define this chip select pin that the Ethernet W5100 IC or other SPI device uses //if it is in use during a DMD scan request then scanDisplayBySPI() will exit without conflict! (and skip that scan)
Terimakasih sudah berkunjung ke website anakkendali untuk membaca tutorial ESP32 menampilkan karakter pada modul display DMD P10. Semoga bermanfaat dan tetep berkarya.
Keyword
- Tutorial ESP32 DMD P10,
- DMD P10 ESP32,
- Antarmuka ESP32 DMD P10,
- Tutorial Mengakses DMD P10 ESP32,
- Kontrol DMD P10 dengan ESP32,