Cours:TDS 2103 mini projet : Différence entre versions
(→{{Rouge|Mise sous tension}}) |
|||
| Ligne 21 : | Ligne 21 : | ||
Commençons par indiquer que le système est vivant. | Commençons par indiquer que le système est vivant. | ||
| − | On branche une led (verte de préférence) sur une broche du port {{Rouge|B}} qui soit pilote directement par le {{Rouge| | + | On branche une led (verte de préférence) sur une broche du port {{Rouge|B}} qui soit pilote directement par le {{Rouge|TIMER1}} ... donc pas n'importe laquelle. |
{{Aide|Allez un peu d'aide}} | {{Aide|Allez un peu d'aide}} | ||
| Ligne 57 : | Ligne 57 : | ||
| [[Fichier:AVRMega328 Timer1.png|thumb|500px|Documentation simple du Timer 1 (16 bits)]] || [[File:AVRMega328_Timer1_Comparaison.png|thumb|500px|center|La comparaison avec le Timer 1 (16 bits)]] | | [[Fichier:AVRMega328 Timer1.png|thumb|500px|Documentation simple du Timer 1 (16 bits)]] || [[File:AVRMega328_Timer1_Comparaison.png|thumb|500px|center|La comparaison avec le Timer 1 (16 bits)]] | ||
|} | |} | ||
| + | |||
| + | |||
| + | {{Question|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 {{Rouge|OCR1A}} | ||
| + | |||
| + | {{Question|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|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 :[[Fichier:Dephasagepi2.png]] | ||
Version du 22 mars 2018 à 18:37
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.
|
|
A trouver sur l'image un peu plus haut et câbler cette led sur Tinkercad circuit : montage anodes communes stp
......
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)
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
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
Faire en sorte qu'à la moitié du temps pendant laquelle la led1 s'allume, la 2ème led s'allume à son tour


