Met behulp van de Sparkfun Motor Driver 1A Dual TB6612FNG - a Beginner's Guide (9 / 9 stap)

Stap 9: De Code


Tot slot, hier is de code die ik gebruikt heb om te controleren de motor bestuurder.  Hoop dat het duidelijk genoeg om steek te houden heeft gereageerd, en excuses die ik kon niet hoe uitwerken te bieden een download link naar!

Geniet van.

/*
Voorbeeldcode voor het uitvoeren van de Sparkfun TB6612FNG 1A Dual Motor Driver met behulp van de Arduino UNO R3

Deze code voert enkele eenvoudige manoeuvres om te illustreren de functies:
-Motor (motorNumber, motorDirection, motorSpeed)
-motorBrake(motorNumber)
-motorStop(motorNumber)
-motorsStandby

Verbindingen:
-Pin 3---> PWMA
-Pin 8---> AIN2
-Pin 9---> AIN1
-Pin 10---> STBY
-Pin 11---> BIN1
-Pin 12---> BIN2
-Pin 5---> PWMB

-Motor 1: A01 en A02
-Motor 2: B01 en B02

*/

Definiëren van de pinnen

Motor 1
int pinAIN1 = 9; Richting
int pinAIN2 = 8; Richting
int pinPWMA = 3; Snelheid

Motor 2
int pinBIN1 = 11; Richting
int pinBIN2 = 12; Richting
int pinPWMB = 5; Snelheid

Stand-by
int pinSTBY = 10;

Constanten te helpen herinneren van de parameters
statische Boole turnCW = 0;  voor de functie van de motor
statische Boole turnCCW = 1; voor de functie van de motor
statische Boole motor1 = 0;  voor motor, motorStop, motorrem functies
statische Booleaanse motor2 = 1;  voor motor, motorStop, motorrem functies

VOID Setup
{
Instellen van de PIN-modi
pinMode (pinPWMA, OUTPUT);


pinMode (pinAIN1, OUTPUT);
pinMode (pinAIN2, OUTPUT);

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

pinMode (pinSTBY, OUTPUT);

}

void loop
{

Beide motoren CW, volle snelheid rijden
Motor (motor1, turnCW, 255);
Motor (motor2, turnCW, 255);

Houden rijden voor 2 seconden
delay(2000);

Draai naar motor1: Stop Motor1, langzame Motor2
motorStop(motor1);
Motor (motor2, turnCW, 192);

Houden draaien voor 2 seconden
delay(2000);

Weer in tegenovergestelde richting: Motor2 stoppen, traag Motor1
Motor (motor1, turnCW, 192);
delay(250);
motorStop(motor2);

Houden draaien voor 2 seconden
delay(2000);

Strek omhoog
Motor (motor2, turnCW, 192);
delay(500);

Motoren in stand-by zetten
motorsStandby();
delay(1000);

Doe een strak beurt naar motor1: Motor2 vooruit, Motor1 reverse
Motor (motor1, turnCCW, 192);
Motor (motor2, turnCW, 192);

Houden draaien voor 2 seconden
delay(2000);

Toepassen van de remmen, dan in de stand-by
motorBrake(motor1);
motorBrake(motor2);
motorsStandby();

Blijf stil staan voor 5 sec, dan we het helemaal opnieuw doen...
delay(5000);

}

VOID motor (boolean motorNumber, boolean motorDirection, int motorSpeed)
{
/*
Dit drijft een opgegeven motor, in een bepaalde richting, met een opgegeven snelheid:
-motorNumber: motor1 of motor2---> Motor 1 of Motor 2
-motorDirection: turnCW of turnCCW---> met de klok mee of tegen de klok
-motorSpeed: 0 tot 255---> 0 = stop / 255 = snel
*/

Booleaanse pinIn1;  Betrekking heeft op AIN1 of BIN1 (afhankelijk van de motor nummer opgegeven)

Geef de richting om te schakelen van de motor
Met de klok mee: AIN1/BIN1 = HIGH en AIN2/BIN2 = laag
Linksom: AIN1/BIN1 = laag en AIN2/BIN2 = hoog
Als (motorDirection == turnCW)
pinIn1 = hoog;
anders
pinIn1 = laag;

Selecteer de motor te schakelen, en de richting en de snelheid instellen
if(motorNumber == motor1)
{
digitalWrite (pinAIN1, pinIn1);
digitalWrite (pinAIN2,! pinIn1);  Dit is het tegenovergestelde van de AIN1
analogWrite (pinPWMA, motorSpeed);
}
anders
{
digitalWrite (pinBIN1, pinIn1);
digitalWrite (pinBIN2,! pinIn1);  Dit is het tegenovergestelde van de BIN1
analogWrite (pinPWMB, motorSpeed);
}

Tot slot, zorg ervoor dat STBY is uitgeschakeld - trekken hoge
digitalWrite (pinSTBY, hoge);

}

VOID motorBrake(boolean motorNumber)
{
/*
Deze "Korte rem" s de opgegeven motor, door de snelheid instellen op nul
*/

Als (motorNumber == motor1)
analogWrite (pinPWMA, 0);
anders
analogWrite (pinPWMB, 0);

}

VOID motorStop(boolean motorNumber)
{
/*
Hiermee stopt u de opgegeven motor door beide pins IN te stellen op laag
*/
Als (motorNumber == motor1) {}
digitalWrite (pinAIN1, laag);
digitalWrite (pinAIN2, laag);
}
anders
{
digitalWrite (pinBIN1, laag);
digitalWrite (pinBIN2, laag);
}
}

VOID motorsStandby()
{
/*
Dit zet de motoren in de standby-modus
*/
digitalWrite (pinSTBY, laag);
}

Gerelateerde Artikelen

Geanimeerde Halloween weergeven met behulp van een elektrische motor en een fiets

Geanimeerde Halloween weergeven met behulp van een elektrische motor en een fiets

hier is een manier om een geanimeerde Halloween display, met behulp van meestal dingen die u al hebt rond het huis.  Ik powered de weergave met behulp van een kleine elektromotor krom tot aan het achterwiel van mijn fiets, en addertjes onder het gras
Met behulp van de WASP Motor Controller (ESC)

Met behulp van de WASP Motor Controller (ESC)

In dit Instructable zullen we moeten leren om controle van een WASP motor controller met behulp van een Arduino.De WASP motor controller is een Electronic Speed Controller (ESC), nemen een RC ingangssignaal van een Arduino en het stimuleren van het t
Hoe met behulp van oude Stepper Motors met Arduino en A4988 Driver

Hoe met behulp van oude Stepper Motors met Arduino en A4988 Driver

Mij zijn geweest using stappenmotoren voor een tijdje nu, en ze zijn fantastisch voor allerlei soorten robotica projecten.Vandaag zal ik het aandeel van de dingen die ik tot nu toe heb geleerd over het hergebruik van oude stappenmotoren geborgen van
Draagbare Bench Grinder met behulp van oude oven Motor

Draagbare Bench Grinder met behulp van oude oven Motor

hebben u ooit gemoeten werken uit de buurt van uw winkel, slechts stilstaand nood een grinder.  Ik heb, dus hier de oplossing die ik is op met kwam.  Ik had een oude oven-motor en een prieel.  Zeer handig om te hebben en eenvoudig om te maken.Lijst v
Controle van uw Robot met behulp van de mobiele telefoon

Controle van uw Robot met behulp van de mobiele telefoon

DEZE hele TUTORIAL IS ook beschikbaar op mijn WEBSITEHallo zal wereld in deze post ik u tonen hoe om te controleren van de robot met behulp van de mobiele telefoon. Besturen van een robot met behulp van de mobiele telefoon is niet zo ingewikkeld als
Abstract: Zeer lage kosten spirograaf met behulp van Laser

Abstract: Zeer lage kosten spirograaf met behulp van Laser

In dit project gaan we bouwen LASER SPIROGRAAF. Wij proberen op te bouwen laser spirograaf met behulp van laser pointers met behulp van externe stroombron, motoren, spiegels en schakelen dozen en potentiometers. Dit project verkent elegant ontwerp va
ANPR-Project met behulp van de Intel Edison

ANPR-Project met behulp van de Intel Edison

Dit is een automatische nummer plaat Recogniton Project met behulp van openCV en de Intel Edison-bestuur.Een overzicht:Een opname, pre-proces het in opencv vervolgens passeren het tesseract OCR om de tekens in de afbeelding. Geef de tekens op het gro
Bouwen van een eenvoudige Robot met behulp van een Arduino en L293 (H-brug)

Bouwen van een eenvoudige Robot met behulp van een Arduino en L293 (H-brug)

Hey mensen, dit is mijn eerste instructable, en ik ben hier om aan te tonen hoe het bouwen van een eenvoudige robot met een beetje van Arduino, programmering, maak je geen zorgen, ik heb bijgevoegd het codebestand hieronder, kunt u het gebruiken ter
Met behulp van statistische procescontrole voor het testen van de interne klok van Attiny85

Met behulp van statistische procescontrole voor het testen van de interne klok van Attiny85

Het gegevensblad voor de Attiny85 stelt dat de tolerantie van de interne klok +/-10 is %. Na mijn eerste test vond ik dit moeilijk te geloven. Dus ik heb toegepast Statistical Process Control om uit te vinden als deze bewering echt waar was.Stap 1: D
Arduino Mood Lamp met behulp van BlinkM

Arduino Mood Lamp met behulp van BlinkM

ThinkM is een nieuwe elektronikabedrijf dat nieuwe LED-apparaten die kan bediend vanuit de computer met behulp van een eenvoudige interface programma en connector heeft uitgebracht.In dit Instructable ik zal worden leer je hoe om te controleren van e
Programmeerbare Robot auto met behulp van Mediatek LinkIt één bestuur en L293D Motor Driver IC

Programmeerbare Robot auto met behulp van Mediatek LinkIt één bestuur en L293D Motor Driver IC

Met de hulp van dit Instructable zult u in staat om een auto van de programmeerbare Robot met behulp van Mediatek LinkIt één bestuur en L293D Motor Driver IC.Hier, is LinkIt één Board gebruikt als controller om te rijden de motoren in de respectieve
Motor Driver met behulp van de 555 Timer IC

Motor Driver met behulp van de 555 Timer IC

Ik woon in een klein stadje, 60 mijl afstand van de hoofdstad van de provincie. Het is onmogelijk voor mij om een motor bestuurder om te beginnen met een robot of RC project. Zelfs als ik wilde om te bouwen van mijn eigen motor chauffeur, is het moei
Basic (PWM) Motor snelheidscontrole met behulp van de 555 Timer ICs

Basic (PWM) Motor snelheidscontrole met behulp van de 555 Timer ICs

Dit is het eerste deel van zou moeten een tweedelige instructable over controle van de snelheid van een DC-motor met behulp van de 555 timer ICs bedoeld om degenen die nog steeds beginnen te maken van elektronica een hobby en beginners zoals ik in ee
Motor rijden met android met behulp van de arduino en bluetooth

Motor rijden met android met behulp van de arduino en bluetooth

Hey vrienden!! Dit is mijn eerste instructable ooit en vandaag ga ik u tonen hoe te rijden 2 motoren met android met behulp van de arduino en een goedkope Bluetooth-module. Dit project kunnen zeer nuttig zijn voor jou om te bouwen van robots die door