PROGRAMMER AVEC ARDUINO EXEMPLE1 MODULE LED Retour à la liste But : Allumer ou

PROGRAMMER AVEC ARDUINO EXEMPLE1 MODULE LED Retour à la liste But : Allumer ou éteindre une LED selon le schéma électrique suivant : Pour réaliser ce montage, nous aurons besoin de : • Un Arduino • Une plaque d’essai • Une résistance de 170Ω • Une LED de votre couleur préférée connecté à la pin D13 de l’Arduino • Quelques fils de prototypage La LED est connectée à D13 Remarque : Les montages ont été réalisé avec Fritzing Code source int pinLed=13; //variable pour le numéro du pin utilisé void setup() { pinMode(pinLed,OUTPUT); //le pin 13 en mode sortie de courant } void loop() { digitalWrite(pinLed,HIGH); // on passe le pin à +5V delay (1000); // attendre 1 seconde digitalWrite(pinLed,LOW); // on passe le pin à 0V delay(1000); } EXEMPLE 2 : FEU DE CAREFOUR Retour à la liste But : Maintenant, , on va ajouter deux autres Leds. Pour cela, on utilise les résistances suivantes : LedR >>R = ( 5 - 1,6 ) / 0,02 = 170 Ohms LedG >>R = ( 5 –2,1 ) / 0,02 = 145 Ohms LedO >>R = ( 5 –2,1 ) / 0,02 = 145 Ohms On va essayer de réaliser un chenillard avec ces trois leds Code source int ledR = 3; int ledG = 4; int ledO = 5; void setup() { // initialize the digital pin as an output. pinMode(ledR, OUTPUT); pinMode(ledG, OUTPUT); pinMode(ledO, OUTPUT); } void loop() { digitalWrite(ledR, HIGH); // allumer la led rouge delay(1000); // attendre 1 seconde digitalWrite(ledR, LOW); // eteindre la led rouge delay(1000); // attendre 1 seconde digitalWrite(ledG, HIGH); // allumer la led verte delay(1000); // attendre 1 seconde digitalWrite(ledG, LOW); // eteindre la led verte delay(1000); // attendre 1 seconde digitalWrite(ledO, HIGH); // allumer la led orange delay(1000); // attendre 1 seconde digitalWrite(ledO, LOW); // eteindre la led orange delay(1000); // attendre 1 seconde } Retour à la liste Exemple3 : Bouton poussoir Retour à la liste But : Allumer ou éteindre deux LEDs selon l’appui d’un bouton poussoir. Le bouton poussoir est connecté a la pin 2 suivant ce circuit : Retour à la liste nn But : Lecture de la valeur d’un potentiomètre. Le potentiomètre est connecté au pin A0 suivant ce circuit : On pourra récupérer la valeur du potentiomètre et s'en servir comme temps d'attente pour l'allumage et l'extinction d’une Led. Code source int pinPot=0; //variable pour le CAN utilisé int valPot=0; //variable qui va stocker la tension lue. On l'initialise à 0. int pinLED=8; // pin de connexion de la LED void setup() { pinMode(pinLED,OUTPUT); //Mode OUTPUT pour le pin de LED digitalWrite(pinLED,HIGH);//On allume la LED } void loop() { valPot=analogRead(A0); //lit la valeur de tension, la transforme et la stocke dans la variable int attente=valPot; //le délai d'attente est la valeur du potentiomètre digitalWrite(pinLED,HIGH); //on allume la LED delay(attente); //on attend en fonction de la variable attente digitalWrite(pinLED,LOW); //on éteint la LED delay(attente); //on attend } EXEMPLE 4 LECTURE D’UNE ENTREE ANALOGIQUE VIA UN BOUTON POUSSOIR Retour à la liste Code source /* le bouton poussoir est connecté au pin 2 avec une résistance pull- down de 10KΩ les LED sont connectées au pins 4 et 6 avec des résistances de 220Ω */ //déclaration des variables int pinBouton; int pinLed1, pinLed2; void setup() { //initialisation des variables pinBouton = 2; pinLed1 = 4; pinLed2 = 6; //définition des modes pinMode(pinBouton, INPUT); //mode lecture pour le bouton pinMode(pinLed1, OUTPUT); //mode écriture pour led1 pinMode(pinLed2, OUTPUT); //mode écriture pour led2 } void loop() { //lecture de l'état du bouton et stockage dans etatBouton boolean etatBouton = digitalRead(pinBouton); //test des conditions if (etatBouton==HIGH)//test si bouton appuyé { digitalWrite(pinLed1,LOW); //led1 éteinte digitalWrite(pinLed2,HIGH); //led2 allumée } if (etatBouton==LOW)//test si bouton levé { digitalWrite(pinLed1,HIGH); //Led1 allumée digitalWrite(pinLed2,LOW); //led2 éteinte } delay(100); //petite attente } Retour à la liste Exemple5 : Commande d'un servomoteur Retour à la liste But: On va maintenant utiliser la carte Arduino pour piloter la rotation d’un servomoteur Un servomoteur est un moteur dont on peut commander la position angulaire, de 0° à 180° avec précision. Schéma électrique du montage : Code source #include <Servo.h> //on importe la bibliothèque Servo Servo myservo; // on définit un objet Servo nommé myServo int pos = 0; // variable pour stocker la position du servo void setup() { myservo.attach(8); // on relie l'objet au pin de commande } void loop() { for (pos = 0; pos<= 180; pos += 1) { // //on fait varier l'angle de 0 à 180° par tranche de 1° myservo.write(pos); // on dit à l'objet de mettre le servo à 'pos' delay(15); // attendre 15ms pour laisser le temps au servo d'aller à sa position } } Retour à la liste Exemple6 : Photorésistance LDR Retour à la liste But: On va maintenant utiliser la carte Arduino pour affficher la valeur d’une LDR en pourcentage. La photorésistance est une résistance qui varie en fonction de la luminosité. La carte renvoie un nombre compris entre 0 (absence de lumière) et 1023 (luminosité maximum). Le principe est assez simple : plus il y a de lumière, plus la résistance est basse. L'obscurité provoque une résistance importante. Schéma électrique du montage : Code source int pinPR=A0; //pin de connexion pour la photorésistance int valMin=1024; // on initialise la valeur minimale au plus haut int valMax=0; // et la valeur maximale au plus bas void setup() { Serial.begin(9600); } void loop() { int valeur=analogRead(pinPR); // on lit la valeur transmise par la photorésistance if (valeur>valMax) //on compare avec valMax valMax=valeur; // on modifie valMax if (valeur<valMin) // on compare avec valMin valMin=valeur; // on modifie valMin int pourcentage=map(valeur,valMin,valMax,0,100); //pourcentage entre les bornes //Séquence d'affichage Serial.print("Valeur : "); Serial.print(valMin); Serial.print(" < "); Serial.print(valeur); Serial.print(" < "); Serial.print(valMax); Serial.print(" soit : "); Serial.print(pourcentage); Serial.println(" %"); } Retour à la liste uploads/Geographie/ programmer-avec-arduino.pdf

  • 20
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager