Alat yang dibutuhkan :
- 1x Arduino UNO
- 1x Bluetooth modul HC-06 / HC-05
- LED Matrix 16x32
- Kabel jumper secukupnya
- Smartphone Android
- Library DMD dan TimerOne
- Download Aplikasi Android disini
Susunan Kabel :
- Pin RX pada Arduino dihubungkan ke TXD modul Bluetooth
- Pin TX pada Arduino dihubungkan ke RXD modul Bluetooth
Sketch:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #include <SPI.h> #include <DMD.h> #include <TimerOne.h> #include "SystemFont5x7.h" #include "Arial_black_16.h" #define DISPLAYS_ACROSS 2 #define DISPLAYS_DOWN 1 DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN); #define max_char 1000 char message[max_char]; char r_char; byte index = 0; int i; void ScanDMD() { dmd.scanDisplayBySPI(); } void setup(void) { Timer1.initialize( 5000 ); Timer1.attachInterrupt( ScanDMD ); dmd.clearScreen( true ); Serial.begin(9600); } void loop(void) { if(Serial.available()){ for(i=0; i<99; i++){ message[i] = '\0'; } index=0; } while(Serial.available() > 0){ if(index < (max_char-1)) { r_char = Serial.read(); message[index] = r_char; index++; message[index] = '\0'; } } dmd.clearScreen( true ); dmd.selectFont(Arial_black_16); dmd.drawMarquee(message, max_char,(32*DISPLAYS_ACROSS)-1 ,0); long start=millis(); long timer=start; boolean ret=false; while(!ret){ if ((timer+30) < millis()) { ret=dmd.stepMarquee(-1,0); timer=millis(); } } } |
0 Comments