Item:Controleur de moteur L9110 (pont en h) : Différence entre versions

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=Draft
+
|Complete=Published
 
}}
 
}}

Version du 21 janvier 2025 à 11:22


Item-Controleur de moteur L9110 pont en h l9110-motor-driver.jpg

Controleur de moteur L9110 (pont en h)

Le controleur de moteur L9110 est un composant, à bas coût, qui permet de controleur des moteurs avec un microcontroleur

1EUR (€)


Description longue

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.

Le code minimal :

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);

test

Exemple :

 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 }


Brochage du L9110

Pages liées

Commentaires

Published