Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <EEPROM.h>
- #include <LiquidCrystal.h>
- LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
- int r;
- int points;
- void setup() {
- pinMode(0, INPUT_PULLUP);
- pinMode(1, INPUT_PULLUP);
- pinMode(6, INPUT_PULLUP);
- pinMode(7, INPUT_PULLUP);
- pinMode(8, INPUT_PULLUP);
- pinMode(A5, OUTPUT);
- pinMode(A4, OUTPUT);
- pinMode(A3, OUTPUT);
- pinMode(A2, OUTPUT);
- lcd.begin(16, 2);
- lcd.print("Welcome!");
- delay(2000);
- lcd.setCursor(0, 0);
- lcd.clear();
- byte high = EEPROM.read(0);
- byte low = EEPROM.read(1);
- points = (high << 8) + low;
- lcd.print("WATCH!");
- delay(900);
- lcd.clear();
- }
- void loop() {
- delay(2000);
- lcd.setCursor(0, 0);
- lcd.clear();
- r = random(1, 4);
- switch (r) {
- case 1:
- lcd.clear();
- lcd.setCursor(2, 0);
- lcd.print("@");
- analogWrite(A5, 130);
- counting(0);
- lcd.clear();
- analogWrite(A5, 0);
- break;
- case 2:
- lcd.clear();
- lcd.setCursor(6, 0);
- lcd.print("#");
- analogWrite(A4, 130);
- counting(1);
- lcd.clear();
- analogWrite(A4, 0);
- break;
- case 3:
- lcd.clear();
- lcd.setCursor(10, 0);
- lcd.print("%");
- analogWrite(A3, 130);
- counting(6);
- lcd.clear();
- analogWrite(A3, 0);
- break;
- case 4:
- lcd.clear();
- lcd.setCursor(14, 0);
- lcd.print("&");
- analogWrite(A2, 130);
- counting(7);
- lcd.clear();
- analogWrite(A2, 0);
- break;
- }
- lcd.setCursor(0, 1);
- lcd.print(points);
- EEPROM.write(0, highByte(points));
- EEPROM.write(1, lowByte(points));
- if (digitalRead(8) == LOW) {
- for (int i = 0; i <= 50; i++) {
- EEPROM.write(i, 0);
- }
- }
- }
- void counting(int pin) {
- delay(500);
- if (digitalRead(pin) == LOW) {
- points++;
- delay(100);
- }
- else
- {
- points--;
- delay(100);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment