Modifications

Sauter à la navigation Sauter à la recherche
600 octets ajoutés ,  20 décembre 2015 à 15:42
Ligne 207 : Ligne 207 :  
Plutôt que de contrôler la luminosité d'une LED en réponse à la lumière, essayons plutôt de l'allumer ou l'éteindre en fonction d'un seuil.
 
Plutôt que de contrôler la luminosité d'une LED en réponse à la lumière, essayons plutôt de l'allumer ou l'éteindre en fonction d'un seuil.
   −
Changer le code de {{fname|loop()}} avec....
+
Voici une nouvelle version du programme basé sur le seuil stratégiquement choisi à 1500 (entre les valeur 680 et 2750
 +
<nowiki># Lecture analogique d'une LDR pour allunmer une LED sur base d'un seuil.
 +
# ATTENTION: échantillonnage 12 Bits (valeur de 0 à 4096)
 +
from pyb import Timer, delay
   −
  <nowiki>void loop(){
+
adc = pyb.ADC(pyb.Pin.board.X19)    # Créer ADC sur la broche X19
  int threshold = 300; // valeur du seuil
+
led = pyb.Pin(pyb.Pin.board.X1, pyb.Pin.OUT_PP ) # Créer la sortie pour la LED
   if(analogRead(lightPin) > threshold)
+
led.low()                           # Led éteinte
  {
+
seuil = 1500                        # seuil à partir duquel la LED
      digitalWrite(ledPin, HIGH);
+
                                    #   doit s'allumer
  }
+
 
  else{
+
while True:
      digitalWrite(ledPin, LOW);
+
# Lectures analogiques
  }
+
    ivalue = adc.read()
}</nowiki>
+
       
 +
    # Activer la sortie si le seuil est atteinte ou dépassé
 +
    if ivalue < seuil:
 +
        led.high()
 +
    else:
 +
        led.low()
 +
   
 +
    delay( 100 )
 +
</nowiki>
    
=== Un servo contrôlé par la lumière ===
 
=== Un servo contrôlé par la lumière ===
29 836

modifications

Menu de navigation