Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <math.h>
- #define ASCII_OFFSET 32
- float angle = 4.0;
- float focus = 0.5;
- boolean charset[95][5][7];
- // CA C R
- void defchar() {
- // 0;32;" "
- charset[0][0][0] = false;
- charset[0][0][1] = false;
- charset[0][0][2] = false;
- charset[0][0][3] = false;
- charset[0][0][4] = false;
- charset[0][0][5] = false;
- charset[0][0][6] = false;
- charset[0][1][0] = false;
- charset[0][1][1] = false;
- charset[0][1][2] = false;
- charset[0][1][3] = false;
- charset[0][1][4] = false;
- charset[0][1][5] = false;
- charset[0][1][6] = false;
- charset[0][2][0] = false;
- charset[0][2][1] = false;
- charset[0][2][2] = false;
- charset[0][2][3] = false;
- charset[0][2][4] = false;
- charset[0][2][5] = false;
- charset[0][2][6] = false;
- charset[0][3][0] = false;
- charset[0][3][1] = false;
- charset[0][3][2] = false;
- charset[0][3][3] = false;
- charset[0][3][4] = false;
- charset[0][3][5] = false;
- charset[0][3][6] = false;
- charset[0][4][0] = false;
- charset[0][4][1] = false;
- charset[0][4][2] = false;
- charset[0][4][3] = false;
- charset[0][4][4] = false;
- charset[0][4][5] = false;
- charset[0][4][6] = false;
- // 1;33;"!"
- charset[1][0][0] = false;
- charset[1][0][1] = false;
- charset[1][0][2] = false;
- charset[1][0][3] = false;
- charset[1][0][4] = false;
- charset[1][0][5] = false;
- charset[1][0][6] = false;
- charset[1][1][0] = false;
- charset[1][1][1] = false;
- charset[1][1][2] = false;
- charset[1][1][3] = false;
- charset[1][1][4] = false;
- charset[1][1][5] = false;
- charset[1][1][6] = false;
- charset[1][2][0] = true;
- charset[1][2][1] = false;
- charset[1][2][2] = false;
- charset[1][2][3] = true;
- charset[1][2][4] = true;
- charset[1][2][5] = true;
- charset[1][2][6] = true;
- charset[1][3][0] = false;
- charset[1][3][1] = false;
- charset[1][3][2] = false;
- charset[1][3][3] = false;
- charset[1][3][4] = false;
- charset[1][3][5] = false;
- charset[1][3][6] = false;
- charset[1][4][0] = false;
- charset[1][4][1] = false;
- charset[1][4][2] = false;
- charset[1][4][3] = false;
- charset[1][4][4] = false;
- charset[1][4][5] = false;
- charset[1][4][6] = false;
- // 2;34;"""
- int c=2;
- charset[c][0][0] = false;
- charset[c][0][1] = false;
- charset[c][0][2] = false;
- charset[c][0][3] = false;
- charset[c][0][4] = false;
- charset[c][0][5] = false;
- charset[c][0][6] = false;
- charset[c][1][0] = false;
- charset[c][1][1] = false;
- charset[c][1][2] = false;
- charset[c][1][3] = false;
- charset[c][1][4] = true;
- charset[c][1][5] = true;
- charset[c][1][6] = true;
- charset[c][2][0] = false;
- charset[c][2][1] = false;
- charset[c][2][2] = false;
- charset[c][2][3] = false;
- charset[c][2][4] = false;
- charset[c][2][5] = false;
- charset[c][2][6] = false;
- charset[c][3][0] = false;
- charset[c][3][1] = false;
- charset[c][3][2] = false;
- charset[c][3][3] = false;
- charset[c][3][4] = true;
- charset[c][3][5] = true;
- charset[c][3][6] = true;
- charset[c][4][0] = false;
- charset[c][4][1] = false;
- charset[c][4][2] = false;
- charset[c][4][3] = false;
- charset[c][4][4] = false;
- charset[c][4][5] = false;
- charset[c][4][6] = false;
- // 2;34;"""
- c=16;
- charset[c][0][0] = false;
- charset[c][0][1] = true;
- charset[c][0][2] = true;
- charset[c][0][3] = true;
- charset[c][0][4] = true;
- charset[c][0][5] = true;
- charset[c][0][6] = false;
- charset[c][1][0] = true;
- charset[c][1][1] = false;
- charset[c][1][2] = true;
- charset[c][1][3] = false;
- charset[c][1][4] = false;
- charset[c][1][5] = false;
- charset[c][1][6] = true;
- charset[c][2][0] = true;
- charset[c][2][1] = false;
- charset[c][2][2] = false;
- charset[c][2][3] = true;
- charset[c][2][4] = false;
- charset[c][2][5] = false;
- charset[c][2][6] = true;
- charset[c][3][0] = true;
- charset[c][3][1] = false;
- charset[c][3][2] = false;
- charset[c][3][3] = false;
- charset[c][3][4] = true;
- charset[c][3][5] = false;
- charset[c][3][6] = true;
- charset[c][4][0] = false;
- charset[c][4][1] = true;
- charset[c][4][2] = true;
- charset[c][4][3] = true;
- charset[c][4][4] = true;
- charset[c][4][5] = true;
- charset[c][4][6] = false;
- c=17;
- charset[c][0][0] = false;
- charset[c][0][1] = false;
- charset[c][0][2] = false;
- charset[c][0][3] = false;
- charset[c][0][4] = false;
- charset[c][0][5] = false;
- charset[c][0][6] = false;
- charset[c][1][0] = true;
- charset[c][1][1] = false;
- charset[c][1][2] = false;
- charset[c][1][3] = false;
- charset[c][1][4] = false;
- charset[c][1][5] = true;
- charset[c][1][6] = false;
- charset[c][2][0] = true;
- charset[c][2][1] = true;
- charset[c][2][2] = true;
- charset[c][2][3] = true;
- charset[c][2][4] = true;
- charset[c][2][5] = true;
- charset[c][2][6] = true;
- charset[c][3][0] = true;
- charset[c][3][1] = false;
- charset[c][3][2] = false;
- charset[c][3][3] = false;
- charset[c][3][4] = false;
- charset[c][3][5] = false;
- charset[c][3][6] = false;
- charset[c][4][0] = false;
- charset[c][4][1] = false;
- charset[c][4][2] = false;
- charset[c][4][3] = false;
- charset[c][4][4] = false;
- charset[c][4][5] = false;
- charset[c][4][6] = false;
- c=18;
- charset[c][0][0] = true;
- charset[c][0][1] = false;
- charset[c][0][2] = false;
- charset[c][0][3] = false;
- charset[c][0][4] = false;
- charset[c][0][5] = true;
- charset[c][0][6] = false;
- charset[c][1][0] = true;
- charset[c][1][1] = true;
- charset[c][1][2] = false;
- charset[c][1][3] = false;
- charset[c][1][4] = false;
- charset[c][1][5] = false;
- charset[c][1][6] = true;
- charset[c][2][0] = true;
- charset[c][2][1] = false;
- charset[c][2][2] = true;
- charset[c][2][3] = false;
- charset[c][2][4] = false;
- charset[c][2][5] = false;
- charset[c][2][6] = true;
- charset[c][3][0] = true;
- charset[c][3][1] = false;
- charset[c][3][2] = false;
- charset[c][3][3] = true;
- charset[c][3][4] = false;
- charset[c][3][5] = false;
- charset[c][3][6] = true;
- charset[c][4][0] = true;
- charset[c][4][1] = false;
- charset[c][4][2] = false;
- charset[c][4][3] = false;
- charset[c][4][4] = true;
- charset[c][4][5] = true;
- charset[c][4][6] = false;
- c=19;
- charset[c][0][0] = false;
- charset[c][0][1] = true;
- charset[c][0][2] = false;
- charset[c][0][3] = false;
- charset[c][0][4] = false;
- charset[c][0][5] = false;
- charset[c][0][6] = true;
- charset[c][1][0] = true;
- charset[c][1][1] = false;
- charset[c][1][2] = false;
- charset[c][1][3] = false;
- charset[c][1][4] = false;
- charset[c][1][5] = false;
- charset[c][1][6] = true;
- charset[c][2][0] = true;
- charset[c][2][1] = false;
- charset[c][2][2] = false;
- charset[c][2][3] = false;
- charset[c][2][4] = true;
- charset[c][2][5] = false;
- charset[c][2][6] = true;
- charset[c][3][0] = true;
- charset[c][3][1] = false;
- charset[c][3][2] = false;
- charset[c][3][3] = true;
- charset[c][3][4] = false;
- charset[c][3][5] = true;
- charset[c][3][6] = true;
- charset[c][4][0] = false;
- charset[c][4][1] = true;
- charset[c][4][2] = true;
- charset[c][4][3] = false;
- charset[c][4][4] = false;
- charset[c][4][5] = false;
- charset[c][4][6] = true;
- c=20;
- charset[c][0][0] = false;
- charset[c][0][1] = false;
- charset[c][0][2] = true;
- charset[c][0][3] = true;
- charset[c][0][4] = false;
- charset[c][0][5] = false;
- charset[c][0][6] = false;
- charset[c][1][0] = false;
- charset[c][1][1] = false;
- charset[c][1][2] = true;
- charset[c][1][3] = false;
- charset[c][1][4] = true;
- charset[c][1][5] = false;
- charset[c][1][6] = false;
- charset[c][2][0] = false;
- charset[c][2][1] = false;
- charset[c][2][2] = true;
- charset[c][2][3] = false;
- charset[c][2][4] = false;
- charset[c][2][5] = true;
- charset[c][2][6] = false;
- charset[c][3][0] = true;
- charset[c][3][1] = true;
- charset[c][3][2] = true;
- charset[c][3][3] = true;
- charset[c][3][4] = true;
- charset[c][3][5] = true;
- charset[c][3][6] = true;
- charset[c][4][0] = false;
- charset[c][4][1] = false;
- charset[c][4][2] = true;
- charset[c][4][3] = false;
- charset[c][4][4] = false;
- charset[c][4][5] = false;
- charset[c][4][6] = false;
- c=21;
- charset[c][0][0] = false;
- charset[c][0][1] = true;
- charset[c][0][2] = false;
- charset[c][0][3] = false;
- charset[c][0][4] = true;
- charset[c][0][5] = true;
- charset[c][0][6] = true;
- charset[c][1][0] = true;
- charset[c][1][1] = false;
- charset[c][1][2] = false;
- charset[c][1][3] = false;
- charset[c][1][4] = true;
- charset[c][1][5] = false;
- charset[c][1][6] = true;
- charset[c][2][0] = true;
- charset[c][2][1] = false;
- charset[c][2][2] = false;
- charset[c][2][3] = false;
- charset[c][2][4] = true;
- charset[c][2][5] = false;
- charset[c][2][6] = true;
- charset[c][3][0] = true;
- charset[c][3][1] = false;
- charset[c][3][2] = false;
- charset[c][3][3] = false;
- charset[c][3][4] = true;
- charset[c][3][5] = false;
- charset[c][3][6] = true;
- charset[c][4][0] = false;
- charset[c][4][1] = true;
- charset[c][4][2] = true;
- charset[c][4][3] = true;
- charset[c][4][4] = false;
- charset[c][4][5] = false;
- charset[c][4][6] = true;
- c=22;
- charset[c][0][0] = true;
- charset[c][0][1] = true;
- charset[c][0][2] = true;
- charset[c][0][3] = true;
- charset[c][0][4] = true;
- charset[c][0][5] = false;
- charset[c][0][6] = false;
- charset[c][1][0] = true;
- charset[c][1][1] = false;
- charset[c][1][2] = false;
- charset[c][1][3] = true;
- charset[c][1][4] = false;
- charset[c][1][5] = true;
- charset[c][1][6] = false;
- charset[c][2][0] = true;
- charset[c][2][1] = false;
- charset[c][2][2] = false;
- charset[c][2][3] = true;
- charset[c][2][4] = false;
- charset[c][2][5] = false;
- charset[c][2][6] = true;
- charset[c][3][0] = true;
- charset[c][3][1] = false;
- charset[c][3][2] = false;
- charset[c][3][3] = true;
- charset[c][3][4] = false;
- charset[c][3][5] = false;
- charset[c][3][6] = true;
- charset[c][4][0] = false;
- charset[c][4][1] = true;
- charset[c][4][2] = true;
- charset[c][4][3] = false;
- charset[c][4][4] = false;
- charset[c][4][5] = false;
- charset[c][4][6] = false;
- c=23;
- charset[c][0][0] = false;
- charset[c][0][1] = false;
- charset[c][0][2] = false;
- charset[c][0][3] = false;
- charset[c][0][4] = false;
- charset[c][0][5] = true;
- charset[c][0][6] = true;
- charset[c][1][0] = false;
- charset[c][1][1] = false;
- charset[c][1][2] = false;
- charset[c][1][3] = false;
- charset[c][1][4] = false;
- charset[c][1][5] = false;
- charset[c][1][6] = true;
- charset[c][2][0] = true;
- charset[c][2][1] = true;
- charset[c][2][2] = true;
- charset[c][2][3] = false;
- charset[c][2][4] = false;
- charset[c][2][5] = false;
- charset[c][2][6] = true;
- charset[c][3][0] = false;
- charset[c][3][1] = false;
- charset[c][3][2] = false;
- charset[c][3][3] = true;
- charset[c][3][4] = false;
- charset[c][3][5] = false;
- charset[c][3][6] = true;
- charset[c][4][0] = false;
- charset[c][4][1] = false;
- charset[c][4][2] = false;
- charset[c][4][3] = false;
- charset[c][4][4] = true;
- charset[c][4][5] = true;
- charset[c][4][6] = true;
- c=24;
- charset[c][0][0] = false;
- charset[c][0][1] = true;
- charset[c][0][2] = true;
- charset[c][0][3] = false;
- charset[c][0][4] = true;
- charset[c][0][5] = true;
- charset[c][0][6] = false;
- charset[c][1][0] = true;
- charset[c][1][1] = false;
- charset[c][1][2] = false;
- charset[c][1][3] = true;
- charset[c][1][4] = false;
- charset[c][1][5] = false;
- charset[c][1][6] = true;
- charset[c][2][0] = true;
- charset[c][2][1] = false;
- charset[c][2][2] = false;
- charset[c][2][3] = true;
- charset[c][2][4] = false;
- charset[c][2][5] = false;
- charset[c][2][6] = true;
- charset[c][3][0] = true;
- charset[c][3][1] = false;
- charset[c][3][2] = false;
- charset[c][3][3] = true;
- charset[c][3][4] = false;
- charset[c][3][5] = false;
- charset[c][3][6] = true;
- charset[c][4][0] = false;
- charset[c][4][1] = true;
- charset[c][4][2] = true;
- charset[c][4][3] = false;
- charset[c][4][4] = true;
- charset[c][4][5] = true;
- charset[c][4][6] = false;
- c=25;
- charset[c][0][0] = false;
- charset[c][0][1] = false;
- charset[c][0][2] = false;
- charset[c][0][3] = false;
- charset[c][0][4] = true;
- charset[c][0][5] = true;
- charset[c][0][6] = false;
- charset[c][1][0] = true;
- charset[c][1][1] = false;
- charset[c][1][2] = false;
- charset[c][1][3] = true;
- charset[c][1][4] = false;
- charset[c][1][5] = false;
- charset[c][1][6] = true;
- charset[c][2][0] = true;
- charset[c][2][1] = false;
- charset[c][2][2] = false;
- charset[c][2][3] = true;
- charset[c][2][4] = false;
- charset[c][2][5] = false;
- charset[c][2][6] = true;
- charset[c][3][0] = false;
- charset[c][3][1] = true;
- charset[c][3][2] = false;
- charset[c][3][3] = true;
- charset[c][3][4] = false;
- charset[c][3][5] = false;
- charset[c][3][6] = true;
- charset[c][4][0] = false;
- charset[c][4][1] = false;
- charset[c][4][2] = true;
- charset[c][4][3] = true;
- charset[c][4][4] = true;
- charset[c][4][5] = true;
- charset[c][4][6] = false;
- c=33;
- //33;65;"A"
- charset[c][0][0] = true;
- charset[c][0][1] = true;
- charset[c][0][2] = true;
- charset[c][0][3] = true;
- charset[c][0][4] = true;
- charset[c][0][5] = true;
- charset[c][0][6] = true;
- charset[c][1][0] = false;
- charset[c][1][1] = false;
- charset[c][1][2] = true;
- charset[c][1][3] = false;
- charset[c][1][4] = false;
- charset[c][1][5] = true;
- charset[c][1][6] = false;
- charset[c][2][0] = false;
- charset[c][2][1] = false;
- charset[c][2][2] = true;
- charset[c][2][3] = false;
- charset[c][2][4] = false;
- charset[c][2][5] = false;
- charset[c][2][6] = true;
- charset[c][3][0] = false;
- charset[c][3][1] = false;
- charset[c][3][2] = true;
- charset[c][3][3] = false;
- charset[c][3][4] = false;
- charset[c][3][5] = true;
- charset[c][3][6] = false;
- charset[c][4][0] = true;
- charset[c][4][1] = true;
- charset[c][4][2] = true;
- charset[c][4][3] = true;
- charset[c][4][4] = true;
- charset[c][4][5] = true;
- charset[c][4][6] = true;
- c=34;
- //34;66;"B"
- charset[c][0][0] = true;
- charset[c][0][1] = true;
- charset[c][0][2] = true;
- charset[c][0][3] = true;
- charset[c][0][4] = true;
- charset[c][0][5] = true;
- charset[c][0][6] = true;
- charset[c][1][0] = true;
- charset[c][1][1] = false;
- charset[c][1][2] = false;
- charset[c][1][3] = true;
- charset[c][1][4] = false;
- charset[c][1][5] = false;
- charset[c][1][6] = true;
- charset[c][2][0] = true;
- charset[c][2][1] = false;
- charset[c][2][2] = false;
- charset[c][2][3] = true;
- charset[c][2][4] = false;
- charset[c][2][5] = false;
- charset[c][2][6] = true;
- charset[c][3][0] = true;
- charset[c][3][1] = false;
- charset[c][3][2] = false;
- charset[c][3][3] = true;
- charset[c][3][4] = false;
- charset[c][3][5] = false;
- charset[c][3][6] = true;
- charset[c][4][0] = false;
- charset[c][4][1] = true;
- charset[c][4][2] = true;
- charset[c][4][3] = false;
- charset[c][4][4] = true;
- charset[c][4][5] = true;
- charset[c][4][6] = false;
- //"H"
- c=40;
- charset[c][0][0] = true;
- charset[c][0][1] = true;
- charset[c][0][2] = true;
- charset[c][0][3] = true;
- charset[c][0][4] = true;
- charset[c][0][5] = true;
- charset[c][0][6] = true;
- charset[c][1][0] = false;
- charset[c][1][1] = false;
- charset[c][1][2] = false;
- charset[c][1][3] = true;
- charset[c][1][4] = false;
- charset[c][1][5] = false;
- charset[c][1][6] = false;
- charset[c][2][0] = false;
- charset[c][2][1] = false;
- charset[c][2][2] = false;
- charset[c][2][3] = true;
- charset[c][2][4] = false;
- charset[c][2][5] = false;
- charset[c][2][6] = false;
- charset[c][3][0] = false;
- charset[c][3][1] = false;
- charset[c][3][2] = false;
- charset[c][3][3] = true;
- charset[c][3][4] = false;
- charset[c][3][5] = false;
- charset[c][3][6] = false;
- charset[c][4][0] = true;
- charset[c][4][1] = true;
- charset[c][4][2] = true;
- charset[c][4][3] = true;
- charset[c][4][4] = true;
- charset[c][4][5] = true;
- charset[c][4][6] = true;
- c=90;
- charset[c][0][0] = 1;
- charset[c][0][1] = 0;
- charset[c][0][2] = 0;
- charset[c][0][3] = 0;
- charset[c][0][4] = 1;
- charset[c][0][5] = 0;
- charset[c][0][6] = 0;
- charset[c][1][0] = 1;
- charset[c][1][1] = 1;
- charset[c][1][2] = 0;
- charset[c][1][3] = 0;
- charset[c][1][4] = 1;
- charset[c][1][5] = 0;
- charset[c][1][6] = 0;
- charset[c][2][0] = 1;
- charset[c][2][1] = 0;
- charset[c][2][2] = 1;
- charset[c][2][3] = 0;
- charset[c][2][4] = 1;
- charset[c][2][5] = 0;
- charset[c][2][6] = 0;
- charset[c][3][0] = 1;
- charset[c][3][1] = 0;
- charset[c][3][2] = 0;
- charset[c][3][3] = 1;
- charset[c][3][4] = 1;
- charset[c][3][5] = 0;
- charset[c][3][6] = 0;
- charset[c][4][0] = 1;
- charset[c][4][1] = 0;
- charset[c][4][2] = 0;
- charset[c][4][3] = 0;
- charset[c][4][4] = 1;
- charset[c][4][5] = 0;
- charset[c][4][6] = 0;
- }
- unsigned long curr = 0;
- void setup() {
- defchar();
- pinMode(2,OUTPUT);
- pinMode(3,OUTPUT);
- pinMode(4,OUTPUT);
- pinMode(5,OUTPUT);
- pinMode(6,OUTPUT);
- pinMode(7,OUTPUT);
- pinMode(8,OUTPUT);
- pinMode(9,INPUT);
- Serial.begin(9600);
- }
- void alloff() {
- digitalWrite(2,LOW);
- digitalWrite(3,LOW);
- digitalWrite(4,LOW);
- digitalWrite(5,LOW);
- digitalWrite(6,LOW);
- digitalWrite(7,LOW);
- digitalWrite(8,LOW);
- }
- void pr(int car, boolean reversed) {
- for (int col = 0; col<5; col++) {
- for (int riga = 0; riga<7; riga++) {
- if ((!reversed && (charset[car][col][riga])) || (reversed && (charset[car][4-col][riga])) ){
- if (!reversed) {
- digitalWrite(riga+2,HIGH);
- } else {
- digitalWrite(8-riga,HIGH);
- }
- }
- }
- delayMicroseconds((float)curr*(1.0/3.0));
- alloff();
- delayMicroseconds((float)curr*(2.0/3.0));
- }
- alloff();
- }
- int l(int numero) {
- int divisore = 1;
- while (divisore < 10) {
- if ((int)numero/(int) pow(10,divisore) < 1) {
- return divisore;
- }
- }
- return 0;
- }
- void signal() {
- digitalWrite(2,HIGH);
- digitalWrite(8,HIGH);
- delay(1);
- alloff();
- }
- double ca;
- int fr[4];
- unsigned long old=0;
- unsigned long olds;
- int len;
- void loop() {
- fr[0] = ca/10;
- fr[1] = (ca-fr[0]*10);
- pr(fr[0]+16,false);pr(fr[1]+16,false);
- curr = micros() - old;
- old = micros();
- ca = curr/1000000.0;
- olds = curr;
- ca = 1/ca;
- curr = ((float)curr/360.0)*4.0;
- pr(40,false);pr(90,false);
- if (olds < 200000) {
- digitalWrite(8,HIGH);
- digitalWrite(5,HIGH);
- digitalWrite(2,HIGH);
- len = millis()/1000;
- if(len<10) {
- while (micros()-old<olds/2-12.5);
- pr(len+16,true);
- } else if (len<100) {
- fr[0] = len/10;
- fr[1] = len-fr[0]*10;
- while (micros()-old<olds/2-15);
- pr(fr[1]+16,true); pr(fr[0]+16,true);
- } else if (len<1000) {
- fr[0] = len/100;
- fr[1] = (len-fr[0]*100)/10;
- fr[2] = (len-fr[0]*100-fr[1]*10);
- while (micros()-old<olds/2-17.5);
- pr(fr[2]+16,true); pr(fr[1]+16,true);pr(fr[0]+16,true);
- }
- }
- digitalWrite(8,HIGH);
- digitalWrite(5,HIGH);
- digitalWrite(2,HIGH);
- while(digitalRead(9));
- while(!digitalRead(9));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement