Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Author: Antonii Gzara
- //IG: @Antek_Gzara_Animations
- //GIT: Antek-Gzara-Animations
- #include <LiquidCrystal.h>
- #define RIGHT 0
- #define UP 1
- #define DOWN 2
- #define LEFT 3
- #define SELECT 4
- #define NONE 5
- int adc_key_in = 0;
- int read()
- {
- adc_key_in = analogRead(0);
- if (adc_key_in > 1000) return NONE;
- if (adc_key_in < 50) return RIGHT;
- if (adc_key_in < 250) return UP;
- if (adc_key_in < 450) return DOWN;
- if (adc_key_in < 650) return LEFT;
- if (adc_key_in < 850) return SELECT;
- return NONE; // when all others fail, return this...
- }
- LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // select the pins used on the LCD panel
- byte a[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B10000,
- B00000,
- B00000,
- B00000
- };
- byte aa[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B01000,
- B00000,
- B00000,
- B00000
- };
- byte aaa[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00100,
- B00000,
- B00000,
- B00000
- };
- byte aaaa[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00010,
- B00000,
- B00000,
- B00000
- };
- byte aaaaa[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00001,
- B00000,
- B00000,
- B00000
- };
- ////////////////////////////////////////////////
- byte b[] = {
- B10000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte bb[] = {
- B01000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte bbb[] = {
- B00100,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte bbbb[] = {
- B00010,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte bbbbb[] = {
- B00001,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- ////////////////////////////////////////////////
- byte c[] = {
- B00000,
- B10000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte cc[] = {
- B00000,
- B01000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte ccc[] = {
- B00000,
- B00100,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte cccc[] = {
- B00000,
- B00010,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte ccccc[] = {
- B00000,
- B00001,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- /////////////////////////////////////
- byte d[] = {
- B00000,
- B00000,
- B10000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte dd[] = {
- B00000,
- B00000,
- B01000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte ddd[] = {
- B00000,
- B00000,
- B00100,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte dddd[] = {
- B00000,
- B00000,
- B00010,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte ddddd[] = {
- B00000,
- B00000,
- B00001,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- //////////////////////////////////////////////////
- byte e[] = {
- B00000,
- B00000,
- B00000,
- B10000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte ee[] = {
- B00000,
- B00000,
- B00000,
- B01000,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte eee[] = {
- B00000,
- B00000,
- B00000,
- B00100,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte eeee[] = {
- B00000,
- B00000,
- B00000,
- B00010,
- B00000,
- B00000,
- B00000,
- B00000
- };
- byte eeeee[] = {
- B00000,
- B00000,
- B00000,
- B00001,
- B00000,
- B00000,
- B00000,
- B00000
- };
- ////////////////////////////////////
- byte f[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B10000,
- B00000,
- B00000
- };
- byte ff[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B01000,
- B00000,
- B00000
- };
- byte fff[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00100,
- B00000,
- B00000
- };
- byte ffff[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00010,
- B00000,
- B00000
- };
- byte fffff[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00001,
- B00000,
- B00000
- };
- /////////////////////////////////
- byte g[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B10000,
- B00000
- };
- byte gg[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B01000,
- B00000
- };
- byte ggg[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00100,
- B00000
- };
- byte gggg[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00010,
- B00000
- };
- byte ggggg[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00001,
- B00000
- };
- ///////////////////////////////////////////////
- byte h[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B10000
- };
- byte hh[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B01000
- };
- byte hhh[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00100
- };
- byte hhhh[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00010
- };
- byte hhhhh[] = {
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00000,
- B00001
- };
- ///////////////////////////////////////
- void Aa(){
- lcd.createChar(1, a);
- lcd.createChar(2, aa);
- lcd.createChar(3, aaa);
- lcd.createChar(4, aaaa);
- lcd.createChar(5, aaaaa);
- }
- void Bb(){
- lcd.createChar(1, b);
- lcd.createChar(2, bb);
- lcd.createChar(3, bbb);
- lcd.createChar(4, bbbb);
- lcd.createChar(5, bbbbb);
- }
- void Cc(){
- lcd.createChar(1, c);
- lcd.createChar(2, cc);
- lcd.createChar(3, ccc);
- lcd.createChar(4, cccc);
- lcd.createChar(5, ccccc);
- }
- void Dd(){
- lcd.createChar(1,d);
- lcd.createChar(2,dd);
- lcd.createChar(3,ddd);
- lcd.createChar(4,dddd);
- lcd.createChar(5,ddddd);
- }
- void Ee(){
- lcd.createChar(1, e);
- lcd.createChar(2, ee);
- lcd.createChar(3, eee);
- lcd.createChar(4, eeee);
- lcd.createChar(5, eeeee);
- }
- void Ff(){
- lcd.createChar(1, f);
- lcd.createChar(2, ff);
- lcd.createChar(3, fff);
- lcd.createChar(4, ffff);
- lcd.createChar(5, fffff);
- }
- void Gg(){
- lcd.createChar(1, g);
- lcd.createChar(2, gg);
- lcd.createChar(3, ggg);
- lcd.createChar(4, gggg);
- lcd.createChar(5, ggggg);
- }
- void Hh(){
- lcd.createChar(1, h);
- lcd.createChar(2, hh);
- lcd.createChar(3, hhh);
- lcd.createChar(4, hhhh);
- lcd.createChar(5, hhhhh);
- }
- int position1 = 1;
- int position2 = 0;
- int height2 = 1;
- int height1 = 0;
- void setup() {
- lcd.begin(16, 2); // start the library
- Serial.begin(9600);
- Aa();
- for(int i = 1; i <= 5; i++){
- lcd.setCursor(i,0);
- lcd.write(i);
- }
- //lcd.setCursor(0,1);
- //lcd.print("text still here");
- }
- void loop() {
- int input = NONE;
- input = read();
- if(input == RIGHT){ position1 ++; }
- if(input == LEFT){ position1 --; }
- if(input == UP){ height1 --; }
- if(input == DOWN){ height1 ++;}
- if(position1 > 5){
- position1 = 1;
- position2 ++;
- }
- if(position1 < 1){
- position1 = 5;
- position2 --;
- }
- if(height1 > 8){
- height1 = 1;
- height2 ++;
- }
- if(height1 < 1){
- height1 = 8;
- height2 --;
- }
- if(position2 > 15){ position2 = 0; }
- if(position2 < 0){ position2 = 15; }
- if(height2 > 1){ height2 = 0; }
- if(height2 < 0){ height2 = 1; }
- switch(height1){
- case 1:
- Bb();
- break;
- case 2:
- Cc();
- break;
- case 3:
- Dd();
- break;
- case 4:
- Ee();
- break;
- case 5:
- Aa();
- break;
- case 6:
- Ff();
- break;
- case 7:
- Gg();
- break;
- case 8:
- Hh();
- break;
- }
- if(input != NONE){
- lcd.setCursor(0,0);
- lcd.print(" "); //clear only one row
- lcd.setCursor(0,1);
- lcd.print(" "); //clear only one row
- lcd.setCursor(position2, height2);
- lcd.write(position1);
- delay(100);
- }
- else{
- delay(10);
- }
- }
Add Comment
Please, Sign In to add comment