top of page

La Programmation :

Arduino

#1

 

Matériel:


Pour la partie de commande, nous avons utilisé le système arduino avec une carte Mega 2560 et plusieurs modules d'entrées et de sortie comme des capteurs de chocs, des émetteurs/récepteurs ultrasons, des boutons, des LEDs...

#2

Programme :

Variables :

Bouton on/off poussoir émetteur : BE

Capteur d’amplitude RSSI : RSSI

Variables données par les capteurs d’amplitude : A1, A2, A3

Capteurs ultrason : CU

Capteurs de contact : CC

 

Programme :

Début

  CU=Faux

  CC=Faux

  RSSI=0

  BE=Faux

  Tant que BE=Faux

    Lire BE

  Fin Tant que

  Emettre Bip

  Tant que BE=Juste

    Lire RSSI

    Lire CU

    Lire CC

    Lire BE

    Si CU=Vrai ou CC=Vrai

      Alors Stopper moteurs 1 et 2

      Emettre Bip

      Allumer Gyrophare

    FinSi

    Si A1<A2<A3

      Alors Stopper moteur 1

      Attendre 0.5s

      Allumer moteur 1

    FinSi

    Si A1<A3<A2

      Alors stopper moteur 2

      Attendre 0.5s

      Allumer moteur 2

    FinSi

    Si A1<2

      Alors Tant que A1<2

        Lire RSSI

        Stopper les deux moteurs

      Fin Tant que

    FinSi

    Si A1>80

      Alors stopper les deux moteurs

      Emettre Bip

      Allumer Gyrophare

    FinSi

  Fin Tant que

  Stopper les deux moteur

Fin

#3

Le Branchement:

Dans le but de relier les trois récepteurs XBee, mettant en oeuvre la triangulation de l'utilisateur, à la carte principale, plusieurs modes de branchements ont été envisagés.

   En effet, nous avons tout d'abord opté pour un branchement centralisé sur le port de communication par défaut, dans lequel les trois récepteurs sont branchés sur le même pin et le flux d'information est géré en amont, par des contacteurs qui ouvrent ou ferment chacun des circuits d'informations. Ces contacteurs sont gérés par la carte, qui ferme le contacteurs suivant dès les valeurs de distance reçues.

   Puis, devant la difficulté d'obtenir des valeurs précises et cohérentes, nous avons opté pour un montage moins complexe, mais qui requiert une programmation plus précise, et plus poussée. C'est à dire, brancher chaque capteur sur un port "series" attribué et traiter les données reçues dans un autre port, les ports "series" n'en ayant pas la capacité. C'est finalement la solution qui a été retenue.

bottom of page