Cours:TDS 2103 mini projet

De troyesGEII
Révision datée du 22 mars 2018 à 18:37 par Bjacquot (discussion | contributions) ({{Rouge|Mise sous tension}})
Aller à : navigation, rechercher
ArduinoPinout.png

On souhaite réaliser un système permettant de mesurer le temps de réaction à un événement.

Le principe sera le suivant : ->une led s'allume ->on lance un chronomètre (.... oh un timer !) ->on attend l'appui sur un bouton ->on affiche le temps de réaction

Le système sera simulé sur Tinkercad et l'utilisation des fonctions arduino .... interdites bien évidemment.

*******************************************
Astuce Tinkercad circuit : 
mettre un _delay_ms(xxx) dans le while(1)
*******************************************


Mise sous tension

Commençons par indiquer que le système est vivant.

On branche une led (verte de préférence) sur une broche du port B qui soit pilote directement par le TIMER1 ... donc pas n'importe laquelle.

Bluebg.png
Aidesmall.png
À propos de cette image

Allez un peu d'aide



  • ça commence par OnCompare
  • ça continue avec le numéro du timer
  • ça se termine par A ou B ... ici on prend la sortie A

Todo.jpg A trouver sur l'image un peu plus haut et câbler cette led sur Tinkercad circuit : montage anodes communes stp

......

Todo.jpg Bon alors, elle fonctionne cette led ... elle s'éclaire trop ou pas assez, la résistance !!!!


Allez on fait clignoter cette led :

  • rythme 4Hz
    • allumée 4 fois en 1 seconde
    • éteinte 4 fois en 1 seconde
  • temps allumé = temps éteint
  • pas le droit à toute forme de .... delay

Et voilà le premier Timer à configurer :

  • choix du prédiviseur
  • mode CTC
  • valeur de comparaison
  • module de sortie (demander le chgt d'état de OC1A à chaque comparaison)
Documentation simple du Timer 1 (16 bits)
La comparaison avec le Timer 1 (16 bits)


Question.jpg Vérifier le bon fonctionnement du clignotement

Bon c'est pas mal, mais avec 2 leds c'est mieux

  • couleur au choix
  • position sur sortie OC1B

Bien sûr, c'est le timer qui va faire clignoter la led sans action du µcontroleur.

La fréquence de clignotement des 2 leds sera donc la même : ça ne dépend que de OCR1A

Question.jpg En jouant sur la valeur de OCR1B, on décale (déphase plutôt) le moment ou la 2ème led s'allume par rapport à la première

Todo.jpg Faire en sorte qu'à la moitié du temps pendant laquelle la led1 s'allume, la 2ème led s'allume à son tour

bon c'est pas très clair tout ça ... une image :Dephasagepi2.png