Devices & Components
Arduino Uno Rev3
SMPS Controller, 8V-35V supply
Stepper Motor, Mini Step
Motor Driver/Controller, H-Bridge
Project description
Code
Code for Arduino
arduino
1int pulPin = 4; 2int dirPin = 3; 3int enblPin = 2; 4int ledPin = 13; 5int pushButton = 6; 6int speed =0; 7int pushButton1 = 5; 8void setup() { 9 // put your setup code here, to run once: 10 pinMode(pulPin, OUTPUT); 11 pinMode(dirPin, OUTPUT); 12 pinMode(enblPin, OUTPUT); 13 pinMode(ledPin, OUTPUT); 14 15 digitalWrite(pulPin, LOW); 16 digitalWrite(ledPin, LOW); 17 digitalWrite(enblPin, LOW); 18 digitalWrite(dirPin, LOW); 19 20 21 pinMode(pushButton, INPUT); 22 pinMode(pushButton1, INPUT); 23 Serial.begin(9600); 24 Serial.println("init"); 25 26 digitalWrite(enblPin, HIGH); 27 delay(100); 28 digitalWrite(enblPin, LOW); 29} 30 31void loop() { 32 int buttonState = digitalRead(pushButton); 33 int buttonState1 = digitalRead(pushButton1); 34 Serial.print(buttonState); 35 Serial.print(" "); 36 Serial.println(buttonState1); 37 int sensorValue = analogRead(A0); 38 int sensorValue1 = analogRead(A1); 39 40 // apply the calibration to the sensor reading 41 speed = map(sensorValue1, 0, 1022, 100, 1000); 42 Serial.print(speed); 43 Serial.print(" "); 44 45 if ((sensorValue < 900) && (sensorValue > 100)) { 46 Serial.print("center"); 47 } 48 if (sensorValue > 900) { 49 Serial.print("right"); 50 cw(); 51 } 52 if (sensorValue < 100) { 53 Serial.print("left"); 54 cc(); 55 } 56 57 58} 59 60 61void cw() { 62 while (1) { 63 int buttonState = digitalRead(pushButton); 64 int buttonState1 = digitalRead(pushButton1); 65 digitalWrite(dirPin, HIGH); 66 digitalWrite(pulPin, HIGH); 67 digitalWrite(pulPin, LOW); 68 delayMicroseconds(speed); 69 int sensorValue = analogRead(A0); 70 if ((sensorValue < 900) && (sensorValue > 100)) { 71 Serial.print("center"); 72 break; 73 } 74 if (buttonState == LOW) { 75 break; 76 } 77 } 78} 79void cc() { 80 while (1) { 81 int buttonState = digitalRead(pushButton); 82 int buttonState1 = digitalRead(pushButton1); 83 digitalWrite(dirPin, LOW); 84 digitalWrite(pulPin, HIGH); 85 digitalWrite(pulPin, LOW); 86 delayMicroseconds(speed); 87 int sensorValue = analogRead(A0); 88 if ((sensorValue < 900) && (sensorValue > 100)) { 89 Serial.print("center"); 90 break; 91 } 92 if (buttonState1 == LOW) { 93 break; 94 } 95 } 96} 97
Comments
Only logged in users can leave comments