- Dimma upp/ner , klart
- Stanna på senaste värdet man dimmat till, klart
- Dimma ner till helt avstängt, klart
- Ligga kvar i avstängt läge, klart
- Från avstängt läge dimma upp till senaste värdet man dimmat till, den jobbar vi på.
Är jag på någorlunda rätt väg?
Lade till OFF_TO_PAUSE
enum dimmerStates {
OFF,
DIMMING,
PAUSE,
OFF_TO_PAUSE
};
I loopen har vi.
Kod: Markera allt
if(dimmerState == OFF){  //Turn it off with fade down effect
           
        if(ledValue > 0){
          ledValue--;
          analogWrite(ledPin, ledValue);
        }
      }
      if(dimmerState == PAUSE){  // Pause dimming, and hold value, can be empty for now..
        }
      if(dimmerState == DIMMING){
      ledValue = ledValue + dimChange ;
        if ( (ledValue > 255) || (ledValue < 0) ) {
          dimChange = -dimChange; ; // byt håll
          ledValue = ledValue + dimChange;  // backa tillbaka ett snäpp...
        }
      analogWrite(ledPin, ledValue);
     
      }
      if(dimmerState == OFF_TO_PAUSE){
        digitalWrite(9,HIGH);
        delay(400);                            //Debugging only, remove later
        digitalWrite(9,LOW);
        delay(400);                         //Debugging only remove later
      }
      delay(5);
    }Och i void processCode(NewRemoteCode receivedCode)
Kod: Markera allt
if (receivedCode.switchType == 1) { // We are turning on
            if( (dimmerState == PAUSE) || (dimmerState == OFF) ) {
              dimmerState = DIMMING;      
            } else {
              dimmerState = PAUSE;
            }
           
         if ( (dimmerState == DIMMING) || (dimmerState == OFF) ) {          // Är jag någorlunda på rätt väg?
              dimmerState = OFF_TO_PAUSE;      
            } else{
              
            }
             digitalWrite(13, HIGH);
          } 
          else if (receivedCode.switchType == 0) {
            dimmerState = OFF;
            digitalWrite(13, LOW);
          }Edit ändrade till C++
				