- LiFePO4 Speicher Test         
Ergebnis 1 bis 5 von 5

Thema: Mit Knopf LED einschalten und mit Timer ausschalten

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    Können in dem Programm 2 alle Delay Funktionen ebenfalls durch millis() ersetzt werden? Müsste ich dann mehrere Timer laufen lassen?!
    Versuch mal so:
    Code:
    #define TIMER_AUS  -1
    #define TIMER_AN    0
    #define LED_PIN     9
    #define TASTER_PIN  8
    #define TICTIME    30 // 30 ms
    #define TICCOUNTMAX 100
    
    void setup() {
      pinMode(LED_PIN, OUTPUT);
      pinMode(TASTER_PIN, INPUT);
    }
    
    void loop() {
     timer();
     // tue was anderes
    }
    
    void timer() {
      static unsigned long tic = millis();
      static int ticcount = TIMER_AUS;  
      if(millis() - tic > TICTIME && ticcount >= TIMER_AN) // 30 ms vergangen und Timer gestartet?
      {
        tic = millis();                // nächsten 30ms Zyklus starten
        ticcount++;
        if (ticcount > TICCOUNTMAX) {  // Timer fertig?
          ticcount = TIMER_AUS;
          digitalWrite(LED_PIN, HIGH);
        }
        else
          blinkfunction(ticcount);    // Timer läuft noch -> blinkfunction() 
      }
      if(digitalRead(TASTER_PIN))     // Taste betätigt? Timer startet (neu)
        ticcount = TIMER_AN;
    }
    
    void blinkfunction(int ticcount)  // in 30 ms Zeitabständen aufgerufen
    {                                 // ticcount wird jeden Aufruf um 1 erhöht
      digitalWrite(LED_PIN, LOW);  
    }
    Die Funktion blinkfunction(int ticcount) kannst du jetzt so umbauen, wie du willst. Also in Abhängigkeit von ticcount die Led dimmen. Z.B.
    if(ticcount < 32) analogWrite(ticcount*8-1);...
    Geändert von Sisor (15.12.2014 um 21:17 Uhr)

Ähnliche Themen

  1. LED per PWM einschalten und dimmen PROBLEM
    Von mat-sche im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 14.02.2014, 16:35
  2. Lichtschranke/Sensor zum ein- und ausschalten von LED-Stipes
    Von Timoletto im Forum Sensoren / Sensorik
    Antworten: 11
    Letzter Beitrag: 15.12.2012, 19:50
  3. Lampen mit RN-controll an- und ausschalten
    Von cricri im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 18.01.2011, 09:22
  4. Led mit Taster ein- und ausschalten
    Von Nullinger im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 30.01.2009, 13:00
  5. PWM mit Timer 0 und 2 geht, aber nicht mit Timer 1 (mega64)
    Von popi im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 14.06.2006, 16:00

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests