Dans ce projet on va voir comment contrôler une carte Arduino avec une autre carte Arduino. Pour cela on va utiliser une librairie appelé Software Serial qui va permettre de communiquer entre les deux en liaison UART.  Cette libairie existe déjà dans Arduino ide sans rien à télécharger.

Pour pouvoir contrôler la première carte nous utiliserons le moniteur série. Ceci va nous permettre de contrôler la LED depuis la première carte Arduino. Cette liaison va permettre d’allumer ou d’éteindre un LED.

Difficulté :

Matériel nécessaire

On va maintenant le matériel nécessaire pour le projet :

  • Une carte Arduino Uno
  • Une Led Rouge
  • Une résistance 220 ohms
  • 3 Fils de liaisons

Schéma du projet

Comment cela fonctionne ?

Pour communiquer en liaison UART entre les deux cartes on utilise deux pins : le TX et le RX de la carte Arduino receveur et deux pins numériques de la carte émettrice. On utilise ensuite les deux moniteurs série des deux cartes afin de pouvoir gérer la communication entre elle.

Programme du projet

Avec ce programme, pour allumer la led, il vous suffit d’ajouter un 1 dans le moniteur série puis 0 pour l’éteindre :

Voici le programme :

#include "SoftwareSerial.h" // Librairie pour commmuniquer entre les deux cartes
SoftwareSerial serial1(2,3); //Initialisation avec les deux pins de la carte émetrices

int input; // Variable la valeur tapée dans le moniteur serie

void setup()
{
  Serial.begin(9600); // Initialisation du moniteur série de la première carte Arduino
  serial1.begin(9600); // Initialisation du moniteur série de la deuxième carte Arduino
}

void loop() 
{
  while (Serial.available()>0){
    input = Serial.parseInt(); // On récupère ce que l'utilisateur a écrit dans le moniteur série
  if (input == 1){
    Serial.println('1');
    serial1.println('1');//On écrit 1 sur le moniteur série et allume la led
  }
  if (input == 0){
    Serial.println('0');
    serial1.println('0');//On écrit 0 sur le moniteur série et éteint la led
  }
}

Comment installer la librairie Software Serial ?

La librairie Software Serial est déjà inclue dans Arduino Ide, vous n’aurez donc pas besoin de l’installer.

Comment modifier le programme ?

Ce programme permet actuellement d’allumer ou d’éteindre la led. Néanmoins pouvez adapter ce programme à votre projet en faisant un allumer un moteur ou autre composant.

Pour allumer un composant vous pouvez ajouter dans le if ce que vous souhaitez. Vous pouvez aussi remplacer le 1 par une autre chose comme “On” :

  if (input == 1){
    Serial.println('1');
    serial1.println('1');//On écrit 1 sur le moniteur série et allume la led
  }

Pour pouvoir éteindre ce composant, vous devez le faire dans le “input =0”. Vous pouvez changer le 0 afin de mettre Off par exemple :

 if (input == 0){
    Serial.println('0');
    serial1.println('0');//On écrit 0 sur le moniteur série et éteint la led
  }

Simulation du projet

Voici la simulation sur tinkercad du projet :