Ligne 37 : | Ligne 37 : | ||
Pour controler la vitesse il faut envoyer un signal PWM (analogWrite) sur la broche HIGH. | Pour controler la vitesse il faut envoyer un signal PWM (analogWrite) sur la broche HIGH. | ||
+ | |||
+ | ==Le code minimal : == | ||
+ | {| class="wikitable" cellspacing="0" border="0" | ||
+ | | height="17" bgcolor="#999999" align="left" | | ||
+ | | valign="middle" bgcolor="#999999" align="center" | | ||
+ | | bgcolor="#999999" align="center" |BME280 | ||
+ | |- | ||
+ | | rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center" |Avant le Setup | ||
+ | | valign="middle" bgcolor="#999999" align="center" |pas de bibliothèque | ||
+ | | valign="middle" align="left" | | ||
+ | |- | ||
+ | | valign="middle" bgcolor="#999999" align="center" |Variable pour un moteur | ||
+ | | valign="middle" align="left" |#define moteurA_1 5 | ||
+ | <nowiki>#</nowiki>define moteurA_2 6 | ||
+ | |||
+ | int vitesse = 128; // 0 à 255 | ||
+ | |- | ||
+ | | valign="middle" height="17" bgcolor="#999999" align="center" |Dans le Setup | ||
+ | | valign="middle" bgcolor="#999999" align="center" |configuration des broches | ||
+ | | valign="middle" align="left" |pinMode(moteurA_1, OUTPUT); | ||
+ | pinMode(moteurA_2, OUTPUT); | ||
+ | |- | ||
+ | | valign="middle" height="41" bgcolor="#999999" align="center" |Dans le Loop | ||
+ | | valign="middle" bgcolor="#999999" align="center" |Utilisation | ||
+ | | valign="middle" align="left" |digitalWrite(moteurA_1, LOW); | ||
+ | analogWrite(moteurA_2, vitesse); | ||
+ | |} | ||
+ | ==test== | ||
+ | ==Exemple : == | ||
+ | <syntaxhighlight lang="arduino" line="1" start="1"> | ||
+ | ////////////////////////// | ||
+ | // Contrôleur de moteur // | ||
+ | // L9110 // | ||
+ | // pont en H // | ||
+ | ////////////////////////// | ||
+ | |||
+ | #define moteurA_1 5 | ||
+ | #define moteurA_2 6 | ||
+ | int vitesse = 128; // 0 à 255 | ||
+ | void setup() { | ||
+ | // Configuration des ports en mode "sortie" | ||
+ | pinMode(moteurA_1, OUTPUT); | ||
+ | pinMode(moteurA_2, OUTPUT); | ||
+ | } | ||
+ | void loop() { | ||
+ | digitalWrite(moteurA_1, LOW); | ||
+ | analogWrite(moteurA_2, vitesse); | ||
+ | delay(1000); | ||
+ | |||
+ | analogWrite(moteurA_1, vitesse); | ||
+ | digitalWrite(moteurA_2, LOW); | ||
+ | delay(1000); | ||
+ | |||
+ | digitalWrite(moteurA_1, LOW); | ||
+ | digitalWrite(moteurA_2, LOW); | ||
+ | delay(1000); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
{{#annotatedImageLight:Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|0=800px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=Brochage du L9110|align=center|src=https://www.wikidebrouillard.org/images/d/d8/Item-Controleur_de_moteur_L9110_pont_en_h_L9110.png|href=./Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|resource=./Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|caption=Brochage du L9110|size=800px}} | {{#annotatedImageLight:Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|0=800px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=Brochage du L9110|align=center|src=https://www.wikidebrouillard.org/images/d/d8/Item-Controleur_de_moteur_L9110_pont_en_h_L9110.png|href=./Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|resource=./Fichier:Item-Controleur de moteur L9110 pont en h L9110.png|caption=Brochage du L9110|size=800px}} | ||
}} | }} | ||
{{Tuto Status | {{Tuto Status | ||
− | |Complete= | + | |Complete=Published |
}} | }} |
Le controleur de moteur L9110 est un composant, à bas coût, qui permet de controleur des moteurs avec un microcontroleur
Il permet de controler jusqu'à 2 moteurs.
Tension de service : DC 2.5V – 12V
Courant de sortie maximum : 800 mA (continu) / canal
On peut utiliser l’alimentation 5V de l’Arduino ou 3V d'un D1 mini ou d'un esp32.
Pour controler un moteur il faut envoyer des instructions aux broche 1A et 1B :
Pour arrêter le moteur :
- 1 A = LOW
- 1B = LOW
Pour tourner dans un sens :
- 1A = LOW
- 1B = HIGH
Pour changer de sens, on inverse :
- 1A = HIGH
- 1B = LOW
Pour controler la vitesse il faut envoyer un signal PWM (analogWrite) sur la broche HIGH.
BME280 | ||
Avant le Setup | pas de bibliothèque | |
Variable pour un moteur | #define moteurA_1 5
#define moteurA_2 6 int vitesse = 128; // 0 à 255 | |
Dans le Setup | configuration des broches | pinMode(moteurA_1, OUTPUT);
pinMode(moteurA_2, OUTPUT); |
Dans le Loop | Utilisation | digitalWrite(moteurA_1, LOW);
analogWrite(moteurA_2, vitesse); |
1 //////////////////////////
2 // Contrôleur de moteur //
3 // L9110 //
4 // pont en H //
5 //////////////////////////
6
7 #define moteurA_1 5
8 #define moteurA_2 6
9 int vitesse = 128; // 0 à 255
10 void setup() {
11 // Configuration des ports en mode "sortie"
12 pinMode(moteurA_1, OUTPUT);
13 pinMode(moteurA_2, OUTPUT);
14 }
15 void loop() {
16 digitalWrite(moteurA_1, LOW);
17 analogWrite(moteurA_2, vitesse);
18 delay(1000);
19
20 analogWrite(moteurA_1, vitesse);
21 digitalWrite(moteurA_2, LOW);
22 delay(1000);
23
24 digitalWrite(moteurA_1, LOW);
25 digitalWrite(moteurA_2, LOW);
26 delay(1000);
27 }
Item-Controleur_de_moteur_L9110__pont_en_h__l9110-motor-driver.jpg Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #