Contre Rendu 1
Contre Rendu 1
Contre Rendu 1
scientifique
Direction Générale des Etudes Technologiques
Institut Supérieur des Etudes Technologiques de Sfax
Direction des Etudes et des Stages
Département Technologies de l’Informatique
I.BUT :
Révision de 1er semestre.
II.MANIPULATION:
1-Hardware :
• Le matériel Il s'agit d'une carte électronique basée autour d'un microcontrôleur Atmega du
fabricant Atmel.
Un microcontrôleur est constitué par un ensemble d’éléments qui ont chacun une fonction
bien déterminée. Il est en fait constitué des mêmes éléments que sur la carte mère d’un
C'est le composant principal du microcontrôleur. C'est lui qui va exécuter le programme qu'on
lui donnera à traiter. On le nomme souvent le CPU.
2-Software :
-simulateur online /offline (isis)
- Le logiciel
Le logiciel permet de programmer la carte Arduino. Il offre une multitude de fonctionnalités.
Exemple des fonctions :
1. Fonction delay() :
Pour faire clignoter la LED on fait intervenir la fonction delay(), qui va mettre le programme
en pause pendant un certain temps. Ensuite, on éteint la LED. On met en pause le programme.
Puis on revient au début du programme. On recommence et ainsi de suite.
Voici le code :
const int led_rouge = 2;
variable
void setup()
{
pinMode(led_rouge, OUTPUT);
}
void loop()
{
digitalWrite(led_rouge, LOW);
delay(1000);
delay(1000);
}
2. Fonction millis() :
À l'intérieur du cœur de la carte Arduino se trouve un chronomètre. Ce chrono mesure
l'écoulement du temps depuis le lancement de l'application dont la granularité est la
milliseconde. La fonction millis() retourne la valeur courante de ce compteur qui est capable
de mesurer une durée allant jusqu'à 50 jours. Si on veut faire clignoter une LED et faire
avancer un robot par exemple, on ne peut pas utiliser la fonction delay() qui met en pause le
programme. Avec la fonction millis(), le programme n'est plus bloquant.
Voici le code :
unsigned long LED_timestore;
int LedStatus = LOW;
int LedPin = 13;
void setup() {
pinMode(LedPin, OUTPUT);
}
void loop() {
if (LedStatus == LOW) {
if (millis() - LED_timestore> 1000 ) {
digitalWrite(LedPin, HIGH);
LED_timestore = millis();
LedStatus = HIGH;
}
} else {
if (millis() - LED_timestore> 300) {
digitalWrite(LedPin, LOW);
LedStatus = LOW;
}
}
}III.CONCLUSION:
Avec Arduino, il devient possible de contrôler des appareils domestiques, de concevoir des
robots, des jeux de lumières, d'établir des communications avec des ordinateurs, et même de
télécommander des appareils mobiles, ouvrant ainsi la porte à une multitude d'applications
créatives et pratiques.
TITRE : Contre rendu
« Arduino »
I.BUT :
Améliorer le code arduino.
II.MANIPULATION:
attachInterrupt()
-Attach interrupt : Dans la fonction attachée, delay() ne fonctionnera pas et la valeur renvoyée
par millis() ne sera pas incrémentée. Les données série reçues pendant l'exécution de la
fonction peuvent être perdues. Vous devez déclarer comme volatiles toutes les variables que
vous modifiez dans la fonction attachée.
-Utiliser les interruptions
Les interruptions sont utiles pour que les choses se produisent automatiquement dans les
programmes de microcontrôleurs et peuvent aider à résoudre les problèmes de
synchronisation. Les bonnes tâches pour l'utilisation d'une interruption peuvent inclure la
lecture d'un encodeur rotatif ou la surveillance des entrées de l'utilisateur.
Paramètres
interruption : le numéro de l'interruption. Types de données autorisés : int.
pin : le numéro de broche Arduino.
ISR : l'ISR à appeler lorsque l'interruption se produit ; cette fonction ne doit prendre aucun
paramètre et ne rien renvoyer. Cette fonction est parfois appelée routine de service
d'interruption.
mode : définit le moment où l'interruption doit être déclenchée. Quatre constantes sont
prédéfinies comme valeurs valides :
LOW : pour déclencher l'interruption à chaque fois que la broche est basse,
CHANGE : pour déclencher l'interruption chaque fois que la broche change de valeur
RISING : pour déclencher lorsque la broche passe de bas en haut,
TOMBER : quand la goupille passe de haut en bas.
HIGH : pour déclencher l'interruption chaque fois que la broche est haute.
Organigramme :
DEBUT
Ledpin 13
Interruptpin 12
Start low
Setup ()
Loop ()
Blink ()
Fin
Exemple schéma de simulation