Elektronique - Cours d'électronique

3 projets Arduino parfaitement adaptés aux néophytes

Carte Arduino

Arduino est un microcontrôleur monocarte qui est considéré comme la plate-forme intégrée la plus facile d'utilisation. Il s'agit d'une technologie matérielle libre (Open source) associée à un langage de programmation et à une plate-forme de développement intégrée (IDE). Pour la prise en charge de fonctions supplémentaires (Wi-Fi, Ethernet, XBEE, commande de moteur, etc.), différentes extensions connues sous le nom de kit Arduino peuvent être branchées sur les cartes Arduino. Cette technologie a été conçue dans le but de favoriser l'apprentissage dans le domaine de l'électronique. Cette plate-forme de prototypage à faible coût est largement utilisée pour la création d'objets et d'environnements interactifs. Depuis sa mise à disposition, les étudiants comme les professionnels ont mis sur pied des projets particulièrement utiles.

L'Arduino utilise une technologie matérielle et logicielle libre (Open source) pour interagir avec l'environnement. Ce produit peut être utilisé sur des objets indépendants ou être raccordé à un ordinateur, par exemple à un Raspberry Pi, afin de traiter les données et d'agir en conséquence. L'Arduino peut être branché à des commutateurs, des capteurs, des moteurs, des écrans LED, etc. afin de contrôler une large gamme d'applications. L'Arduino peut être programmé afin de fonctionner selon des exigences précises. Grâce à l'environnement de développement intégré (IDE) Arduino, le microcontrôleur peut être programmé dans l'un des langages compatibles. Les programmes Arduino, connus sous le nom de « sketches », peuvent être copiés sur le microcontrôleur Arduino, qui exécute alors les instructions du programme. Pour certains projets complexes, des cartes et batteries Arduino peuvent être placées dans des boîtiers étanches à l'aide de presse-étoupes pour câble Ethernet afin d'effectuer en toute sécurité les connexions avec les plate-formes de capteurs.

L'IDE Arduino doit être téléchargé sur votre PC si vous souhaitez l'utiliser pour concevoir des programmes. Il suffit de brancher la carte Arduino au PC via un câble USB afin de télécharger les sketches. Voici quelques projets de base parfaitement adaptés aux néophytes.

1. Allumage successif de lampes

Montage Arduino d'une chenille à LED

Il s'agit d'un projet très simple nécessitant uniquement une petite modification de la carte Arduino. Les composants nécessaires incluent une carte Arduino, une platine d'essai, huit lampes LED 3 V et des câbles de liaison. Pour commencer, il suffit de placer les lampes LED côte à côte sur la platine d'essai. La platine d'essai est alimentée en électricité par l'Arduino. Suivez le schéma ci-dessous pour établir correctement les connexions.

Schéma électrique du montage Arduino d'une chenille à LED

Une fois les connexions établies, il suffit de copier le code suivant dans le logiciel de l'Arduino.

boolean t = true;
int i = 12;
void setup()
{
  pinMode(12,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(4,OUTPUT);
}
void loop()
{
  digitalWrite(i,HIGH);
  delay(50);
  digitalWrite(i,LOW);
  if(t == true)
  {
    i = i - 1;
  }
  else
  {
    i = i + 1;
  }
  if(i < 5)
  {
    i = 6;
    t = false;
  }
  if(i > 12)
  {
    i = 11;
    t = true;
  }
}

L'Arduino peut ensuite être branché à l'ordinateur pour le téléchargement du programme. L'Arduino redémarre et vous pouvez observer les lampes s'allumant successivement sur la platine d'essai.

2. Dispositif de mesure de la température basé sur Arduino

Montage d'un thermomètre électronique réalisé avec Arduino

Il s'agit d'un projet simple impliquant l'utilisation d'une thermistance et d'un écran LCD pour contrôler et afficher la température. Les composants nécessaires incluent un écran LCD noir et blanc 2x16", une carte Arduino, une thermistance, une résistance variable et une résistance 10K. La thermistance est branchée sur la broche analogique de l'Arduino. Les branchements pour l'écran LCD peuvent être effectués selon les schémas ci-dessous :

Branchement du montage d'un thermomètre électronique réalisé avec Arduino
Branchement sur plaque à essai du montage d'un thermomètre électronique

Le code suivant peut être placé dans le logiciel Arduino, puis téléchargé pour faire fonctionner le dispositif de mesure de la température.

#include 
#include 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

double Thermister(int RawADC)
{
  double Temp;
  Temp = log(((10240000/RawADC) - 10000));
  Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
  Temp = Temp - 273.15; // Convertir Kelvin en Celcius

  return Temp;
}

void setup()
{
  lcd.begin(16,2);
  lcd.clear();

  Serial.begin(115200);
}

void loop()
{
  Serial.println(int(Thermister(analogRead(0)))); // Afficher Fahrenheit

  lcd.print(int(Thermister(analogRead(0))));

  lcd.print(" degress C");

  delay(100);

  lcd.clear();
}

3. Haut-parleur basé sur l'Arduino

Montage d'un haut-parleur sur une carte Arduino

L'Arduino peut être utilisé pour produire du son à l'aide d'un haut-parleur piézoélectrique. Le son est généré par l'envoi d'une onde carrée à une fréquence adaptée au haut-parleur piézoélectrique. Le circuit est très simple : il suffit de brancher le haut-parleur piézoélectrique à la broche numéro 9 et à la base de l'Arduino.

Le code suivant peut être utilisé :

int speakerPin = 9;

int length = 15; // le nombre de notes
char notes[] = "ccggaagffeeddc "; // un espace = un repos
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
int tempo = 300;

void playTone(int tone, int duration)
{
  for (long i = 0; i < duration * 1000L; i += tone * 2)
  {
    digitalWrite(speakerPin, HIGH);
    delayMicroseconds(tone);
    digitalWrite(speakerPin, LOW);
    delayMicroseconds(tone);
  }
}

void playNote(char note, int duration)
{
  char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
  int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };

  // jouer la tonalite correspondant au nom de la note
  for (int i = 0; i < 8; i++) {
    if (names[i] == note) {
      playTone(tones[i], duration);
    }
  }
}

void setup()
{
  pinMode(speakerPin, OUTPUT);
}

void loop()
{
  for (int i = 0; i < length; i++)
  {
    if (notes[i] == ' ')
    {
      delay(beats[i] * tempo); // repos
    }
    else
    {
      playNote(notes[i], beats[i] * tempo);
    }

    // pause entre les notes
    delay(tempo / 2); 
  }
}

Références des codes


Article rédigé par Tony le 15/08/2013 à 16h55