Outils pour utilisateurs

Outils du site


start:arduino:mx1508

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:arduino:mx1508 [2023/11/21 17:16] – [Code arduino Exemple] gerardadminstart:arduino:mx1508 [2023/11/21 17:35] (Version actuelle) – [Fiche technique] gerardadmin
Ligne 24: Ligne 24:
 ==== Fiche technique ==== ==== Fiche technique ====
  
-[[https://electropeak.com/learn/interfacing-mx1508-motor-driver-module-with-arduino/#|MX1508 : fiche technique EN]]+[[https://components101.com/sites/default/files/component_datasheet/MX1508-DC-Motor-Driver-Datasheet.pdf|MX1508 : fiche technique EN]]
  
 ====Brochage du module pilote de moteur MX1508==== ====Brochage du module pilote de moteur MX1508====
Ligne 30: Ligne 30:
 Ce capteur possède 10 broches : Ce capteur possède 10 broches :
  
-    *Vs : Alimentation du module (entrée)+    *Vs : Alimentation du module (entrée --  2V à 9V6)
     *GND : terre     *GND : terre
     *IN1 : Entrée 1     *IN1 : Entrée 1
Ligne 102: Ligne 102:
 ==== Utlisation avec une bibliotheque ==== ==== Utlisation avec une bibliotheque ====
  
-[[https://github.com/Saeterncj/MX1508|Librairie MX1508]]+[[https://github.com/Saeterncj/MX1508|Librairie MX1508 sur Github]] 
 + 
 +{{ :start:arduino:mx1508-master.zip |Librairie MX1508}} 
 + 
 +[[https://youtu.be/jntVTbv9dD0?si=G8QaQGi1mLOQHXns|Video utilisation Librairie MX1508]] 
 + 
 +==== Code utilisation librairie MX1508 ==== 
 + 
 +<code c LibMX1508.ino> 
 +#include <MX1508.h> 
 + 
 +#define PINA 9 
 +#define PINB 10 
 +#define NUMPWM 2 
 +// MX1508 schematics(in Chinese) can be found here at: http://sales.dzsc.com/486222.html 
 +/* 
 + * MX1508(uint8_t pinIN1, uint8_t pinIN2, DecayMode decayMode, NumOfPwmPins numPWM); 
 + * DecayMode must be FAST_DECAY or SLOW_DECAY, 
 + * NumOfPwmPins, either use 1 or 2 pwm.  
 + * I recommend using 2 pwm pins per motor so spinning motor forward and backward gives similar response. 
 + * if using 1 pwm pin, make sure its pinIN1, then set pinIN2 to any digital pin. I dont recommend this setting because  
 + * we need to use FAST_DECAY in one direction and SLOW_DECAY for the other direction.   
 + */ 
 +MX1508 motorA(PINA,PINB, FAST_DECAY, NUMPWM); 
 + 
 +void setup() { 
 +  Serial.begin(115200); 
 +
 +/* 
 + * Ramp up to pwm = 100, by increasing pwm by 1 every 50 millisecond.  
 + * then ramp down to pwm = -100, by decreasing pwm every 50 millisecond. 
 + * positive value pwm results in forward direction. 
 + * negative value pwm results in opposite direction.  
 + */ 
 +void loop() { 
 +  // put your main code here, to run repeatedly: 
 +  static unsigned long lastMilli = 0; 
 +  static bool cwDirection = true; // assume initial direction(positive pwm) is clockwise 
 +  static int pwm = 1; 
 +   
 +  if(millis()-lastMilli > 50){ // every 50 millisecond 
 +      if (cwDirection && pwm++ > 100 ) {   
 +        cwDirection = false; 
 +      } else if (!cwDirection && pwm-- < -100) { 
 +        cwDirection =  true; 
 +      }  
 +    motorA.motorGo(pwm); 
 +    lastMilli = millis(); 
 +    Serial.println(motorA.getPWM()); // we can just print pwm but just showing that member function getPWM() works. 
 +  } 
 + 
 +
 +</code> 
 + 
 +==== Differents exemples d'utilisation de la librairie MX1508 ==== 
 + 
 +[[https://github.com/Saeterncj/MX1508/tree/master/examples| Exemples MX1508 Lib]]
  
  
  
/home/chanteri/www/fablab37110/data/attic/start/arduino/mx1508.1700583418.txt.gz · Dernière modification : 2023/11/21 17:16 de gerardadmin