Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int motorPin1 = 8;
- int motorPin2 = 10;
- int enablePin = 5;
- int state;
- int flag=0; //makes sure that the serial only prints once the state
- void setup() {
- // sets the pins as outputs:
- pinMode(motorPin1, OUTPUT);
- pinMode(motorPin2, OUTPUT);
- pinMode(enablePin, OUTPUT);
- // sets enablePin high so that motor can turn on:
- digitalWrite(enablePin, HIGH);
- // initialize serial communication at 9600 bits per second:
- Serial.begin(9600);
- }
- void loop() {
- //if some date is sent, reads it and saves in state
- if(Serial.available() > 0){
- state = Serial.read();
- flag=0;
- }
- // if the state is '0' the DC motor will turn off
- if (state == '0') {
- digitalWrite(motorPin1, LOW);
- digitalWrite(motorPin2, LOW);
- if(flag == 0){
- Serial.println("Motor: off");
- flag=1;
- }
- }
- // if the state is '1' the motor will turn right
- else if (state == '1') {
- digitalWrite(motorPin1, LOW);
- digitalWrite(motorPin2, HIGH);
- if(flag == 0){
- Serial.println("Motor: right");
- flag=1;
- }
- }
- // if the state is '2' the motor will turn left
- else if (state == '2') {
- digitalWrite(motorPin1, HIGH);
- digitalWrite(motorPin2, LOW);
- if(flag == 0){
- Serial.println("Motor: left");
- flag=1;
- }
- }
- else if (state == '3') {
- digitalWrite(motorPin1, HIGH);
- digitalWrite(motorPin2, HIGH);
- if(flag == 0){
- Serial.println("Motor: both");
- flag=1;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment