RadoshS

Arduino_zajęcia_6_zadanie_1&2 #GAME

Feb 28th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.87 KB | None | 0 0
  1. #include <EEPROM.h>
  2. #include <LiquidCrystal.h>
  3. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  4. int r;
  5. int points;
  6.  
  7. void setup() {
  8.   pinMode(0, INPUT_PULLUP);
  9.   pinMode(1, INPUT_PULLUP);
  10.   pinMode(6, INPUT_PULLUP);
  11.   pinMode(7, INPUT_PULLUP);
  12.   pinMode(8, INPUT_PULLUP);
  13.   pinMode(A5, OUTPUT);
  14.   pinMode(A4, OUTPUT);
  15.   pinMode(A3, OUTPUT);
  16.   pinMode(A2, OUTPUT);
  17.  
  18.   lcd.begin(16, 2);
  19.   lcd.print("Welcome!");
  20.   delay(2000);
  21.   lcd.setCursor(0, 0);
  22.   lcd.clear();
  23.  
  24.   byte high = EEPROM.read(0);
  25.   byte low = EEPROM.read(1);
  26.   points = (high << 8) + low;
  27.   lcd.print("WATCH!");
  28.   delay(900);
  29.   lcd.clear();
  30. }
  31. void loop() {
  32.   delay(2000);
  33.   lcd.setCursor(0, 0);
  34.   lcd.clear();
  35.   r = random(1, 4);
  36.   switch (r) {
  37.     case 1:
  38.       lcd.clear();
  39.       lcd.setCursor(2, 0);
  40.       lcd.print("@");
  41.       analogWrite(A5, 130);
  42.       counting(0);
  43.       lcd.clear();
  44.       analogWrite(A5, 0);
  45.       break;
  46.     case 2:
  47.       lcd.clear();
  48.       lcd.setCursor(6, 0);
  49.       lcd.print("#");
  50.       analogWrite(A4, 130);
  51.       counting(1);
  52.       lcd.clear();
  53.       analogWrite(A4, 0);
  54.       break;
  55.     case 3:
  56.       lcd.clear();
  57.       lcd.setCursor(10, 0);
  58.       lcd.print("%");
  59.       analogWrite(A3, 130);
  60.       counting(6);
  61.       lcd.clear();
  62.       analogWrite(A3, 0);
  63.       break;
  64.     case 4:
  65.       lcd.clear();
  66.       lcd.setCursor(14, 0);
  67.       lcd.print("&");
  68.       analogWrite(A2, 130);
  69.       counting(7);
  70.       lcd.clear();
  71.       analogWrite(A2, 0);
  72.       break;
  73.   }
  74.   lcd.setCursor(0, 1);
  75.   lcd.print(points);
  76.   EEPROM.write(0, highByte(points));
  77.   EEPROM.write(1, lowByte(points));
  78.  
  79.   if (digitalRead(8) == LOW) {
  80.     for (int i = 0; i <= 50; i++) {
  81.       EEPROM.write(i, 0);
  82.     }
  83.   }
  84. }
  85.  
  86. void counting(int pin) {
  87.   delay(500);
  88.   if (digitalRead(pin) == LOW) {
  89.     points++;
  90.     delay(100);
  91.   }
  92.   else
  93.   {
  94.     points--;
  95.     delay(100);
  96.   }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment