ARDUINO stappenmotor gecontroleerd met roterende encoder en l293d of SN754410NE-chip (2 / 2 stap)

Stap 2: De code


Nu dat je kopieert het circuit gebouwd in de ARDUINO ide u de code hieronder en in het verleden het

#include < Stepper.h >
Const int encoderPinA = 2; rechts
Const int encoderPinB = 3; links
Const int encButton = 4; encoder drukknop
int encoderPos = 0; teller
unsigned int lastReportedPos = 1; wijzigen
statische Booleaanse roterende = false; ontdendering
Boole A_set = false;
Boole B_set = false;
Const int stepsPerRevolution = 200;
Stepper-myStepper (stepsPerRevolution, 8, 9, 10, 11); h-brug pinnen
VOID Setup {}
myStepper.setSpeed(60);
pinMode (encoderPinA, INPUT_PULLUP); pullups inschakelen
pinMode (encoderPinB, INPUT_PULLUP);
pinMode (encButton, INPUT_PULLUP);
attachInterrupt (0, doEncoderA, verandering); pin 2
attachInterrupt (1, doEncoderB, verandering); pin 3
Serial.begin(9600);
}
void loop {}
roterende = true; Reset de debouncer
Als (lastReportedPos! = encoderPos) {}
Serial.println(encoderPos);
lastReportedPos = encoderPos;
Als (digitalRead(encButton) == laag)
{
encoderPos = (encoderPos * 100); de 100 omzetten in hoeveel stappen
} //you willen de stepper te verplaatsen wanneer
myStepper.step(encoderPos); de knop wordt ingedrukt
encoderPos = 0;
}
}
ongeldig doEncoderA() {}
ontdendering
Als (roterende) vertraging (1); een beetje wachten totdat het stuiteren is gedaan
Testen van de overgang
Als (digitalRead(encoderPinA)! = A_set) {/ / nogmaals debounce
A_set =! A_set;
teller + als A B leidt aanpassen
Als (A_set & &! B_set)
encoderPos += 1; de 1 omzetten in stappen te nemen toen encoder
roterende = false; niet meer debouncing tot loop weer raakt
}
}
Onderbreken op B staat wijzigen
ongeldig doEncoderB() {}
Als (roterende) vertraging (1);
Als (digitalRead(encoderPinB)! = B_set) {}
B_set =! B_set;
aanpassen teller - 1 als B A leidt
Als (B_set & &! A_set)
encoderPos-= 1; de 1 omzetten in stappen te nemen toen encoder
roterende = false;
}
}

Nu dat je alles met schakelen van de roterende encoder, als de stepper de tegenovergestelde manier draait dan wat je gewoon wilt schakelen 2 draden aan de ene kant van de stappenmotor (slechts één kant niet beide).

Vervolgens druk op de knop ingedrukt en draai het coderingsprogramma, Is 100 stappen moeten zetten in de richting u het coderingsprogramma hebt ingeschakeld. Als u wijzigen hoe vele stappen de stepper wordt verplaatst wilt wanneer u het coderingsprogramma gewoon kijken naar de code, haar commentaar op de 3 plaatsen moet u om het te veranderen. Wanneer u wijzigt de waarde van de drukknop herinner me het zal worden vermenigvuldigd met de waarde van de normale stappen.

Ik hoop dat deze tutorial was nuttig, als u nog vragen of opmerkingen kunt u laat ze ziek terug naar u te krijgen ASAP...

Gerelateerde Artikelen

Arduino Nano en Visuino: controle van Stepper Motor met roterende Encoder

Arduino Nano en Visuino: controle van Stepper Motor met roterende Encoder

Soms is het noodzakelijk dat een Stepper Motor volgen de rotatie van een Rotary Encoder voor precieze positionering. Ik heb al van plan Instructable op dit voor een lange tijd, maar uiteindelijk een paar dagen geleden na zoveelste vraag door Visuino
Arduino Nano en Visuino: Control Servo met roterende Encoder

Arduino Nano en Visuino: Control Servo met roterende Encoder

Er zijn een heleboel Instructables hoe control Servo met potentiometer, echter soms is het handig om het te controleren met een Rotary Encoder. In dit Instructable, zal ik u tonen hoe gemakkelijk het is om dit te implementeren met behulp van Visuino
ESP8266 en Visuino: Servo op afstand te bedienen via Wi-Fi met roterende Encoder

ESP8266 en Visuino: Servo op afstand te bedienen via Wi-Fi met roterende Encoder

ESP8266 modules zijn grote low-cost stand-alone controllers met ingebouwde Wi-Fi. In dit Instructable zal ik u tonen hoe u kunt controleren een Servo op afstand via Wi-Fi met een Rotary-Encoder. De Instructable is een soortgelijke maar meer geavancee
Roterende Encoder LED-Strip helderheid Controller

Roterende Encoder LED-Strip helderheid Controller

Eenvoudig LED strip helderheid controller met roterende encoder en attiny microcontroller van 85Stap 1: Intro:Ik zal u tonen hoe om de helderheid van de LED-strip gemakkelijk te controleren. Dit is eigenlijk een PWM controller. Het is ontworpen allee
Slimme telefoon kerstboom gecontroleerd met RGB LED-Strip

Slimme telefoon kerstboom gecontroleerd met RGB LED-Strip

sinds Kerstmis is hier, we deze kerstboom met RGB LED-Strip ingericht voor onze kerstfeest, en maakte het een slimme telefoon gecontroleerd boom. XD. It zal zeker een "last-minute" magie voor de show Xmas presenteren. Kerstmis komt eraan maar va
Arduino Nano: De roterende Encoder met Visuino

Arduino Nano: De roterende Encoder met Visuino

De Rotary encoders zijn zeer nuttig precieze rotatie sensoren, ook vaak gebruikt als gebruiker gecontroleerd invoerapparaten potentiometers. Ze zijn makkelijk te verbinden met Arduino, en met de hulp van Visuino - een makkelijk te gebruiken grafische
Arduino Bluetooth gecontroleerde bureaulamp - met Relay Kluisje

Arduino Bluetooth gecontroleerde bureaulamp - met Relay Kluisje

Vandaag zal ik u tonen hoe te bouwen uw eigen Bluetooth gecontroleerde bureaulamp met arduino uno.Voor dit project zul je om te bouwen van de kluis van het ralay dat u kunt het hier vinden:(Opmerking: als u niet wilt om te bouwen van een kluisje kunt
Arduino robot verplaatsen voorwaarts en achterwaarts met HC-SR04 en L293D

Arduino robot verplaatsen voorwaarts en achterwaarts met HC-SR04 en L293D

Dit is een project dat ik gemaakt heb om te laten zien de leerlingen hoe ze een eenvoudige robot auto te reageren afhankelijk van de input die het krijgt uit een ultrasone sensor kunnen programmeren. De robot aangetoond in het uur van de code in de 1
RGB LED gecontroleerd met arduino

RGB LED gecontroleerd met arduino

HalloDit is een beetje instructable te laten zien hoe te doen (rood groen en blauw) RGB Led gecontroleerd met arduino. Het bevat schema van het circuit en een kleine C# programma dat toestaat om te veranderen van de kleur van de Led.Stap 1: Doe het c
Arduino stem gecontroleerde Robot met RGB-LED

Arduino stem gecontroleerde Robot met RGB-LED

Hoi is dit mijn eerste project in instructable. Dit is een arduino robot gecontroleerd in drie ways.you kunt bepalen met behulp van spraak, knopbesturingselement en richtingscontrole met behulp van android apps. We kunnen ook een RGB led met Stembedi
Arduino frequentie synthesizer met behulp van 160MHz Si5351

Arduino frequentie synthesizer met behulp van 160MHz Si5351

Dit Instructable beschrijft de bouw en werking van een zelfstandige frequentie synthesizer geschikt voor gebruik als een signaalgenerator, of voor gebruik als de lokale oscillator in een amateur band zender of ontvanger.Mijn prototype was gebouwd op
Mobiele robot gecontroleerd met behulp van bluetooth

Mobiele robot gecontroleerd met behulp van bluetooth

Deze keer ging ik over het bouwen van een kleine mobiele robot die kan worden gecontroleerd met behulp van mijn Android telefoons bluetooth. De robot maakt gebruik van een bluetooth-module van Bolutek BC04, gekoppeld aan een Arduino UNO.Stap 1: De BC
Digitale klok met behulp van 7 Segment Display gecontroleerd met behulp van TV Remote

Digitale klok met behulp van 7 Segment Display gecontroleerd met behulp van TV Remote

er zijn rassen van digitale klok beschikbaar in ons dagelijks leven. Eenvoudige digitale klok zal meestal hebben sommige gebouwd in functies zoals alarm klok, kalender en thermometer naast de display de klok-informatie. Sommige van de vooraf digitale
Arduino "Knipperen praten" met behulp van Charlieplexing

Arduino "Knipperen praten" met behulp van Charlieplexing

Dit project kan worden geclassificeerd als een apparaat van AAC (alternatief en Augmentative communicatie), die worden gebruikt als een communicatiemiddel voor mensen die lijden aan slopende ziekten zoals ALS en dergelijke, die leiden tot volledige v