Files
SyncHome/trunk/Arduino/sketch_pro_Jochen/sketch_pro_Jochen.ino
2023-03-13 09:05:51 +00:00

435 lines
11 KiB
C++

/* **************************************** *
* Geschenk für Jochen *
* **************************************** *
* (C) 2017-02-06 Paolo Iocco *
* rev. 0.1 *
* **************************************** *
* Circuit diagram
* ---------------
* +-------+
* | ooooo |
* D1--TX<----| A |<---------RAW
* D0--RX---->| r |<---------GND
* RST------->| d |<---------RST
* GND------->| u |<---------VCC
* RST D2-------->| i |-----A3---D17 lHiL2
* CE D3----#--->| n |-----A2---D16 lHiL1
* DC D4-------->| o |-----A1---D15 lAuto2
* DIN D5<---#----| |-----A0---D14 lAuto1
* CLK D6<---#----| m |-----SCK--D13
* lCLK D7---------| i |-----MISO-D12
* lCS D8---------| n |--#--MOSI-D11
* lDIN D9----#----| i |--#--SS---D10 HV
* +-------+
*
* ***************************************** */
#include "sys64738.h"
#include "LedControl.h"
#include "TimerOne.h"
#define LCD_RST 2
#define LCD_CE 3
#define LCD_DC 4
#define LCD_SDI 5
#define LCD_SCK 6
#define _FONT FONT_6x8
#define lCLK 7
#define lCS 8
#define lDIN 9
#define HV 10
#define lAuto1 14
#define lAuto2 15
#define lHiL1 16
#define lHiL2 17
#define BASE 250000
LedControl lc=LedControl(lDIN,lCLK,lCS,1);
Display5110 Lcd(LCD_CE, LCD_RST, LCD_DC, LCD_SDI, LCD_SCK);
byte HochVolt=0;
unsigned long tempo=0;
long randNumber;
/* ************************************************ *
* switch the plasma ball and the HV-LED on and off *
* ************************************************ */
void Hoch_Volt(){
if (HochVolt==0){
digitalWrite(HV,HIGH);
digitalWrite(lHiL1,HIGH);
digitalWrite(13,HIGH);
HochVolt=1;
}
else {
digitalWrite(HV,LOW);
digitalWrite(lHiL1,LOW);
digitalWrite(13,LOW);
HochVolt=0;
}
}
/* ************************** *
* Lights the matrix randomly *
* ************************** */
void HiL_Random(){
randNumber = random(0,256);
lc.setRow(0,0,randNumber);
randNumber = random(0,256);
lc.setRow(0,1,randNumber);
randNumber = random(0,256);
lc.setRow(0,2,randNumber);
randNumber = random(0,256);
lc.setRow(0,3,randNumber);
randNumber = random(0,256);
lc.setRow(0,4,randNumber);
randNumber = random(0,256);
lc.setRow(0,5,randNumber);
randNumber = random(0,256);
lc.setRow(0,6,randNumber);
randNumber = random(0,256);
lc.setRow(0,7,randNumber);
}
/* ************************* *
* Lights the LEDs randomly *
* ************************* */
void Car_Random(){
randNumber = random(0,256);
digitalWrite(lHiL2,(randNumber & 0x01));
digitalWrite(lAuto1,(randNumber & 0x02));
digitalWrite(lAuto2,(randNumber & 0x04));
}
/* ************************************* *
* TRQ Service Routine - Every "BASE" us *
* ************************************* */
void IRQ_Service(){
tempo++;
if (tempo % 1 == 0)
HiL_Random();
if (tempo % 4 == 0)
Car_Random();
if (tempo % 10 == 0)
Hoch_Volt();
}
/* ***************** *
* Header first type *
* ***************** */
void Header1(){
Lcd.Clear();
Lcd.WriteStringXY(0,0,"**************",_FONT);
Lcd.WriteStringXY(0,1,"ENBN 2013-2017",_FONT);
Lcd.WriteStringXY(0,2,"**************",_FONT);
}
/* ****************** *
* Header second type *
* ****************** */
void Header2(){
Lcd.Clear();
Lcd.WriteStringXY(0,0,"**************",_FONT);
Lcd.WriteStringXY(0,1,"ENBN 2013-2017",_FONT);
Lcd.WriteStringXY(0,2,"***THE TEAM***",_FONT);
}
/* ************** *
* Setup Function *
* ************** */
void setup() {
pinMode(HV, OUTPUT);
pinMode(lAuto1, OUTPUT);
pinMode(lAuto2, OUTPUT);
pinMode(lHiL1, OUTPUT);
pinMode(lHiL2, OUTPUT);
pinMode(13, OUTPUT);
lc.shutdown(0,false);// turn off power saving, enables display
lc.setIntensity(0,1);// sets brightness (0~15 possible values)
lc.clearDisplay(0);// clear screen
Lcd.Init();
randomSeed(BASE);
Timer1.initialize(BASE); // 1s
Timer1.attachInterrupt(IRQ_Service);
}
/* ************************************* *
* Cyclic loop function - Messages & Co. *
* ************************************* */
void loop(){
Header1();
delay(3000);
Header1();
Lcd.WriteStringXY(3,3,"AWARD WINNING",_FONT);
Lcd.WriteStringXY(12,4,"TEAM SETUP",_FONT);
delay(2000);
Header1();
Lcd.WriteStringXY(3,3,"BEST IN CLASS",_FONT);
Lcd.WriteStringXY(0,4,"BEST IN SEGMNT",_FONT);
delay(2000);
Header1();
Lcd.WriteStringXY(9,3,"THIS IS OUR",_FONT);
Lcd.WriteStringXY(15,4,"HEARTFELT",_FONT);
Lcd.WriteStringXY(6,5,"APPRECIATION",_FONT);
delay(2000);
Header1();
Lcd.WriteStringXY(6,3,"TO OUR CHIEF",_FONT);
delay(2000);
Lcd.WriteStringXY(0,4,"DR. J. ASSFALG",_FONT);
delay(2000);
Lcd.WriteStringXY(0,5,"-THE BULLDOZER",_FONT);
delay(3000);
Header1();
Lcd.WriteStringXY(6,3,"STANDING FOR",_FONT);
delay(3000);
Lcd.WriteStringXY(0,4,"1. MASTERCLASS",_FONT);
Lcd.WriteStringXY(12,5,"TEAM DRILL",_FONT);
delay(3000);
Lcd.WriteStringXY(0,4," ",_FONT);
Lcd.WriteStringXY(3,4,"2. ALWAYS ACT",_FONT);
Lcd.WriteStringXY(3,5,"BEYOND LIMITS",_FONT);
delay(3000);
Lcd.WriteStringXY(0,4," ",_FONT);
Lcd.WriteStringXY(3,4,"3.NOTHING CAN",_FONT);
Lcd.WriteStringXY(0,5," ",_FONT);
Lcd.WriteStringXY(18,5,"STOP US!",_FONT);
delay(3000);
Header1();
Lcd.WriteStringXY(6,4,"-THANKS FOR-",_FONT);
Lcd.WriteStringXY(3,5,"(ALMOST) ALL!",_FONT);
delay(3000);
//* *********************************************** *
Header2();
delay(3000);
Header2();
Lcd.WriteStringXY(15,3,"--PAOLO--",_FONT);
Lcd.WriteStringXY(18,4,"AKA GYRO",_FONT);
Lcd.WriteStringXY(15,5,"GEARLOOSE",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(9,3,"--DOMINIK--",_FONT);
Lcd.WriteStringXY(3,4,"THE 8-HANDED",_FONT);
Lcd.WriteStringXY(9,5,"OCTOPUS(SY)",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(3,3,"--THOMAS K.--",_FONT);
Lcd.WriteStringXY(9,4,"THE GENERAL",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(18,3,"--TONI--",_FONT);
Lcd.WriteStringXY(3,4,"'MAKE THE LAB",_FONT);
Lcd.WriteStringXY(3,5,"GREAT AGAIN!'",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(12,3,"--DRASKO--",_FONT);
Lcd.WriteStringXY(3,4,"DONT FEAR ANY",_FONT);
Lcd.WriteStringXY(6,5,"DISCUSSION!!",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(12,3,"--ROBERT--",_FONT);
Lcd.WriteStringXY(6,4,"THE GREATEST",_FONT);
Lcd.WriteStringXY(12,5,"SUPERVISOR",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(3,3,"--THOMAS M6--",_FONT);
Lcd.WriteStringXY(0,4,"0/0 TIL END OF",_FONT);
Lcd.WriteStringXY(0,5,"YEAR? REALLY??",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(12,3,"--STEFAN--",_FONT);
Lcd.WriteStringXY(3,4,"ALWAYS A HAND",_FONT);
Lcd.WriteStringXY(0,5,"FOR AKI TOPICS",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(12,3,"--KONRAD--",_FONT);
Lcd.WriteStringXY(6,4,"SUPPORTED BY",_FONT);
Lcd.WriteStringXY(0,5,"THE UGLY DOGS!",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(3,3,"--CHRISTINE--",_FONT);
Lcd.WriteStringXY(6,4,"1ST LADY AND",_FONT);
Lcd.WriteStringXY(6,5,"XLS MISTRESS",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(15,3,"--DARIO--",_FONT);
Lcd.WriteStringXY(21,4,"THE 2ND",_FONT);
Lcd.WriteStringXY(0,5,"ITALIAN HV JOB",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(12,3,"--MARTIN--",_FONT);
Lcd.WriteStringXY(3,4,"NEEDS SOME HV",_FONT);
Lcd.WriteStringXY(0,5,"INFRASTRUCTURE",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(9,3,"--MICHAEL--",_FONT);
Lcd.WriteStringXY(9,4,"LOVED BEING",_FONT);
Lcd.WriteStringXY(9,5,"OFK CAR GUY",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(18,3,"--VERA--",_FONT);
Lcd.WriteStringXY(0,4,"DONT MESS WITH",_FONT);
Lcd.WriteStringXY(3,5,"OUR 2ND LADY!",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(12,3,"--MARCEL--",_FONT);
Lcd.WriteStringXY(0,4,"LEARNS TO LOVE",_FONT);
Lcd.WriteStringXY(3,5,"MT EQUIPMENT!",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(6,3,"--DENNIS--",_FONT);
Lcd.WriteStringXY(0,4,"NO NEED OF DRY",_FONT);
Lcd.WriteStringXY(0,5,"HANDS AT WORK!",_FONT);
delay(4000);
Header2();
Lcd.WriteStringXY(3,3,"-AND FINALLY-",_FONT);
delay(3000);
Lcd.WriteStringXY(3,3,"-UNFORGOTTEN-",_FONT);
delay(3000);
Lcd.WriteStringXY(0,4,"DR. ANDI SHORT",_FONT);
delay(2000);
Lcd.WriteStringXY(3,5,"THE STIMULANT",_FONT);
delay(3000);
Header2();
Lcd.WriteStringXY(3,3,"AND OF COURSE",_FONT);
delay(3000);
Lcd.WriteStringXY(6,4,"--MR. DIEZ--",_FONT);
delay(2000);
Lcd.WriteStringXY(0,5,"U'R NXT CHIEF!",_FONT);
delay(4000);
Lcd.Clear();
Lcd.WriteStringXY(15,0,"-AND NOW-",_FONT);
delay(3000);
Lcd.WriteStringXY(9,1,"IN ORIGINAL",_FONT);
Lcd.WriteStringXY(18,2,"LANGUAGE",_FONT);
delay(3000);
Lcd.WriteStringXY(0,3,"WARN: EXPLICIT",_FONT);
Lcd.WriteStringXY(18,4,"CONTENT!",_FONT);
delay(3000);
Lcd.WriteStringXY(0,5,"BESTOF JOCHEN:",_FONT);
delay(3000);
Lcd.Clear();
Lcd.WriteStringXY(0,0,"--------------",_FONT);
Lcd.WriteStringXY(3,1,"DENEN MUESSEN",_FONT);
Lcd.WriteStringXY(9,2,"WIR MAL DIE",_FONT);
Lcd.WriteStringXY(30,3,"EIER",_FONT);
Lcd.WriteStringXY(6,4,"HOCHBINDEN!!",_FONT);
Lcd.WriteStringXY(0,5,"--------------",_FONT);
delay(5000);
Lcd.Clear();
Lcd.WriteStringXY(0,0,"--------------",_FONT);
Lcd.WriteStringXY(9,1,"DA MUSS MAN",_FONT);
Lcd.WriteStringXY(15,2,"JETZT MAL",_FONT);
Lcd.WriteStringXY(9,3,"GROSSZUEGIG",_FONT);
Lcd.WriteStringXY(21,4,"DRUEBER",_FONT);
Lcd.WriteStringXY(9,5,"PLANIEREN!!",_FONT);
delay(5000);
Lcd.Clear();
Lcd.WriteStringXY(0,0,"--------------",_FONT);
Lcd.WriteStringXY(15,1,"IHR IMMER",_FONT);
Lcd.WriteStringXY(15,2,"MIT EUREM",_FONT);
Lcd.WriteStringXY(12,3,"FREITZEIT-",_FONT);
Lcd.WriteStringXY(6,4,"ORIENTIERTEN",_FONT);
Lcd.WriteStringXY(6,5,"ARBEITSSTIL!",_FONT);
delay(5000);
Lcd.Clear();
Lcd.WriteStringXY(0,0,"--------------",_FONT);
Lcd.WriteStringXY(24,1,"LAUTER",_FONT);
Lcd.WriteStringXY(15,2,"MUSCHI'S!",_FONT);
Lcd.WriteStringXY(0,5,"--------------",_FONT);
delay(5000);
Lcd.Clear();
Lcd.WriteStringXY(0,0,"--------------",_FONT);
Lcd.WriteStringXY(18,1,"WIR SIND",_FONT);
Lcd.WriteStringXY(15,2,"NICHT ZUM",_FONT);
Lcd.WriteStringXY(3,3,"EIERSCHAUKELN",_FONT);
Lcd.WriteStringXY(30,4,"DA!!",_FONT);
Lcd.WriteStringXY(0,5,"--------------",_FONT);
delay(5000);
Lcd.Clear();
Lcd.WriteStringXY(0,0,"--------------",_FONT);
Lcd.WriteStringXY(15,1,"DIE HABEN",_FONT);
Lcd.WriteStringXY(27,2,"KEINE",_FONT);
Lcd.WriteStringXY(27,3,"EIER!",_FONT);
Lcd.WriteStringXY(0,5,"--------------",_FONT);
delay(5000);
Lcd.Clear();
Lcd.WriteStringXY(0,0,"--------------",_FONT);
Lcd.WriteStringXY(6,1,"ES IST IMMER",_FONT);
Lcd.WriteStringXY(12,2,"EINE FRAGE",_FONT);
Lcd.WriteStringXY(6,3,"WIE WEIT MAN",_FONT);
Lcd.WriteStringXY(6,4,"SICH BUECKEN",_FONT);
Lcd.WriteStringXY(30,5,"WILL",_FONT);
delay(5000);
Lcd.Clear();
Lcd.WriteStringXY(0,0,"--------------",_FONT);
Lcd.WriteStringXY(3,1,"DA GEHST DOCH",_FONT);
Lcd.WriteStringXY(15,2,"SCHON MIT",_FONT);
Lcd.WriteStringXY(15,3,"RUNTERGE-",_FONT);
Lcd.WriteStringXY(6,4,"LASSNER HOSE",_FONT);
Lcd.WriteStringXY(6,5,"INS MEETING!",_FONT);
delay(5000);
Lcd.Clear();
Lcd.WriteStringXY(0,0,"**************",_FONT);
Lcd.WriteStringXY(12,1,"ALLES GUTE",_FONT);
Lcd.WriteStringXY(18,2,"UND VIEL",_FONT);
Lcd.WriteStringXY(15,3,"ERFOLG IM",_FONT);
Lcd.WriteStringXY(6,4,"NEUEN JOB !!",_FONT);
Lcd.WriteStringXY(0,5,"**************",_FONT);
delay(10000);
}