INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Millis für count-down
13.10.2014, 15:57
Beitrag #1
Millis für count-down
Hallo Arduinos,
bin schon im Traum Scetches am zusammen basteln, so bin ich am rum probieren! Jetzt habe ich eine Aufgabenstellung, da komme ich irgendwie nicht so richtig weiter und weiss auch nicht, warum mein Ansatz nicht laufen will.
Die Problemstellung ist folgende: Mit einem Drehgeber wird ein Wertebereich von -20 bis + 20 festgelegt. Dieser Wertebereich wird auf 6 cases gemapt. Soweit so gut.
In den 6 cases sollen 6 unterschiedliche Zeiten auf Null zurück laufen, z.B. case 0: Signal für 10 sek an, case 1: Signal für 8 sek an u.s.w. und das Ganze ohne delay!
Bis jetzt habe ich folgenden Scetch:

PHP-Code:
if (nextAction == AUTO_MOVE)   
      
//Drehgebersignale werden auf einen zahlenbereich von -20 bis +20 für den master_count1 begrenzt
  
if (master_count1 < -20) {master_count1 = -20;}
  if (
master_count1 20) {master_count1 20;}
 
     
//Der Drehgeberbereich wird auf 6 cases  gemapt
  
int zeitwahl map (master_count1master_count1Minmaster_count1Max05);
  
  
digitalWrite (10LOW); 
  
  
  
unsigned long currentMillis millis(); 
    
//Je nach case soll die LED an Pin10 für eine bestimmte Zeit leuchten. case 0 = 10 sek, case 2 = 8 sek. usw.
    
switch (zeitwahl
    {
      case 
0:
      
      if (
currentMillis previousMillis >= 10000
      {
digitalWrite(10HIGH);}
      
previousMillis currentMillis;
      
Serial.print("case0:  ");
      
Serial.println(master_count1);
      
Serial.println(master_count);
      
delay(10);
   break;
     
     
   case 
1:
          if (
currentMillis previousMillis <= 8000
    {
digitalWrite(10HIGH);}
    
// save the current time as the last time you changed an LED 
    
previousMillis currentMillis;
       
Serial.print("case1:  ");
       
Serial.println(master_count1);
        
Serial.println(master_count);
        
delay(10);
   
break;   
   
   case 
2:
     
     if (
currentMillis previousMillis <=  6000
    {
digitalWrite(10HIGH);}
    
// save the current time as the last time you changed an LED 
    
previousMillis currentMillis;
      
Serial.print("case2:  ");
     
Serial.println(master_count1);
        
delay(10);
    
break;
      
   case 
3:
  
       if (
currentMillis previousMillis <= 4000
     {
digitalWrite(10HIGH);}
    
// save the current time as the last time you changed an LED 
    
previousMillis currentMillis;
      
Serial.print("case3:  ");
     
Serial.println(master_count1);
        
delay(10);
    
break;
   
   case 
4:
    
     if (
currentMillis previousMillis <=  2000)
     {
digitalWrite(10HIGH);}
    
// save the current time as the last time you changed an LED 
    
previousMillis currentMillis;
      
Serial.print("case4:  ");
     
Serial.println(master_count1);
        
delay(10);
break;
      
   case 
5:
  
      if (
currentMillis previousMillis <=  1000
     {
digitalWrite(10HIGH);}
    
// save the current time as the last time you changed an LED 
    
previousMillis currentMillis;
      
Serial.print("case5:  ");
     
Serial.println(master_count1);
        
delay(10);
    
break;
   
   
digitalWrite (10LOW);          
     default:  
  ;
    }
   }


Die Probleme sind:
- Die LED an PIN 10 leuchtet nicht wie gewollt
- Das Blinken der LED 6 im Menüpunkt ACTION-MENU1 geht nur bei Auswahl des Bereiche für case 0 und 1.

Bin für jeden Tipp und jede Hilfe dankbar!
VG
Nimes
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  blinken mit millis Gonmaus 13 790 08.09.2017 21:12
Letzter Beitrag: Bitklopfer
  Taster an Interrupt - Prellen geschickter vermeiden als millis() zu prüfen? Flap 19 2.209 04.08.2017 08:10
Letzter Beitrag: Binary1
  Ich komme mit millis nicht weiter !!! Gonmaus 8 833 09.07.2017 21:24
Letzter Beitrag: Tommy56
  2 Befehle gleichzeitig, Millis()-Befehl rakadami 24 1.963 13.05.2017 20:47
Letzter Beitrag: MicroBahner
  Brauche Hilfe für meine Abfüllanlage/ millis() Slash96 8 879 10.05.2017 21:04
Letzter Beitrag: MicroBahner
  Brauche Zeitverzögerung delay/millis/timer? Spiecky 17 1.388 15.04.2017 09:41
Letzter Beitrag: hotsystems
  Arbeiten mit millis Franz54 5 549 07.03.2017 20:43
Letzter Beitrag: Tommy56
  Problem mit Delay und Millis funnyzocker 1 1.022 26.06.2016 09:54
Letzter Beitrag: hotsystems
  Mehrere Abläufe gleichteitig mit "Millis" MarkusSpielt 3 1.524 11.04.2016 18:23
Letzter Beitrag: MarkusSpielt
  Leds blinken lassen mit if-Abfrage und millis ferdi 11 2.671 24.10.2015 08:54
Letzter Beitrag: Bitklopfer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste