Ligne 49 : | Ligne 49 : | ||
|- | |- | ||
| valign="middle" bgcolor="#999999" align="center" |Variable pour un moteur | | valign="middle" bgcolor="#999999" align="center" |Variable pour un moteur | ||
− | | valign="middle" align="left" |#define | + | | valign="middle" align="left" |#define moteurA_1A 15 |
− | <nowiki>#</nowiki>define | + | <nowiki>#</nowiki>define moteurA_2A 13 |
int vitesse = 128; // 0 à 255 | int vitesse = 128; // 0 à 255 | ||
Ligne 73 : | Ligne 73 : | ||
// pont en H // | // pont en H // | ||
////////////////////////// | ////////////////////////// | ||
+ | /* | ||
+ | _________________ | ||
+ | / D1 mini \ | ||
+ | |[ ]RST TX[ ]| | ||
+ | |[ ]A0 -GPIO RX[ ]| | ||
+ | |[ ]D0-16 5-D1[ ]| | ||
+ | |[ ]D5-14 4-D2[ ]| | ||
+ | |[ ]D6-12 0-D3[ ]| | ||
+ | A-1B - |[ ]D7-13 2-D4[ ]| LED_BUILTIN | ||
+ | A_1A - |[ ]D8-15 GND[ ]| | ||
+ | |[ ]3V3 . 5V[ ]| | ||
+ | | +---+ | | ||
+ | |_______|USB|_______| | ||
+ | */ | ||
− | #define | + | #define moteurA_1A 15 |
− | #define | + | #define moteurA_1B 13 |
int vitesse = 128; // 0 à 255 | int vitesse = 128; // 0 à 255 | ||
void setup() { | void setup() { | ||
// Configuration des ports en mode "sortie" | // Configuration des ports en mode "sortie" | ||
− | pinMode( | + | pinMode(moteurA_1A, OUTPUT); |
− | pinMode( | + | pinMode(moteurA_1B, OUTPUT); |
} | } | ||
void loop() { | void loop() { | ||
− | digitalWrite( | + | digitalWrite(moteurA_1A, LOW); |
− | analogWrite( | + | analogWrite(moteurA_1B, vitesse); |
delay(1000); | delay(1000); | ||
− | analogWrite( | + | analogWrite(moteurA_1A, vitesse); |
− | digitalWrite( | + | digitalWrite(moteurA_1B, LOW); |
delay(1000); | delay(1000); | ||
− | digitalWrite( | + | digitalWrite(moteurA_1A, LOW); |
− | digitalWrite( | + | digitalWrite(moteurA_1B, LOW); |
delay(1000); | delay(1000); | ||
} | } |
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_1A 15
#define moteurA_2A 13 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 _________________
8 / D1 mini \
9 |[ ]RST TX[ ]|
10 |[ ]A0 -GPIO RX[ ]|
11 |[ ]D0-16 5-D1[ ]|
12 |[ ]D5-14 4-D2[ ]|
13 |[ ]D6-12 0-D3[ ]|
14 A-1B - |[ ]D7-13 2-D4[ ]| LED_BUILTIN
15 A_1A - |[ ]D8-15 GND[ ]|
16 |[ ]3V3 . 5V[ ]|
17 | +---+ |
18 |_______|USB|_______|
19 */
20
21 #define moteurA_1A 15
22 #define moteurA_1B 13
23 int vitesse = 128; // 0 à 255
24 void setup() {
25 // Configuration des ports en mode "sortie"
26 pinMode(moteurA_1A, OUTPUT);
27 pinMode(moteurA_1B, OUTPUT);
28 }
29 void loop() {
30 digitalWrite(moteurA_1A, LOW);
31 analogWrite(moteurA_1B, vitesse);
32 delay(1000);
33
34 analogWrite(moteurA_1A, vitesse);
35 digitalWrite(moteurA_1B, LOW);
36 delay(1000);
37
38 digitalWrite(moteurA_1A, LOW);
39 digitalWrite(moteurA_1B, LOW);
40 delay(1000);
41 }
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 :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #