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
  2 Befehle gleichzeitig, Millis()-Befehl rakadami 24 663 13.05.2017 20:47
Letzter Beitrag: MicroBahner
  Brauche Hilfe für meine Abfüllanlage/ millis() Slash96 8 316 10.05.2017 21:04
Letzter Beitrag: MicroBahner
  Brauche Zeitverzögerung delay/millis/timer? Spiecky 17 642 15.04.2017 09:41
Letzter Beitrag: hotsystems
  Arbeiten mit millis Franz54 5 305 07.03.2017 20:43
Letzter Beitrag: Tommy56
  Problem mit Delay und Millis funnyzocker 1 760 26.06.2016 09:54
Letzter Beitrag: hotsystems
  Mehrere Abläufe gleichteitig mit "Millis" MarkusSpielt 3 1.075 11.04.2016 18:23
Letzter Beitrag: MarkusSpielt
  Leds blinken lassen mit if-Abfrage und millis ferdi 11 2.099 24.10.2015 08:54
Letzter Beitrag: Bitklopfer
  Multitasking mit millis statt delay LEDstar 2 1.571 15.04.2015 11:25
Letzter Beitrag: Bitklopfer
  Problem mit millis() bei Programmablauf pahe87 7 1.467 24.03.2015 12:24
Letzter Beitrag: Thorsten Pferdekämper
  Delay ersetzen durch millis oder Interrupt HTO 6 5.671 28.11.2014 11:02
Letzter Beitrag: Thorsten Pferdekämper

Gehe zu:


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