Gestion d’un bouton poussoir – Arduino

Nous allons utiliser un bouton poussoir afin de faire varier la tension en entrée d’une interface.

Lorsqu’une broche numérique d’Entrée/Sortie de l’Arduino n’est connectée à rien la tension en entrée est instable… on pourra ainsi lire des valeurs de tensions différentes sur cette broche. Le problème, c’est que cette broche n’a pas de connexion matérielle au +5V ou à la masse, et elle oscillera de façon aléatoire entre le niveau HAUT et le niveau BAS.

C’est pour cette raison qu’il faut mettre une résistance de « PULL-UP » dans le montage du bouton poussoir sur la broche numérique en entrée.

La carte Arduino propose par défaut un mode qui permet d’activer une résistance de 20 KΩ qui est dans la carte pour en faire une résistance pull-up. Il faut ainsi lui indiquer lors de la configuration de la broche que l’entrée est en INPUT_PULLUP :

pinMode(2,INPUT_PULLUP)

Cette résistance de pull-up maintiendra la broche au niveau HAUT si le bouton poussoir est ouvert. La broche sera lue au niveau BAS lorsque le BP sera appuyé.

Pour ce code, si le bouton poussoir est pressé, on indique le texte « Bouton 1 – ON » sur la liaison série.

Code :

int bp1 = 2;

void setup()
{
  // Bouton poussoir 1
  pinMode(bp1, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop()
{
  // Récuperer valeur de bp1
  int b1 = digitalRead(bp1);


  Serial.print("Bouton 1 : "); Serial.println(b1);

  // Si Appuie BP1
  if (b1 == LOW) {
    Serial.println("Bouton 1 - ON");
    delay(100);
  }

}
Bouton poussoir - Arduino

Piloter un servomoteur – Arduino

Un servomoteur (souvent abrégé en « servo ») est un moteur capable de maintenir une  position, qui est vérifiée en continu et corrigée en fonction de la mesure. C’est donc un système asservi.

Les servomoteurs sont commandés par l’intermédiaire de trois fils qui permettent d’alimenter le moteur et de lui transmettre des consignes de position sous forme PWM.

 

Généralement, le fil brun est la masse (GND), le fil rouge est l’alimentation (+5V) et le fil jaune est le fil de commande.

La durée des impulsions détermine l’angle absolu de l’axe de sortie et donc la position du bras de commande du servomoteur. Le signal est répété périodiquement, en général toutes les 20 millisecondes, ce qui permet à l’électronique de contrôler et de corriger continuellement la position angulaire de l’axe de sortie, cette dernière étant mesurée par le potentiomètre.

 

 

Il est conseillé de ne pas utiliser la sortie 5V de l’Arduino, mais une alimentation externe.

(suite…)

Utiliser un module Bluetooth HC-05 — Arduino Uno

Le Bluetooth est un standard de communication qui permet l’échange de données bidirectionnel à très courte distance et qui utilise des ondes radio UHF.

Nous utiliserons un module HC-05.

Nous utiliserons également un modèle d’Arduino Uno.

Tous les modules Bluetooth HC-05 possèdent la même configuration. Le nom du module est « HC 05 » et le code d’appareillage est « 1234 ».

Afin de sécuriser ce module, nous allons effectuer la modification du nom et du code. Nous allons utiliser des commandes AT (ATtention) afin d’effectuer la configuration.

(suite…)