En utilisant le moteur de Sparkfun 1 a double TB6612FNG - Guide du débutant (9 / 9 étapes)

Étape 9: Le Code

Enfin, voici le code que j’ai utilisé pour contrôler le moteur.  J’espère qu’il a commenté assez clairement de donner un sens, et excuses, que je ne pouvais pas trouver comment fournir un téléchargement lient vers elle !

Profitez.

/*
Exemple de Code pour exécuter le Sparkfun TB6612FNG 1 a double pilote moteur avec Arduino UNO R3

Ce code effectue quelques manoeuvres simples pour illustrer les fonctions :
-motorDrive (motorNumber, motorDirection, motorSpeed)
-motorBrake(motorNumber)
-motorStop(motorNumber)
-motorsStandby

Connexions :
-Broche 3---> PW101
-Broche 8---> AIN2
-Broche 9---> AIN1
-Broche 10---> STBY
-Broche 11---> BIN1
-Axe 12---> BIN2
-Broche 5---> PWMB

-Moteur 1: A01 et A02
-Moteur 2: B01 et B02

*/

Définir les broches

Moteur 1
int pinAIN1 = 9 ; Direction
int pinAIN2 = 8 ; Direction
int pinPWMA = 3 ; Vitesse

Moteur 2
int pinBIN1 = 11 ; Direction
int pinBIN2 = 12 ; Direction
int pinPWMB = 5 ; Vitesse

Mise en veille
int pinSTBY = 10 ;

Constantes pour aider à mémoriser les paramètres
public static boolean turnCW = 0 ;  pour la fonction motorDrive
public static boolean turnCCW = 1 ; pour la fonction motorDrive
public static boolean motor1 = 0 ;  pour motorDrive, motorStop, fonctions de frein moteur
public static boolean motor2 = 1 ;  pour motorDrive, motorStop, fonctions de frein moteur

void setup()
{
Définir les Modes PIN
pinMode (pinPWMA, sortie) ;


pinMode (pinAIN1, sortie) ;
pinMode (pinAIN2, sortie) ;

pinMode (pinPWMB, sortie) ;
pinMode (pinBIN1, sortie) ;
pinMode (pinBIN2, sortie) ;

pinMode (pinSTBY, sortie) ;

}

void loop()
{

Conduire les deux moteurs CW, pleine vitesse
motorDrive (motor1, turnCW, 255) ;
motorDrive (motor2, turnCW, 255) ;

Continuer à rouler pendant 2 sec
Delay(2000) ;

Tourner vers motor1 : arrêt Motor1, la Motor2 lente
motorStop(motor1) ;
motorDrive (motor2, turnCW, 192) ;

Tourner pendant 2 sec
Delay(2000) ;

Tourner dans le sens contraire : Motor2 Stop, Motor1 lent
motorDrive (motor1, turnCW, 192) ;
Delay(250) ;
motorStop(motor2) ;

Tourner pendant 2 sec
Delay(2000) ;

Redressez-vous
motorDrive (motor2, turnCW, 192) ;
Delay(500) ;

Mettre le moteur en veille
motorsStandby() ;
Delay(1000) ;

Faire un virage serré vers motor1 : Motor2 de la Motor1 vers l’avant, marche arrière
motorDrive (motor1, turnCCW, 192) ;
motorDrive (motor2, turnCW, 192) ;

Tourner pendant 2 sec
Delay(2000) ;

Appliquez les freins, puis en mode veille
motorBrake(motor1) ;
motorBrake(motor2) ;
motorsStandby() ;

Se tenir immobile pendant 5 secondes, puis nous le referais partout...
Delay(5000) ;

}

void motorDrive (boolean motorNumber, boolean motorDirection, int motorSpeed)
{
/*
Cela actionne un moteur spécifié, dans une direction précise, à une vitesse spécifiée :
-motorNumber : motor1 ou motor2---> moteur 1 ou 2 moteurs
-motorDirection : turnCW ou turnCCW---> dans le sens horaire ou antihoraire
-motorSpeed : de 0 à 255---> 0 = arrêt / 255 = rapide
*/

Boolean pinIn1 ;  Se rapporte à AIN1 ou BIN1 (selon le numéro du moteur indiqué)

Spécifiez la Direction pour tourner le moteur
Dans le sens horaire : AIN1/BIN1 = haute et AIN2/BIN2 = faible
Aiguilles d’une montre : AIN1/BIN1 = LOW et AIN2/BIN2 = haute
Si (motorDirection == turnCW)
pinIn1 = élevé ;
d’autre
pinIn1 = bas ;

Sélectionnez le moteur tourne et régler la direction et la vitesse
if(motorNumber == motor1)
{
digitalWrite (pinAIN1, pinIn1) ;
digitalWrite (pinAIN2,! pinIn1) ;  Il s’agit de l’opposé de la AIN1
analogWrite (pinPWMA, motorSpeed) ;
}
d’autre
{
digitalWrite (pinBIN1, pinIn1) ;
digitalWrite (pinBIN2,! pinIn1) ;  Il s’agit de l’opposé de la BIN1
analogWrite (pinPWMB, motorSpeed) ;
}

Enfin, assurez-vous que STBY est désactivé - tirez-le haute
digitalWrite (pinSTBY, HIGH) ;

}

Sub motorBrake(boolean motorNumber)
{
/*
Ce « Frein » s le moteur spécifié, en définissant la vitesse à zéro
*/

Si (motorNumber == motor1)
analogWrite (pinPWMA, 0) ;
d’autre
analogWrite (pinPWMB, 0) ;

}

Sub motorStop(boolean motorNumber)
{
/*
Cela arrête le moteur spécifié en affectant les deux broches IN LOW
*/
Si (motorNumber == motor1) {}
digitalWrite (pinAIN1, basse) ;
digitalWrite (pinAIN2, basse) ;
}
d’autre
{
digitalWrite (pinBIN1, basse) ;
digitalWrite (pinBIN2, basse) ;
}
}

Sub motorsStandby()
{
/*
Cela met les moteurs en Mode veille
*/
digitalWrite (pinSTBY, basse) ;
}

Articles Liés

Comment utiliser un moteur pas à pas

Comment utiliser un moteur pas à pas

Si nous prenons soin de l'admettre ou non, les moteurs se trouvent partout dans notre vie quotidienne ; seulement, ils ont tendance à être masqué. Les moteurs sont présents dans les voitures, les imprimantes, les ordinateurs, machines à laver, rasoir
Comment utiliser le moteur de physique « Phun » !

Comment utiliser le moteur de physique « Phun » !

Dans ce instructable j'espère que pour vous montrer les rudiments à utiliser le moteur de « Phun » physique un peu amusant... Il idn't très difficile à charger et ne nécessite peu ou pas installation Enjoy !(Je ne prends absolument pas crédit pour la
Comment faire des textures pour n’importe quel jeu utilisant le moteur Source

Comment faire des textures pour n’importe quel jeu utilisant le moteur Source

ce tutoriel va montrer comment faire une texture de base pour n'importe quel jeu source, tels que ; Half Life 2, Half Life 2: episode 1, Half Life 2: episode 2, Counter-Strike : Source et bien d'autres.Quand j'ai commencé à faire des textures personn
Utilisant un moteur pas à pas comme capteur de vitesse automobile

Utilisant un moteur pas à pas comme capteur de vitesse automobile

je cherchais un capteur de vitesse pour mon projet de compteur de vitesseIl y a beaucoup d'idées en ce qui concerne les capteurs de vitesse.1-variable réluctance magnétique ramasser (comme les capteurs d'ABS automobiles)2 - IR LEDs & détecteurs IR3 -
Sans fil Robo-voiture en utilisant le moteur servo 360 °

Sans fil Robo-voiture en utilisant le moteur servo 360 °

robot de voiture smart à l'aide du moteur d'asservissement de rotation continue de 360 degrés.Étape 1: composants Étape 2: faire des marches Étape 3: prototype Étape 4: système de communication sans fil - zigbee Étape 5: programme #include < Servo.h
Guide du débutant aux moteurs Stirling

Guide du débutant aux moteurs Stirling

L'année dernière, j'ai été un élève de l'IB dans le programme du PPCS. À la fin de l'année, nous devions faire un projet de recherche sur quelque chose qui nous intéresse. Fait quelques recherches sur internet, je suis tombé sur ce qu'on appelle un m
Difficulté de Vauxhall Opel Holden Astra Twin Top toit Convertible parcelle plateau Winglet Rabat CNC moteur laiton Gear réparation Kit Installation Guide Instructions

Difficulté de Vauxhall Opel Holden Astra Twin Top toit Convertible parcelle plateau Winglet Rabat CNC moteur laiton Gear réparation Kit Installation Guide Instructions

Le problèmeLes engrenages en plastique dans le moteur de winglet parcelle plateau porte et bandes causant des failles de toit.Il est fréquent que le moteur qui actionne les winglets de plateau de parcelle à l'échec, au sein de ce moteur est un engren
Jeu de tiges poussoir Fiat Punto mise à niveau essuie-glace avant assemblage moteur réparation remplacement 1999-2006 Instruction Guide d’installation

Jeu de tiges poussoir Fiat Punto mise à niveau essuie-glace avant assemblage moteur réparation remplacement 1999-2006 Instruction Guide d’installation

Essuie-glaces ne fonctionne ne pas ? Un seul travail d'essuie-glace ? Mouvement d'essuie-glace erratique ? Lien de l'essuie-glace garder popping off ?Les roulements de mauvaise qualité sur votre tringleries de véhicules essuie-glace portent la cause
Guide du débutant à l’utilisation de Webhooks pour la domotique avec Prota OS

Guide du débutant à l’utilisation de Webhooks pour la domotique avec Prota OS

TL:DR : webhooks sont faciles à utiliser et mis en place avec OS Prota. Utilisez webhooks pour des centaines de flux de travail bureautique.Apprenez à configurer et utiliser le Prota OS pour Raspberry Pi ici.Télécharger OS Prota Raspberry Pi ici.Quel
Guide du débutant : comment utiliser sky3ds flashcart ?

Guide du débutant : comment utiliser sky3ds flashcart ?

Ce qui est le la meilleure carte de flash 3ds pour Nintendo 3DS Console Portable ?Probablement une des meilleures cartes jamais faits pour Nintendo 3DS est le Sky3ds. Dans le passé, utilisateurs flashcart 3ds peuvent jouer les jeux 3ds sur firmware v
BaW-Bot partie 2: Construire la commande moteur & corps

BaW-Bot partie 2: Construire la commande moteur & corps

il s'agit de la deuxième partie de notre génération de BaW-Bot (Bot de cloches et de sifflets) – 5 séparés instructables qui ressemblent dans différentes technologies axées sur l'Arduino, combinant pour créer un Bot avec toutes les cloches-et-sifflet
Raspberry Pi Motion caméra sensible

Raspberry Pi Motion caméra sensible

À l'aide d'un Pi de framboise, un module de caméra Raspberry Pi, un détecteur de mouvement PIR, un adaptateur USB WiFi, une poignée de pièces et quelques programmes Python, vous pouvez construire un appareil qui va prendre automatiquement des photos
Raspberry Pi Internet Monitor

Raspberry Pi Internet Monitor

Dans ma maison, vous pouvez souvent entendre quelqu'un crier « est l'Internet down? » Il est parfois, mais la plupart du temps c'est un « problème de l'utilisateur ». J'ai décidé de créer un gadget qui le rend facile dire si la connexion internet a t
RTTL Tunes sur arduino

RTTL Tunes sur arduino

Tout d'abord, vous vous demanderez « Ce qui est RTTL » ? Eh bien, je vais vous donner la réponse...RTTL signifie sonnerie Text Language et a été utilisé avant les smartphones pour permettre des sonneries cool. Il est très polyvalent car il peut jouer