[Tuto] Utiliser un bargraph avec un Arduino Uno

Posté sur: nov. 18, 2013

Catégories: Arduino

Tags: arduino , bargraphe , capteur , led , tuto , uno

Utiliser un bargraph

Le but de ce montage est de découvrir comment utiliser le bargraph. Le bargraph est un ensemble de LED très utile pour visualiser des informations sous forme d'échelle (puissance sonore, niveau d'eau...). Dans cet exemple, nous allons utiliser un capteur de type photo resistance mais vous pouvez utiliser n'importe quel capteur analogique pour le remplacer.

Composants nécessaires :

Un Arduino

Un câble USB

Un bargraph

Un capteur

Une Breadboard

Des fils de connexions

 
composants

Le montage consiste à relier le bargraph à 10 sorties numériques du Arduino et le capteur sur une entrée analogique comme sur le schéma ci-dessous :Principe du montage :

Bargraphe_schéma

Montage

Programmation du montage:

Le programme va lire le capteur et transposer sa valeur en allumant un nombre de LED proportionnel à sa valeur. On pourra aussi avoir la valeur lue par l'interface série.

#define SENS_PIN 0 // Pin utilisée pour le capteur  #define LED_COUNT 10 // Nombre de LEDs utiliséesnndouble sens;// Variable comprenant la valeur du capteurndouble V_IN =5.0;// Variable de la tension d'alimentation  double R1 =10000;// Valeur de la resistance en parallele  int ledPins[]={0,1,2,3,4,5,6,7,8,9};// Tableau comprenant les références des pins utiliséesn  void setup(){  Serial.begin(9600);  for(int thisLed =0; thisLed < LED_COUNT; thisLed++){  pinMode(ledPins[thisLed], OUTPUT);// Boucle pour définir les pin utilisees comme sorties  }  }  void loop(){sens = analogRead(SENS_PIN);// Lecture de la valeur du capteur  Serial.print("Valeur mesuree = ");  Serial.print(sens);// Affichage de la valeur mesurée de 0 à 1024  Serial.print("n");  int ledLevel = map(sens,0,1023,0, LED_COUNT);// Creation d'une valeur en 0 et LED_COUNT fonction de la mesure  for(int thisLed =0; thisLed < LED_COUNT; thisLed++){  // Si la valeur est inferieur a LED_COUNT on allume la LED  if(thisLed < ledLevel){  digitalWrite(ledPins[thisLed], HIGH);  }  // turn off all pins higher than the ledLevel:  else{  digitalWrite(ledPins[thisLed], LOW);  }  }  // Pause de 1 seconde  delay(1000);  }

Il reste à brancher le Arduino pour compiler le programme et le téléverser.

Une fois terminé cela nous donne :

ON 1

ON 2

Pour aller plus loin : Il sera ensuite possible d'optimiser l'échelle, de mettre en parallèle plusieurs bargraph...

Commentaires

  • Laurent
    janv. 25, 2016
  • admin
    janv. 25, 2016
  • Laurent
    janv. 25, 2016
  • admin
    janv. 25, 2016
  • Laurent
    janv. 25, 2016
  • admin
    janv. 25, 2016
  • Laurent
    janv. 25, 2016
  • admin
    janv. 25, 2016
  • Laurent
    janv. 25, 2016
  • admin
    janv. 25, 2016
  • Laurent
    janv. 25, 2016

laissez un commentaire

Se connecter