Tutorial Arduino membuat Running Text dot Matrix
Running text (tulisan berjalan) merupakan contoh media elektronik yang mempunyai tujuan atau manfaatkan menampilkan informasi dan pesan yang difungsikan juga akan kebutuhan komersil yaitu sarana iklan.
Nama lain dari Running text yaitu Moving Sign. Seiring dengan perkembangan jaman, display pada moving sign pada saat ini tidak hanya menampilkan kata atau tulisan berjalan saja, akan tetapi dapat menampilkan gambar maupun logo yang menarik.
Alasan inilah mengapa banyak orang memilih ini sebagai sarana iklan yang menarik / sarana advertising. Dikarenakan pada running text tersebut kenyatanya memiliki daya tarik tersendiri bagi sebagian orang yang melihatnya.
Postingan artikel ini merupakan postingan lanjutan tentang dot matrix, pada kali ini akan dibuatkan tutorial tentang bagaimana cara membuat running text menggunakan dot matrix.
Bahan yang diperlukan / dipersiapkan untuk tutorial pertama antara lain :
- Arduino Uno
- Komputer + Software IDE Arduino
- Modul Led Dot Matrix 8×8 (4 pcs)
- Kabel Jumper
Skematik yang perlu dirangkaikan

Atau paling simpelnya, membeli modul yang ada dipasaran atau toko online, seperti gambar dibawah ini :

CODE
#include <MD_MAX72xx.h>
#include <SPI.h>
// Turn on debug statements to the serial output
#define DEBUG 1
#if DEBUG
#define PRINT(s,x) //mendefinisikan penulisan jika datanya s, dan x adalah float
{Serial.print(F(s));Serial.print(x);}
#define PRINTS(x) //mendefinisikan penulisan pengkonversian data x float
Serial.print(F(x))
#define PRINTD(x) ///mendefinisikan penulisan pengkonversian data x ke DEC
Serial.println(x, DEC)
#else
#define PRINT(s, x) //pendefinisian data s dan x
#define PRINTS(x) //pendefinisian data x ke prints
#define PRINTD(x) //pendefinisian data x ke printd
#endif
#define MAX_DEVICES 4
#define CLK_PIN 13 //SCK
#define DATA_PIN 11 //MOSI
#define CS_PIN 10 //SS
//antarmuka SPI - Serial Parallel Interface
MD_MAX72XX mx = MD_MAX72XX(CS_PIN, MAX_DEVICES);
#define DELAYTIME 100
void scrollText(char *p)
{
uint8_t charWidth;
uint8_t cBuf[8]; // this should be ok for all built-in fonts
PRINTS("\nScrolling text");
mx.clear();
while (*p != '\00')
{
charWidth = mx.getChar(*p++, sizeof(cBuf)/sizeof(cBuf[00]), cBuf);
for (uint8_t i=; i<charWidth + 1; i++) // allow space between characters
{
mx.transform(MD_MAX72XX::TSL);
if (i < charWidth)
mx.setColumn(00, cBuf[i]);
delay(DELAYTIME);
}
}
}
void setup()
{
mx.begin();
#if DEBUG
Serial.begin(115200);
delay(1000);
#endif
}
void loop()
{
#if 1
scrollText("www.nyebarilmu.com");
#endif
}