daily pastebin goal
14%
SHARE
TWEET

Untitled

a guest Jan 21st, 2019 66 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <EEPROM.h>     // Bibliothek für EEPROM einbinden
  2.  
  3. //===================================================================================
  4. // Konstanten
  5. //-----------------------------------------------------------------------------------
  6. // Festlegung der Anschlüsse
  7. const int TasterPin=2;  // Eingang für Taster (LOW bei Betätigung)
  8.  
  9. const int RelaisPin=10; // Ausgang für Relais
  10. const int Led1Pin=11;   // Ausgang für Led 1
  11. const int Led2Pin=12;   // Ausgang für Led 2
  12.  
  13. // Eeprom-Speicheradressen
  14. const int VerstaerkerEepromAdr=0;  // EEPROM-Speicheradresse
  15.                                    // für letzte Einstellung
  16.  
  17. //===================================================================================
  18. // Variablen
  19. //-----------------------------------------------------------------------------------
  20. boolean TasterVorher;  // speichert den vorherigen Zustand des Tasters
  21. boolean TasterAktuell; // speichert den aktuellen Zustand des Tasters
  22.  
  23. int Verstaerker;       // speichert den ausgewählten Verstärker, 1 oder 2
  24.  
  25. //===================================================================================
  26. // Initialisierung
  27. //-----------------------------------------------------------------------------------
  28. void setup() {
  29.   pinMode(TasterPin,INPUT);  // Anschlüsse einstellen
  30.   pinMode(RelaisPin,OUTPUT); // dito
  31.   pinMode(Led1Pin,OUTPUT);   // dito
  32.   pinMode(Led2Pin,OUTPUT);   // dito
  33.  
  34.   Verstaerker=EEPROM.read(VerstaerkerEepromAdr);      // letzte Einstellung holen
  35.   if (Verstaerker<1 || Verstaerker>2) Verstaerker=1;  // eventuell gültig machen
  36.   schalteRelaisUndLeds();              // Relais und Leds entsprechend einstellen
  37.  
  38.   TasterVorher=digitalRead(TasterPin);  // Taster einlesen
  39. }
  40.  
  41. //===================================================================================
  42. // Programmschleife
  43. //-----------------------------------------------------------------------------------
  44. void loop() {
  45.   TasterAktuell=digitalRead(TasterPin);   // aktuellen Zustand des Tasters einlesen
  46.  
  47.   if (TasterAktuell==LOW && TasterVorher==HIGH) {  // wurde Taster gerade betätigt?
  48.     if (Verstaerker==1) Verstaerker=2; else Verstaerker=1; // Verstärker umschalten
  49.     EEPROM.update(VerstaerkerEepromAdr,Verstaerker);       // Einstellung speichern
  50.     schalteRelaisUndLeds();                // Relais und Leds entsprechend schalten
  51.   }
  52.  
  53.   TasterVorher=TasterAktuell;         // Tastenzustand für nächsten Durchlauf merken
  54.   delay(20);                                          // zum Entprellen etwas warten
  55. }
  56.  
  57. //===================================================================================
  58. // Unterprogramm
  59. //-----------------------------------------------------------------------------------
  60. void schalteRelaisUndLeds() {
  61.   if (Verstaerker==1) {
  62.     digitalWrite(RelaisPin,LOW);  // Relais ausschalten
  63.     digitalWrite(Led1Pin,HIGH);   // Led 1 einschalten
  64.     digitalWrite(Led2Pin,LOW);    // Led 2 ausschalten
  65.   } else {
  66.     digitalWrite(RelaisPin,HIGH); // Relais einschalten
  67.     digitalWrite(Led1Pin,LOW);    // Led 1 ausschalten
  68.     digitalWrite(Led2Pin,HIGH);   // Led 2 einschalten
  69.   }
  70. }
  71.  
  72. //===================================================================================
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top