that_one_nigga_you_k

poop

Oct 18th, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.88 KB | None | 0 0
  1. #include <LCDKeypad.h>
  2. #include <LiquidCrystal.h>
  3.  
  4. LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
  5. int adc_key_val[5] ={50, 200, 400, 600, 800};
  6. int NUM_KEYS = 5;
  7. int adc_key_in;
  8. int key=-1;
  9. int oldkey=-1;
  10.  
  11. byte armsDown[8] = {
  12.   0b00100,
  13.   0b01010,
  14.   0b00100,
  15.   0b00100,
  16.   0b01110,
  17.   0b10101,
  18.   0b00100,
  19.   0b01010
  20. };
  21.  
  22. byte uppercut1[8] = {
  23.   0b00100,
  24.   0b01010,
  25.   0b00100,
  26.   0b00100,
  27.   0b01111,
  28.   0b10100,
  29.   0b00100,
  30.   0b01010
  31. };
  32.  
  33. byte uppercut2[8] = {
  34.   0b00100,
  35.   0b01010,
  36.   0b00100,
  37.   0b00101,
  38.   0b01110,
  39.   0b10100,
  40.   0b00100,
  41.   0b01010
  42. };
  43.  
  44. byte bighead[8] = {
  45.   0b01110,
  46.   0b01010,
  47.   0b01110,
  48.   0b00100,
  49.   0b01110,
  50.   0b10101,
  51.   0b00100,
  52.   0b01010
  53. };
  54.  
  55. byte biggerhead[8] = {
  56.   0b11111,
  57.   0b10001,
  58.   0b11111,
  59.   0b00100,
  60.   0b01110,
  61.   0b10101,
  62.   0b00100,
  63.   0b01010
  64. };
  65.  
  66. byte exp1[8] = {
  67.   0b00000,
  68.   0b10001,
  69.   0b11111,
  70.   0b00100,
  71.   0b01110,
  72.   0b10101,
  73.   0b00100,
  74.   0b01010
  75. };
  76.  
  77. byte exp2[8] = {
  78.   0b00000,
  79.   0b00000,
  80.   0b11111,
  81.   0b00100,
  82.   0b01110,
  83.   0b10101,
  84.   0b00100,
  85.   0b01010
  86. };
  87.  
  88. byte exp3[8] = {
  89.   0b00000,
  90.   0b00000,
  91.   0b01110,
  92.   0b00100,
  93.   0b01110,
  94.   0b10101,
  95.   0b00100,
  96.   0b01010
  97. };
  98.  
  99. byte exp4[8] = {
  100.   0b00000,
  101.   0b00000,
  102.   0b00100,
  103.   0b00100,
  104.   0b01110,
  105.   0b10101,
  106.   0b00100,
  107.   0b01010
  108. };
  109.  
  110. void setup() {
  111.   lcd.begin(16, 2);
  112.  
  113.   lcd.createChar(0, uppercut1);
  114.   lcd.createChar(1, uppercut2);
  115.   // create a new character
  116.   lcd.createChar(2, armsDown);
  117.   // create a new character
  118.   lcd.createChar(3, bighead);
  119.   // create a new character
  120.   lcd.createChar(4, biggerhead);
  121.   lcd.createChar(5, exp1);
  122.   lcd.createChar(6, exp2);
  123.   lcd.createChar(7, exp3);
  124.   lcd.setCursor(1, 0);
  125.   lcd.print("ULTIMATE POOP");
  126. }
  127.  
  128. void loop() {
  129.   adc_key_in = analogRead(0);    // read the value from the sensor
  130.   key = get_key(adc_key_in);    // convert into key press
  131.   if(key != oldkey){
  132.      upperCut();  
  133.   }
  134. }
  135.  
  136. int get_key(unsigned int input)
  137. {
  138.     int k;
  139.     for (k = 0; k < NUM_KEYS; k++)
  140.     {
  141.       if (input < adc_key_val[k])
  142.       {
  143.         return k;
  144.       }
  145.     }  
  146.     if (k >= NUM_KEYS)k = -1;  // No valid key pressed
  147.     return k;
  148. }
  149.  
  150. void upperCut(){
  151.     lcd.setCursor(5, 1);
  152.   lcd.write(2);
  153.   lcd.setCursor(4, 1);
  154.   lcd.write(2);
  155.   delay(400);
  156.   lcd.setCursor(4, 1);
  157.   lcd.write(byte(0));
  158.   delay(200);
  159.   lcd.setCursor(4, 1);
  160.   lcd.write(1);
  161.   delay(100);
  162.   lcd.setCursor(5 ,1);
  163.   lcd.write(3);
  164.   delay(70);
  165.   lcd.setCursor(5 ,1);
  166.   lcd.write(4);
  167.   delay(70);
  168.   lcd.setCursor(5 ,1);
  169.   lcd.write(5);
  170.   delay(70);
  171.   lcd.setCursor(5 ,1);
  172.   lcd.write(6);
  173.   delay(70);
  174.   lcd.setCursor(5 ,1);
  175.   lcd.write(7);
  176.   delay(70);
  177.   lcd.createChar(7, exp4);
  178.  
  179.   for(int i = 5; i < 16; i++){
  180.     if(i > 5){
  181.       lcd.setCursor((i-1), 1);
  182.       lcd.write(" ");  
  183.     }
  184.     lcd.setCursor(i, 1);
  185.     lcd.write(7);
  186.     delay(250);
  187.   }
  188.   lcd.setCursor(15, 1);
  189.   lcd.write(" ");
  190. }
Add Comment
Please, Sign In to add comment