Cours:ChenillardShield

De troyesGEII
Aller à : navigation, rechercher

Retour à la liste des Tps

Éléments de correction


Vous allez fabriquer une carte d'extension arduino (appelée communément "shield") que vous programmerez par la suite pour réaliser un chenillard.

Fabrication de la carte

Cahier des charges

Cette carte aura pour contraintes de :

  • permettre la programmation d'un chenillard sur 6 leds
  • permettre de changer le sens de défilement
  • proposer un moyen d’arrêter/démarrer le défilement
  • permettre de changer la vitesse


Composants et position

Nous trouverons sur la carte les composants suivants, avec le numéro de patte (pin) arduino associée permettrant d'observer/modifier l'état du capteur/actionneur

Composants position arduino Fonction
6 leds pattes 8 à 13 affichage du chenillard
1 potentiomètre A1 modification de la vitesse
1 bouton poussoir A2 start/stop
1 interrupteur A3 changement du sens


Contraintes de routage

  • PCB simple face
  • la dimension du "shield" ne devra pas dépasser celle de la carte arduino UNO sur la hauteur et être la moins large possible
  • piste de largeur maximale (extra-large)
  • ne pas utiliser la borne GND du bornier côté entrées/sorties de la carte arduino
  • nom de l'étudiant inscrit en cuivre "côté cuivre"
  • leds alignées et dans l'ordre des sorties
  • interrupteur, bouton poussoir et potentiomètre facilement accessibles



Critères de notation

Critères pénalités
Non respect de la date de remise du typon - 1pt/jour
Fichier non exploitable (mauvais fichier ou échelle modifiée) - 3pts
Nom de l’étudiant non lisible côté piste - 3pts
Erreur de routage / pistes du mauvais côté / raccordement aux mauvaises bornes …. -3 pts / faute
Non respect des dimensions imposées pour le PCB - 3pts
Non respect de la largeur des pistes (largeur = extra larges) - 2pts
Esthétique (composants non alignés / en biais / mal répartis) - 2pts maxi
Pistes trop rapprochées (des pistes ou des pastilles) - 2pts maxi
Pistes trop longues - 2 pts maxi


Réalisation des typons

Une fois le routage terminé, après avoir vérifié que les pistes sont du bon côté et que votre nom apparaît bien "côté cuivre", suivre la procédure suivante :

  • 1- faire Fichier / Exporter / pour la Production / créer en (SVG)... puis définir un emplacement pour la sauvegarde
  • 2- ouvrir un document texte de type .odt (LibreOffice) ou .docx (Word)
  • 3- a partir de l'emplacement ou vous avez sauvegardé vos fichiers .SVG, sélectionner le fichier nomFichier_etch_copper_bottom et placez-le sur le document texte SANS EN CHANGER L'ECHELLE
  • 4- vérifiez que votre nom apparaît bien en transparence (écrit à l'envers), sinon il faut le changer de face sur le typon (sur Fritzing) et recommencer la procédure ...
  • 5- transmettez ce fichier à votre enseignant, il servira pour imprimer le typon sur un calque


  • 6- ouvrez le fichier nomFichier_etch_silk_top et faites-en une photo ou une copie, il vous sera nécessaire pour implanter vos composants lors de la réalisation du shield.


Dossier de conception

Voici un contenu type pour le dossier de conception que vous devez rédiger. Ce dossier doit permettre à quiconque de refaire votre carte à l'identique et/ou de la dépanner en un minimum de temps. Il doit donc contenir toutes les informations et les documents nécessaires pour remplir ces objectifs  :


Présentation du produit


Prérequis
liste des connaissances et compétences nécessaires pour réaliser le chenillard


Fabrication des cartes PCB


-liste du matériel nécessaire (outillage)

-typons (routage)

-nomenclature (liste des composants)

-implantation

-conseils de fabrication


Simulation sur Tinkercard

insérer vues des différents tests

Tests


-procédure de tests

-procédures de dépannage


Foire aux questions



Programmation

Gestion des leds

Notion de port

ArduinoPinout.png

En observant attentivement la figure ci-contre, on constate que les pattes utilisées pour commander les leds n'ont pas été choisies au hasard.

En effet, nous utilisons les pattes 8 à 13, qui correspondent pour le µcontrôleur au PORTB (PB0, PB1, PB2, ...).

Info.jpg Ainsi, il devient possible de modifier l'état de toutes ces sorties/leds, en une seule instruction :

void setup()
{
   // déclarer toutes les pattes en sortie :

}

void loop()
{
   //mettre toutes les sorties à '1'
   PORTB = 0b00111111;  
   delay(200);
   //mettre toutes les sorties à '0'
   PORTB = 0b00000000;  // ou PORTB = 0x00; ou encore PORTB = 0;
   delay(200);
}

Utilisation

Lede.png Lede.png Lede.png Lede.png Leda.png Leda.png
Leda.png Leda.png Leda.png Leda.png Lede.png Leda.png

Question.jpg En vous inspirant du programme précédent, faire un programme affichant successivement ces 2 motifs pendant 0,5s.

Chenillard

Question.jpg Écrire le programme du chenillard

Il s'agit d'allumer une seule led et de faire en sorte qu'elle se "déplace" de droite à gauche :

Lede.png Lede.png Lede.png Lede.png Lede.png Leda.png
Lede.png Lede.png Lede.png Lede.png Leda.png Lede.png
...
Leda.png Lede.png Lede.png Lede.png Lede.png Lede.png

Remarque : Rappelez-vous qu'il y a déjà une "boucle" dans votre programme .... la fonction loop !

Bluebg.png
Aidesmall.png
À propos de cette image

Une boucle bien sûr !


Pour réaliser un chenillard simple, nous devons envoyer successivement les valeurs suivantes sur le port :

Binaire Décimal
val1 = 0 0 0 0 0 0 0 1 1
val2 = 0 0 0 0 0 0 1 0 2
val3 = 0 0 0 0 0 1 0 0 4
val4 = 0 0 0 0 1 0 0 0 8
val5 = 0 0 0 1 0 0 0 0 16
val6 = 0 0 1 0 0 0 0 0 32

Remarque : Une solution élégante consiste à utiliser les opérateurs de décalage

Changer la vitesse

Question.jpg Modifier votre programme pour que la vitesse du chenillard dépende du potentiomètre

Remarque : il s'agit bien évidemment de faire une lecture analogique.


Changer le sens de "rotation"

Question.jpg Modifier votre programme pour que le sens de rotation dépende de la position de l'interrupteur

Mise en route/arrêt

On souhaite pouvoir arrêter/démarrer le chenillard à chaque appui sur le bouton poussoir.

Question.jpg Faire les modifications nécessaires pour répondre à ce nouveau cahier des charges.

Allons plus loin

Pour les 2 programmes suivants, en cas de besoin, vous pouvez chercher des informations sur cette page.

Chenillard double

Pour un chenillard double, 2 leds se déplacent en sens opposé.

Question.jpg Écrire le programme correspondant.


Chenillard à entassement

un chenillard à entassement est un chenillard simple avec une led qui se déplace, mais une fois arrivée à l'extrémité la led reste allumée et on en rajoute une au départ, qui se déplace et s'empile sur la précédente ....

Question.jpg Écrire le programme correspondant.


Plusieurs mode

Question.jpg Faire en sorte que chaque appui sur le bouton poussoir change le type de chenillard :

  • arrêté
  • simple
  • double
  • entassement