Conversion analogique numériques

Cours (4 points)

Compléter le tableau suivant en cochant la case adéquate pour chaque périphérique :

Entrée numérique

Sortie

Entrée analogique

Bouton poussoir

LED

Clavier

Moteur Brushless

Potentiomètre

Sur la figure ci-dessous, entourer en rouge toutes les broches d'entrée analogique et en vert les broches d'entrée numérique.

Quel langage informatique est utilisé  pour programmer la carte Arduino ?

Que signifie CAN ?

Exercice 1 (7 points)

On souhaite allumer la LED connectée à la broche 2 pendant 10s et l'éteindre automatiquement lors de l'appui sur un bouton poussoir conecté à la broche 3.

Compléter le programme et les commentaires du programme suivant en vous aidant de l'annexe Arduino

Exercice 2 : Servo moteur (9 points)

On souhaite piloter le servomoteur à l'aide d'un potentiomètre dont le schéma structure est représenté ci-dessous :

De quelle nature est l'information portée par la tension V0 ?

Quelles vont être les 2 valeurs extrêmes de V0 ?

V0 min = __________________

V0 max = __________________

Finir le câblage du potentiomètre et du servo moteur en cohérence avec le programme ci-dessous.(2 points)

Commenter chaque ligne du programme permettant le pilotage du servo moteur. (5 points)

1
#include <Arduino.h>
2
#include <Servo.h>
3
Servo servo;
4
void setup() {
5
  pinMode(3,OUTPUT);       // _______________________________
6
  digitalWrite(3,LOW);     // _______________________________
7
  delay(5000);             // _______________________________
8
  servo.attach(3);         // _______________________________
9
  Serial.begin(9600);      // _______________________________
10
}
11
12
void loop() {
13
  int val = analogRead(A0);    // __________________________
14
  val = map(val,0,1023,0,180); // __________________________
15
  servo.write(val);            // __________________________
16
  Serial.println(val);         // __________________________
17
  delay(300);                  // __________________________
18
}

Rappel : Annexe Arduino

Trois fonctions indispensables pour utiliser une broche du port d'E/S de l'Arduino :

1) La configuration du sens (entrée ou sortie) dans la procédure setup :

1
pinMode(pin, mode);

pin est un entier indiquant le numéro de la broche à configurer

mode : est une variable pouvant prendre comme valeurs : INPUT si la broche est une entrée ou OUTPUT si la broche est une sortie

2) La lecture de l'état d'une broche si c'est une entrée

1
digitalRead(pin);

Cette fonction retourne soit HIGH si l'état de la broche est à 1 (+5 Volts) sinon LOW (0 Volts). pin est l'entier correspondant au numéro de la broche à lire.

3) L'écriture/le contrôle d'une broche si c'est une sortie :

1
digitalWrite(pin,value);

Cette fonction ne renvoie rien, elle modifie l'état de la broche correspondant au paramètre pin. Cet état dépendra de value : HIGH (+5 Volts) ou LOW (0 Volts).