Tutorial ESP32 Menampilkan Teks DMD P10 dengan Library DMD32

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

  1. Jam Digital P10 IoT
  2. Papan Score IoT
  3. Running Text IoT
  4. dan masih banyak yang lainya.

Hardware yang dibutuhkan

  1. ESP32
  2. Modul DMD P10
  3. Kabel Power
  4. Kabel Hub 12

Langkah-langkah antarmuka DMD P10 dengan ESP32

  1. Siapkan alat yang dibutuhkan, jika ingin mudah silahkan download file PCB kemudian cetak PCB nya.
  2. Buat rangkaian ESP32 dengan DMD P10
  3. Download Library DMD32.h
  4. Pasang library DMD32 pada Arduino IDE
  5. Buka file DMD32.h pada folder library
  6. Ubah pengaturan pin sesuai gambar yang ada diatas
  7. 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

  1. Tutorial ESP32 DMD P10,
  2. DMD P10 ESP32,
  3. Antarmuka ESP32 DMD P10,
  4. Tutorial Mengakses DMD P10 ESP32,
  5. Kontrol DMD P10 dengan ESP32,
chaerul

Recent Posts

Panduan Lengkap: Cara Menyiapkan Klaster Kubernetes pada Ubuntu 22.04 LTS

Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…

2 weeks ago

AplikasiAkademik.com: Solusi Terbaik untuk Manajemen Sekolah yang Efisien

Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…

7 months ago

Cara Mudah Menginstal OpenVPN Server di Ubuntu 20.04 di Huaweicloud Panduan Langkah demi Langkah

Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…

12 months ago

Install Docker Portainer dan Nginx Proxy Manager Ubuntu Server

Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…

1 year ago

Tutorial led blinking lengkap, Wiring & Code

Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…

1 year ago

Tutorial LCD Display Lengkap dengan wiring & code untuk pemula

Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…

1 year ago