Multiples Inter sur 1 Analog

Schema 2014-10-11 23.28.09

 

Le principe est de relier la broche A0 au 5V en intercalant une résistance de 2KOhms on obtient alors une valeur de 5V (soit un chiffre de 1022 à 1023). Chaque switch construit un lien entre la masse et A0 via une résistance dont la valeur peut être comprise entre 0 et xxOhms. J’ai utilisé les résistances que j’avais à ma disposition et j’ai testé les valeurs produites avec le sketch ci-dessous.

Le code est ici

 /***********************  
  Lecture de l'état de plusierurs switch à partir d'une broche analogique  
  5v->2KOhms->A0 : donne 5v soit 1022 à 1023  
  Relier GND->Rx sur A0 (sur la patte de la R allant à A0)  
  Rx= 0  : 0 (GND relié directement)  
 ***********************/  
 //#define TEST_ON //-- Comment ou Uncomment pour afficher valeurs  
 int sensorValue;  
 int oldkey=0, key=0;  
 void setup() {  
  Serial.begin(9600);  
 }  
 void loop() {  
  //-- lecture analog pin 0:  
  sensorValue = analogRead(A0);  
  if (sensorValue<1022)  
    key=buttonPushed(sensorValue);  
  else  
    oldkey=0;   
 }  
 int buttonPushed(int val) {  
  delay(50); //--short tempo  
  if( val == 0 ) {      
    if (oldkey!=key)  
      {Serial.println("switch 1 pressed");   
       oldkey=1;}  
    return 1;  
   }  
  else if ( val >= 90 and val <= 91) { // 220k  
    if (oldkey!=key)  
      {Serial.println("switch 2 pressed");   
       oldkey=2;}  
    return 2;  
   }  
  else if ( val >= 179 and val <= 180) { // 470k  
    if (oldkey!=key)  
      {Serial.println("switch 3 pressed");   
       oldkey=3;}  
    return 3;  
   }  
  else if ( val >= 317 and val <= 318 ) { // 1kOhms  
    if (oldkey!=key)  
      {Serial.println("switch 4 pressed");   
       oldkey=4;}  
    return 4;  
   }  
   else if ( val >= 1001 and val <= 1002) { // 100kOhms  
    if (oldkey!=key)  
      {Serial.println("switch 5 pressed");   
       oldkey=5;}  
    return 5;  
   }  
   else { //--Pour toute autre valeur de résistance  
    #ifdef TEST_ON  
     Serial.println(val);  
    #endif  
    return 0;  
   }  
 }  

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

Articles récents
Commentaires récents
fatima dans Bienvenue !
AdminDroid dans Bienvenue !
fatima dans Bienvenue !
Archives
Catégories
%d blogueurs aiment cette page :