#include <SPI.h>
#include <DMD.h>
//#include <DMD2.h>
#include <TimerOne.h>
//#include "Arial_black_16.h"
//#include "Arial_Black_16_ISO_8859_1.h"
//#include "Arial14.h"
#include "SystemFont5x7.h"
#include <TrFonts/Arial_Black_16TR.h>
#include <SoftwareSerial.h>
// #include <SoftwareSerial.h>
SoftwareSerial am(4, 3); // RX | TX
#define DISPLAYS_ACROSS 3 //-> Number of P10 panels used, side to side.
#define DISPLAYS_DOWN 2
DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN);
char *Text = "murad";
char *Text1 = "cesur";
char a='q';
void ScanDMD() {
dmd.scanDisplayBySPI();
}
void setup(void) {
Timer1.initialize(1000);
Timer1.attachInterrupt(ScanDMD);
dmd.clearScreen(true);
am.begin(9600);
// Serial.begin(115200);
}
void loop(void)
{
if(a =='q') {a='a';}
if(am.available())
a=am.read();
if(a=='a')
{
blink();
// arrow();
}
if(a=='s')
{
ciftsatirkayar(); //yol calismasi
}
if(a=='d')
{
ciftsatirkayar1(); //ib istac as
}
if(a=='f')
{
ciftsatirkayar2();
}
if(a=='g')
{
leftarrow();
}
if(a=='h')
{
rightarrow();
}
if(a=='j')
{
sabit();
a='t';
}
}
void blink()
{
dmd.selectFont(Arial_Black_16TR);
dmd.drawString(18,0, "DIKKAT", 6, GRAPHICS_NORMAL);
dmd.drawString(20,14, "YAVAS", 5, GRAPHICS_NORMAL);
//dmd.drawChar(20,14,'Ş',GRAPHICS_NORMAL);
delay(500);
dmd.clearScreen(true);
delay(500);
}
//-----------------------------------------------------------------Non Scrolling Text
//
void sagtosol()
{
// dmd.selectFont(Arial_Black_16_ISO_8859_1); 32*DISPLAYS_ACROSS)
//dmd.selectFont(Arial_Black_16TR);
//dmd.selectFont(Arial_14);
dmd.selectFont(SystemFont5x7);
//-----------------------------------------------------------By using "millis()"
Text = "< < < < < < < < < < <";
dmd.drawMarquee(Text,strlen(Text),96,10);
long start=millis();
long timer=start;
boolean ret=false;
int interval=10;
while(!ret){
if ((timer+interval) < millis()) {
ret=dmd.stepMarquee(-1,0);
timer=millis();
// Serial.println(ret);
}
}
}
void soltosag()
{
dmd.selectFont(SystemFont5x7);
//dmd.selectFont(Arial_14);
// dmd.selectFont(SystemFont5x7);
//-----------------------------------------------------------By using "millis()"
Text = "> > > > > > > > > > > > "; //> > > > > > > > > > > >
dmd.drawMarquee(Text,strlen(Text),-45,10);
long start=millis();
long timer=start;
boolean ret=false;
int interval=10;
while(!ret){
if ((timer+interval) < millis()) {
ret=dmd.stepMarquee(1,0);
timer=millis();
// Serial.println(ret);
}
}
}
void sabit()
{
dmd.selectFont(Arial_Black_16TR);
dmd.drawString(18,4, "DIKKAT", 6, GRAPHICS_NORMAL);
dmd.drawString(20,18, "YAVAS", 5, GRAPHICS_NORMAL);
}
void ciftsatirkayar()
{
dmd.selectFont(Arial_Black_16TR);
for(int i=96; i>-85; i--)
{
dmd.drawString(i+25,4, "YOL", 3, GRAPHICS_NORMAL);
dmd.drawString(i-1,18, "CALISMASI", 9, GRAPHICS_NORMAL);
delay(5);
}
}
void ciftsatirkayar1()
{
dmd.selectFont(Arial_Black_16TR);
for(int i=96; i>-80; i--)
{
dmd.drawString(i+23,1, "IBB", 3, GRAPHICS_NORMAL);
dmd.drawString(i-1,18, "ISTAC.AS", 8, GRAPHICS_NORMAL);
delay(5);
}
}
void ciftsatirkayar2()
{
dmd.selectFont(Arial_Black_16TR);
dmd.drawString(0,1,"30AGUSTOS",10,GRAPHICS_NORMAL); // stationary text
dmd.drawMarquee("ZAFER BAYRAMINIZ KUTLU OLSUN",28,96,16); // set up the marquee
long start=millis();
long timer=start;
boolean ret=false;
int interval=20;
while(!ret){
if ((timer+interval) < millis()) {
ret=dmd.stepSplitMarquee(14,31);
timer=millis();
// Serial.println(ret);
}
}
}
void rightarrow()
{
for(int i=0; i<96; i++)
{
dmd.drawLine(i, 0, i+ 14, 14, GRAPHICS_NORMAL);
dmd.drawLine(i+16,15, i, 31, GRAPHICS_NORMAL);
dmd.drawLine(i+15, 0, i+ 29, 14, GRAPHICS_NORMAL);
dmd.drawLine(i+31,15, i+15, 31, GRAPHICS_NORMAL);
dmd.drawLine(i+30, 0, i+ 44, 14, GRAPHICS_NORMAL);
dmd.drawLine(i+46,15, i+30, 31, GRAPHICS_NORMAL);
delay(10);
dmd.clearScreen(true);
}
}
void leftarrow()
{
for(int i=96;i>0;i--){
dmd.drawLine(i, 0, i-15, 15, GRAPHICS_NORMAL);
dmd.drawLine(i,31, i-16, 15, GRAPHICS_NORMAL);
dmd.drawLine(i-15, 0, i-30, 15, GRAPHICS_NORMAL);
dmd.drawLine(i-15,31, i-31, 15, GRAPHICS_NORMAL);
dmd.drawLine(i-30, 0, i-45, 15, GRAPHICS_NORMAL);
dmd.drawLine(i-30,31, i-46, 15, GRAPHICS_NORMAL);
delay(10);
dmd.clearScreen(true);
}
}
// void uptodown()
// {
// // dmd.selectFont(Arial_Black_16_ISO_8859_1); 32*DISPLAYS_ACROSS)
// dmd.selectFont(Arial_Black_16TR);
// //dmd.selectFont(Arial_14);
// // dmd.selectFont(SystemFont5x7);
// //-----------------------------------------------------------By using "millis()"
// Text = "30 KM/S";
// dmd.drawMarquee(Text,strlen(Text),30,-15);
// long start=millis();
// long timer=start;
// boolean ret=false;
// int interval=35;
// while(!ret){
// if ((timer+interval) < millis()) {
// ret=dmd.stepMarquee(0,1);
// timer=millis();
// // Serial.println(ret);
// }
// }
// }
// void downtoup()
// {
// // dmd.selectFont(Arial_Black_16_ISO_8859_1); 32*DISPLAYS_ACROSS)
// dmd.selectFont(Arial_Black_16TR);
// //dmd.selectFont(Arial_14);
// // dmd.selectFont(SystemFont5x7);
// //-----------------------------------------------------------By using "millis()"
// Text = "";
// dmd.drawMarquee(Text,strlen(Text),30,32);
// long start=millis();
// long timer=start;
// boolean ret=false;
// int interval=10;
// while(!ret){
// if ((timer+interval) < millis()) {
// ret=dmd.stepMarquee(0,-1);
// timer=millis();
// // Serial.println(ret);
// }
// }
// }
i am using turksih library but i cant see turkish char on the screen. even serial monitor. when i add turkish char on p10 panel it was not shown. code skip tp