LaDissertation.com - Dissertations, fiches de lectures, exemples du BAC
Recherche

Exercice Arduino - Xbee - Capteur de distance

Cours : Exercice Arduino - Xbee - Capteur de distance. Recherche parmi 298 000+ dissertations

Par   •  10 Mai 2018  •  Cours  •  1 100 Mots (5 Pages)  •  908 Vues

Page 1 sur 5

[pic 1][pic 2]

Exercice 1 : Afficher la valeur de la distance en cm.

Vous avez à votre disposition :

2 cartes Arduino UNO, 2 cartes xbee et 2 cartes connecteurs.

2 câbles USB.

Un capteur ultrasons, un afficheur LCD et deux LEDs.

  1. Saisir le programme émetteur fourni (fixer l'adresse réseau à votre numéro d’équipe (exemple 0001pour équipe1).
  2. Compléter la partie manquante afin de lire la valeur du capteur de distance. Envoyer la valeur de la variable distance par le Xbee. (Utiliser la commande XBee.print( ) ;)
  3. Envoyer le caractère 'F' par le Xbee.
  4. Mettre un délais de 50ms.
  1. Saisir le programme récepteur fourni (fixer l'adresse réseau à votre numéro d’équipe.
  2. Compléter la partie manquante : Écrire sur la premiere ligne « distance= » sur le LCD et afficher la variable distance en cm.      
  3. Valider le fonctionnement
  1. Modification 1 :

Quand la distance est >400cm  la LED1 s'allume sinon elle reste éteinte.

  1. Modification 2 :

Quand la distance < 10cm  la  LED2 s'allume sinon elle reste éteinte.

  1. Modification 3 :

Quand la distance est >400cm écrire sur la deuxième ligne du LCD ligne « MAX ».

  1. Modification 4 :

Quand la distance est < 10cm écrire sur la deuxième ligne du LCD ligne « MIN ».

  1. Modification 5 :Pour les plus avancés !

Plus on se rapproche du capteur plus la LED1 clignote vite.


Programme Xbee émetteur

#include // Bibliothèque XBee

#include // Bibliothèque Capteur Distance

Ultrasonic ultrasonic(4); // Création d'un objet de type Ultrasonic

SoftwareSerial XBee(2, 3); // RX, TX

void setup()

{  

  XBee.begin(9600);

    XBee.print("+++");                // passage en mode commande pour configurer le module

    char confdata=0;

  while (confdata !='\r')                // attente réponse 'OK' du XBee (ce n'est pas immédiat !)

    {  if (XBee.available() >0)

      {  confdata = XBee.read();  }

    }

    XBee.print("ATRE\r");            // RAZ module XBee

    XBee.print("ATDL1\r");           // on fixe l'adresse destinataire : 1

    XBee.print("ATMY0\r");           // on fixe l'adresse module : 0

    XBee.print("ATID1111\r");        // on fixe l'adresse réseau : 1111

    XBee.print("ATCN\r");            // sortie du mode commande

}

void loop()

{

   int distance = 0;

  ultrasonic.MeasureInCentimeters(); // mesure de la distance

  distance = ultrasonic.RangeInCentimeters; // stockage de la mesure dans "distance"

 

 

  XBee.print(distance); // envoi de la distance

  XBee.print('F'); // envoi du caractère "F"

  delay(50);

}

 


Programme Xbee recepteur 

#include // Bibliothèque XBee

#include // Bibliothèque I2C

#include "rgb_lcd.h" // Bibliothèque LCD

#include "Timer.h" // Bibliothèque Timer

SoftwareSerial XBee(2, 3); // RX, TX

const int ledPin =  4;   // LED Branchée sur D4

int inputDistance = 0;

rgb_lcd lcd; // Création d'un objet lcd de type rgb_lcd

Timer lcdTimer; // Création du Timer lcdTimer

...

Télécharger au format  txt (5.1 Kb)   pdf (112 Kb)   docx (227.4 Kb)  
Voir 4 pages de plus »
Uniquement disponible sur LaDissertation.com