P.
CHASLE Formation_Arduino
Transistor :
analogie
hydraulique
[Link] Formation_Arduino
Branchement
moteur sur
Arduino
[Link] Formation_Arduino
Pilotage moteur avec transistor MOSFET
Attention :
- rotation uniquement dans un sens
- Circuit d’alimentation de puissance et alimentation arduino séparés
[Link] Formation_Arduino
Pilotage moteur courant continu avec modules spécifiques
[Link] Formation_Arduino
Sous -programme
void loop(){
monSousProgramme(); //on dit à l'arduino d'éxécuter le
sous programme monSousProgramme
}
void monSousProgramme(){
//Ici on écris le sous programme que l'arduino exécute
}
[Link] Formation_Arduino
Les interruptions
le programme sort immédiatement
Du loop pour exécuter un sous programme
LOW : la pin est à un état bas
RISING : la pin passe d’un état bas à haut
FALLING : la pin passe d’un état haut à bas
CHANGE : la pin change d’état
volatile int state = LOW; // déclaration variable volatile = stockée en RAM
void setup() detachInterrupt(interruption)
{
pinMode(13, OUTPUT);
attachInterrupt(0, blink, CHANGE); // attache l'interruption externe n°0 à la fonction blink
} Dans le sous programme d’interruption :
void loop()
{ - Pas de delay ou millis()
digitalWrite(13, state); // la LED reflète l'état de la variable - Pas de transfert de données (série, bus…)
}
- Uniquement quelque chose de « léger »
void blink() // la fonction appelée par l'interruption externe n°0 - Déclarer en volatile les variables qu’on
{
state = !state; // inverse l'état de la variable
modifie dans le sous prog d’interruption
[Link] Formation_Arduino
}
BUS I2C
[Link] Formation_Arduino
Afficheur LCD Grove (Gotronic - env 15€)
include wire on active le bus I2C
include la bibliothèque lcd
rgb_lcd toto On met toujours lcd pour toto
dans le setup :
[Link](16,2) ; c’est l’initialisation void noDisplay();
void display();
[Link](colorR, colorG, colorB); valeur de 0 à 255 void noBlink();
void blink();
Les instructions : void noCursor();
void cursor();
[Link](colonne, ligne); void scrollDisplayLeft();
void scrollDisplayRight();
[Link](valeur); void leftToRight();
void rightToLeft();
void autoscroll();
[Link] Formation_Arduino
void noAutoscroll();
millis ()…. Jusqu’a 50 jours (variable type long)
long temps; Un long pour « tenir » 50 jours !
On sait lire l’heure ! boolean led;
Temps = millis(); (long variable)
void setup() {
pinMode(13,OUTPUT);
Et donc on va faire : temps=millis();
« allume toi, fait tes petites affaires }
Et vérifie l’heure régulièrement et si
Le temps écoulé > X secondes , alors void loop() {
réagis» if((millis() - temps) > 1000)
{
led = ! led;
digitalWrite(13, led);
temps = millis();
}
}
[Link] Formation_Arduino
Module ultra son grove (16€)
De 1 cm > 1m
3 fils à brancher :Vcc, GND et une entrée numérique au choix
NC veut dire « non connect »
Télécharger la bibliothèque
Et regarder le programme mini
Pour affichage sur console.
#include <Ultrasonic.h>
Le réaliser
Ultrasonic toto(7); // sur pin 7
Int distance;
Exo :
Puis produire des sons avec le Setup()
buzzer en fonction de la distance de
votre main par rapport au capteur Loop ()
distance = [Link]();
Faire un feu de recul avec le bip bip delay(100);
qui le fait bien
[Link] Formation_Arduino