2014-05-20 5 views
-1

Je prends l'entrée analogique du capteur de force et je peux les voir en temps réel sur le moniteur série. Le code simple je l'ai écrit pour cela estEntrée analogique ARDUINO & LED

int SensorIn1 = 1; 

void setup() { 

Serial.begin (9600); 

} 

void loop() { 

Serial.println(analogRead(SensorIn1)); 
delay (100); 
} 

Maintenant je dois allumé une LED lorsque les valeurs d'entrée restent> 1000 pendant plus de 5 secondes jusqu'à ce qu'il passe en dessous de 1000 à nouveau. quelqu'un peut-il m'aider avec un exemple de code pour effectuer cela ?? # J'utilise ARDUINO UNO.

Répondre

2

Avez-vous essayé de répondre à cette question par vous-même? Il serait utile si vous suggérez ce que vous avez déjà essayé, il sera plus facile de vous aider :)

suggestion non testé complètement ci-dessous, devrait vous donner quelque chose à aller ..

int SensorIn1 = 1; 
int led_pin = 13; 
long gone_high_time = 0; // set to zero if input is not high 
         // set to time input went high if input is high 

void setup() { 
    Serial.begin (9600); 
} 

void loop() { 
    int val; 
    val = analogRead(SensorIn1); 
    Serial.println(val); 
    if (val > 1000) { 
     if (gone_high_time == 0) { 
      gone_high_time = millis(); 
     } else if (millis() - gone_high_time > 5000) { 
      digitalWrite(led_pin, HIGH); 
     } 
    } else { 
     gone_high_time = 0; 
     digitalWrite(led_pin, LOW); 
    } 
    delay (100); 
} 
Questions connexes