Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include <EEPROM.h>
  2. const int analogSensor = 0;
  3. const int ledCount = 10;
  4. const int ledSave = 0;
  5. const int pushButtonSave = 12;
  6. const int pushButtonRead = 13;
  7.  
  8. int ledPins[] = {2,3,4,5,6,7,8,9,10,11};
  9. int buttonSave = 0;
  10. int buttonRead = 0;
  11. int buttonCount = 0;
  12.  
  13. void setup() {
  14.   //Serial.begin(9600);
  15.   pinMode(ledSave, OUTPUT);
  16.   pinMode(pushButtonSave, INPUT);
  17.   pinMode(pushButtonRead, INPUT);
  18.   for (int thisLed = 0; thisLed < ledCount; thisLed++) {
  19.     pinMode(ledPins[thisLed], OUTPUT);
  20.   }
  21. }
  22.  
  23. void guardar(int value) {
  24.   int temp1 = EEPROM.read(0);
  25.   int temp2 = EEPROM.read(1);
  26.   EEPROM.write(0, value);
  27.   EEPROM.write(1, temp1);
  28.   EEPROM.write(2, temp2);
  29.   //Serial.println("guardado");
  30.   delay(2000);
  31. }
  32.  
  33. void mostrar() {
  34.   while (true) {
  35.     buttonRead = digitalRead(pushButtonRead);
  36.     if (buttonRead == HIGH) {
  37.       if (buttonCount < 3) {
  38.         int dataReaded = EEPROM.read(buttonCount);
  39.         //Serial.print(buttonCount);
  40.         //Serial.print("\t");
  41.         //Serial.println(dataReaded);
  42.  
  43.         for (int ledHigh = 0; ledHigh < ledCount; ledHigh++) {
  44.           if (ledHigh < dataReaded) {
  45.             digitalWrite(ledPins[ledHigh], HIGH);
  46.           } else {
  47.             digitalWrite(ledPins[ledHigh], LOW);
  48.           }
  49.         }
  50.  
  51.         buttonCount++;
  52.         delay(500);
  53.       } else {
  54.         break;
  55.       }
  56.     }
  57.   }
  58.   buttonCount = 0;
  59.   delay(500);
  60. }
  61.  
  62. void loop() {
  63.   int dataLevel = map(analogRead(analogSensor), 700, 900, 0, ledCount);
  64.   if (dataLevel < 0) {
  65.     dataLevel = 0;
  66.   }
  67.   if (dataLevel > 10) {
  68.     dataLevel = 10;
  69.   }
  70.   //Serial.println(dataLevel);
  71.  
  72.   for (int ledHigh = 0; ledHigh < ledCount; ledHigh++) {
  73.     if (ledHigh < dataLevel) {
  74.       digitalWrite(ledPins[ledHigh], HIGH);
  75.     } else {
  76.       digitalWrite(ledPins[ledHigh], LOW);
  77.     }
  78.   }
  79.  
  80.   buttonSave = digitalRead(pushButtonSave);
  81.   if (buttonSave == HIGH) {
  82.     digitalWrite(ledSave, HIGH);
  83.     guardar(dataLevel);
  84.   } else {
  85.     digitalWrite(ledSave, LOW);
  86.   }
  87.  
  88.   buttonRead = digitalRead(pushButtonRead);
  89.   if (buttonRead == HIGH) {
  90.     mostrar();
  91.   }
  92. }