CageBut2014-1

De Wiki de bureau d'études PeiP
Révision datée du 5 mars 2015 à 16:23 par Fsaiz (discussion | contributions) (Les programmes)

Introduction

Notre projet dans ce bureau d'étude IMA est de créer une cage de but capable d'interagir avec les autres robots ainsi qu'avec l'arbitre.
Notre cage devra, au terme du bureau d'étude, être en mesure de remplir plusieurs tâches.
Les robots doivent pouvoir localiser la cage, elle doit capturer la balle lorsqu'il y a un but, communiquer avec l'arbitre pour lui annoncer le but, et pour finir, elle doit renvoyer la balle au signal de celui-ci.

Le circuit électronique

Nous avons décider de commencer par la partie électronique, c'est à dire le circuit permettant aux robots de voir le but.

Nous avons construit le circuit suivant :

Circuit 1.jpg Circuit 2.jpg


Le circuit est composé de :

  • une LED verte qui permet de savoir si le circuit est alimenté et alumé (comme dans la première photo).
  • une arduino pour la programmation
  • quatre LED infrarouges
  • une LED rouge
  • un bouton

(Le reste est important pour le bon fonctionnement du circuit mais on ne le voit pas fonctionner lors de l'utilisation du programme)

Les programmes

Ensuite nous avons programmer la arduino avec différents programmes de plus en plus complexes pour atteindre le programme recherché.
Le programme final doit permettre à l'utilisateur de choisir le temps de clignotement des LED infrarouges grâce au bouton.
Nous nous sommes aider d'internet pour trouver les programmes simples pour mieux comprendre comment fonctionnent les programmes sur la arduino ainsi que pour apprendre la syntaxe des programmes.



Tous les programmes sont écrits à l'intérieur de la fonction void loop qui permet de faire tourner les programmes en boucle sans arrêt. mais les paramétrages sont faits avant.

  • Le premier programme que l'on a utilisé était très simple, faire clignoter une LED rouge avec une seconde d'intervalle. C'est à dire allumer et éteindre la LED avec intervalle entre ces 2 actions.

Avant de pouvoir faire clignoter la LED, il faut la paramétrer en sortie grâce à ||||. Pour allumer et éteindre la LED on utilise la fonction DigitalWrite(X,Y), X est la patte de l'arduino à laquelle est connecté la LED, Y est l'état dans lequel est la LED : HIGH pour allumée et LOW pour éteinte. On met un délai entre l'allumage et l'extinction de la LED : Delay(Z), Z est le temps en miliseconde, Z=1000 dans ce programme.

Le programme s'écrit donc :

||||
void loop
{
DigitalWrite(2,HIGH);
Delay(1000);
DigitalWrite(2,LOW);
Delay(1000);
}
  • Le deuxième programme était du même type, faire clignoter les LED infrarouges.

Il faut également mettre les LED en sortie grâce à ||||. Il existe une fonction permettant de faire clignoter les LED à une fréquence choisie : Tone(X,Y,Z), X est la patte de l'arduino à laquelle sont reliées les LED, Y est la fréquence voulu en Hertz (Y=1200Hz dans notre cas) et Z est le temps en miliseconde pendant lequel les LED sont allumées et éteintes.

Le programme s'écrit donc :

||||
void loop
{
Tone(1,1200,1000)
}


  • allmuer une LED lorsque l'on appuie sur le bouton
  • faire clignoter les LED infrarouges lorsque l'on appuie sur le bouton
  • faire un compteur grâce au bouton
  • faire clignoter la LED rouge le temps souhaiter puis ensuite les LED infrarouges :> (programme : parfaitement parfait)


Problème : milis()

Le circuit imprimé

Dessin des différents composants et leurs connections:>>

Changements des dessins des composants pour d'autres plus adapter à nos composants, à leurs formes et à leurs tailles. Grossissements des pastilles autour des soudures.

Dessin du circuit imprimé:>>

Dessin représentant la position de chaque composant sur le circuit ainsi que des fils pour relier les composants. Grossissements des fils pour plus de facilité et fils avec angles à 45° pour une meilleur performance.

La fabrication

Nous avons choisi de commencer par créer la cage en 3D grâce au logiciel freeCAD :>>

Le système de la cage