Académique Documents
Professionnel Documents
Culture Documents
N : 2020 / 2021
Faculté des Sciences et de la Technologie
Département d'Electronique Licence Télécommunications, 3ème Année
Pour simuler un anti rebond, on pourra considérer la variation de tension aux bornes de l’interrupteur après
200 ms en utilisant l’instruction delay(). Nous allons voir aussi un premier exemple simple d'utilisation de
l’instruction conditionnelle : if … else.
- Réaliser le schéma de montage d’un BP qui commandera une LED sur la plaquette d’essais.
- Modifier le programme suivant pour que la carte Arduino commande la LED lors de la pression du
bouton :
// détection bouton poussoir
Par défaut ISIS inclut plusieurs bibliothèques des composants électronique tel que les
microcontrôleurs, Afficheurs, circuits analogiques ou numériques, … Mais l’Arduino n’en fait pas
partie. Chaque étudiant doit ajouter la bibliothèque Arduino à ISIS, afin de pouvoir simuler ses
projets : Décompresser le dossier et copier ARDUINO.IDX et ARDUINO.LIB dans le dossier
Library de Proteus (suivez les explications des enseignants).
- Après avoir copier le chemin du fichier.hex, retourner à votre circuit, cliquez sur la carte arduino
dans le circuit, vous allez obtenir une boite de dialogue, coller le chemin de fichier.hex dans la
zone de program file comme suit et cliquer sur ok:
/* principe :
* Ce programme fait fonctionner des feux tricolores.
* Six LED (vertes, oranges et rouge) sont reliées aux sorties 4 à 9
* Les sorties 4 à 6 forment le feu A1
* Les sorties 7 à 9 forment le feu B1
*/
//Délai des différents temps d’attente en millisecondes, on peut les changer facilement
const long TempsAttenteFeuRougeSeul = 2000;
const long TempsAttenteFeuVert = 30000;
const long TempsAttenteFeuOrange = 5000;
void loop () {
// Extinction de toutes les LED au départ
digitalWrite (A1V, LOW) ;
digitalWrite (A1O, LOW) ;
digitalWrite (A1R, LOW) ;
digitalWrite (B1V, LOW) ;
digitalWrite (B1O, LOW) ;
digitalWrite (B1R, LOW) ;
// Début de cycle
// Concerne le feu A1
delay (TempsAttenteFeuVert) ; // Feu vert A1V pendant 30 secondes
digitalWrite (A1V, LOW) ; // Extinction de A1V
digitalWrite (A1O, HIGH) ; // et allumage de A1O
delay (TempsAttenteFeuOrange) ; //durée 5 secondes
digitalWrite (A1O, LOW) ; // Extinction de A1O
digitalWrite (A1R, HIGH) ; // et allumage de A1R
delay (TempsAttenteFeuRougeSeul) ; // Temporisation du chauffard !