Cours:InfoS1EvalTP1

De troyesGEII
(Redirigé depuis Cours:InfoS1EvalTP)
Aller à : navigation, rechercher
Des restrictions d’accès ont été mises en place pour cette page. Si vous voyez ce message, vous n’avez pas accès à cette page.

Il s’agit d’une page protégée.

Programmation d'un radar de recul


L'objectif est de programmer un radar de recul en utilisant un télémètre ultrason (HC-SR04) et d'afficher sur la série de leds l'information de proximité d'un obstacle.


marche arrière

pour détecter le passage de la marche arrière sur un véhicule, un bouton poussoir est installé sur le levier de vitesse. Cela permet également d'allumer le voyant signalant la marche arrière.

Nous utiliserons ici le bouton du haut qui est relié sur la broche 3 arduino, ainsi que la led L1 (broche 5) pour indiquer si on est en marche arrière.

Question.jpg (3 points) Réaliser le programme qui allume la led poour indiquer la marche arrière lorsqu'on appuie sur le bouton.

vérification de la liaison série

Vous allez montrer que vous savez utiliser la liaison série.

Question.jpg (3 points) écrire un programme qui :

  • affiche au démarrage du programme : "start arduino"
  • répète en permanence :
    • affiche "boucle n°:"
    • incrémente une variable à chaque boucle et affiche sa valeur
    • attendre 500ms

exemple d'affichage au bout de 1,5s :

start arduino
boucle n°:1
boucle n°:2
boucle n°:3

télémètre

Le module HC-SR04 est connecté de la façon suivante :

Fonction Broche arduino
Echo 6
Trig 7

On utilisera la librairie hcsr04 créée par Martin Sosic.

Vous trouverez un exemple d'utilisation sur la page suivante : https://github.com/Martinsos/arduino-lib-hc-sr04


Question.jpg (3 points) Modifier votre programme pour faire une mesure de distance toutes les 250ms si on est en marche arrière

leds couleur

Vous allez utiliser les leds couleurs que vous avez utilisé pour le TP chenillard

On affichera une information de distance de la façon suivante sur les leds :

  • si la distance est grande ( d > 1m ), on allume les 8 leds en vert
  • si la distance est moyenne ( 0.6m < d < 1m ) on allumera des leds de la façon suivante :
    • entre 0.95 et 1  : 7 en vert, 1 en orange
    • entre 0.9 et 0.95 : 6 en vert, 2 en orange
    • entre 0.85 et 0.9 : 5 en vert, 3 en orange
    • entre 0.8 et 0.85 : 4 en vert, 4 en orange
    • entre 0.75 et 0.8 : 3 en vert, 5 en orange
    • entre 0.7 et 0.75 : 2 en vert, 6 en orange
    • entre 0.65 et 0.7 : 1 en vert, 7 en orange
    • entre 0.6 et 0.65 : 0 en vert, 8 en orange
  • si la distance est courte ( d < 0.6m ) on allumera des leds de la façon suivante :
    • entre 0.55 et 0.6 : 7 en orange, 1 en rouge
    • entre 0.5 et 0.55 : 6 en orange, 2 en rouge
    • entre 0.45 et 0.5 : 5 en orange, 3 en rouge
    • entre 0.4 et 0.45 : 4 en orange, 4 en rouge
    • entre 0.35 et 0.4 : 3 en orange, 5 en rouge
    • entre 0.3 et 0.35 : 2 en orange, 6 en rouge
    • entre 0.25 et 0.3 : 1 en orange, 7 en rouge
    • moins de 0.25  : 0 en orange, 8 en rouge

Question.jpg (3 points) Ecrire un programme réalisant ce fonctionnement

Contrôle de la luminosité des leds

On utilisera dans cette partie l'axe vertical du joystick ou le potentiomètre P1 sur votre carte. Il correspond à la broche arduino A6.

Question.jpg (3 points) Modifier votre programme pour que le joystick ou le potentiomètre P1 permette de changer la luminosité des leds couleurs.

Amélioration de la précision de mesure : mesure de température

La vitesse de propagation du son dans l'air dépend de la température. L'équation suivante modélise cette relation :

c = 20,05 * sqrt(T) avec T en K, et c la vitesse du son.

Question.jpg (3 points) Modifier votre programme pour tenir compte de la température dans la mesure de distance :

Système alive

Pour vérifier que le système est bien en fonctionnement, on souhaite que la led L2 (broche arduino 13) clignote.

Vous choisirez la vitesse de clignotement.

Question.jpg (3 points) Modifier votre programme pour faire clignoter cette led en permanence.

Remarque : Vous devez impérativement utiliser la librairie TimerOne utilisée notamment pour le TP horloge