Entrées numériques (Digital I/O)
Bouton Poussoir NO
Interrupteur
Fourche optique
Et tout signal numérique venant d’un montage électronique ou informatique …..
[Link] Cours_Arduino
Entrées numériques - Pull up / pull down
[Link] Cours_Arduino
Entrées numériques
[Link] Cours_Arduino
Entrées numériques (Digital I/O)
[Link] Cours_Arduino
Résistance Pull up interne
Depuis la version 1.0.1 d’Arduino, une pull-up peut etre simplement mis en oeuvre en utilisant le deuxieme
Argument de pinMode. La syntaxe devient pinMode(unBouton, INPUT_PULLUP)
et il n’y a plus besoin de faire un digitalWrite() ensuite.
[Link] Cours_Arduino
Demo capteur à fourche infrarouge
[Link] Cours_Arduino
La masse , c’est quoi ?
[Link] Cours_Arduino
Entrées (Lecture) analogiques : analogRead()
Attention ! - 0 volt <tension à mesurer< 5volts
- A4 et A5 inutilisables si on utilise l’I2C
Si tension > 5v ? …..et les tensions négatives ?
Syntaxe :
valeur = analogRead(pin);
Sur 10 bits (0 à 1023)
Pin pour être 0 ou A0
Essayez le moniteur série et le traceur série
[Link] Cours_Arduino
BUS I2C
Inclure la bibliothèque en entête :
include wire //on active le bus I2C
4 fils : SCL, SDA , alimentation, GND
[Link] Cours_Arduino
Afficheur LCD Grove (Gotronic - env 15€)
include wire on active le bus I2C
include la bibliothèque fournie par le constructeur
rgb_lcd toto On met toujours lcd pour toto
dans le setup :
[Link](16,2) ; c’est l’initialisation
[Link](colorR, colorG, colorB); valeur de 0 à 255 void noDisplay();
void display();
Les instructions : void noBlink();
void blink();
[Link](colonne, ligne); void noCursor();
void cursor();
[Link](valeur); void scrollDisplayLeft();
void scrollDisplayRight();
void leftToRight();
void rightToLeft();
void autoscroll();
[Link] Cours_Arduino
void noAutoscroll();
Entrées (Lecture) analogiques …. suite
Pont diviseur de tension
[Link] Cours_Arduino
Mesure température : améliorer la mesure
Le capteur donne 10mV/°C et le pas du convertisseur d’environ 5 mV
(5V/1024) . Donc : 0.5°C de pas en température ……
On peut améliorer la mesure en n’étant plus sur 5v en pleine échelle
Mais sur une échelle de 1.1v en utilisant l’instruction :
analogReference(INTERNAL) dans le setup
La résolution devient : 1.1/1024 = 1 mV, donc 0.1°C
[Link] Cours_Arduino
Sortie pseudo analogique : analogWrite()
ES BROCHES DE LA PWM
Sur votre carte Arduino, vous devriez disposer de 6 broches qui soient
compatibles avec la génération d’une PWM. Elles sont repérées par le
symbole tilde ~ . Voici les broches générant une PWM : 3, 5, 6, 9, 10 et 11.
//une sortie pseudo analogique sur la broche 6
ma_sortie= 6;
void setup()
{
pinMode(ma_sortie, OUTPUT);
}
void loop()
{
//on met un rapport cyclique de 107/255 = 42 %
analogWrite(ma_sortie, 107);
}
[Link] Cours_Arduino
Faire du son : tone, noTone
tone(pin, frequency)
tone(pin, frequency, duration)
Mettre un délai >= duration
noTone(pin)
[Link] Cours_Arduino
Servo moteur
On utilise une sortie numérique
Inclure bibliothèque servo moteur (en tout début de programme)
Servo toto; On crée un objet servo
Dans le setup : [Link](pin); on affecte une pin numérique
Dans le loop : [Link](angle); angle de 0 à 180° sur votre servo
[Link] Cours_Arduino