mirror of
				https://github.com/KevinMidboe/Arduino.git
				synced 2025-10-29 17:40:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| /*
 | |
|  * created by Rui Santos, http://randomnerdtutorials.wordpress.com
 | |
|  * Control DC motor with Smartphone via bluetooth
 | |
|  * 2013
 | |
|  */
 | |
| int motorPin1 = 3; // pin 2 on L293D IC
 | |
| int motorPin2 = 4; // pin 7 on L293D IC
 | |
| int enablePin = 5; // pin 1 on L293D IC
 | |
| 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); // set pin 2 on L293D low
 | |
|         digitalWrite(motorPin2, LOW); // set pin 7 on L293D 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); // set pin 2 on L293D low
 | |
|         digitalWrite(motorPin2, HIGH); // set pin 7 on L293D 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); // set pin 2 on L293D high
 | |
|         digitalWrite(motorPin2, LOW); // set pin 7 on L293D low
 | |
|         if(flag == 0){
 | |
|           Serial.println("Motor: left");
 | |
|           flag=1;
 | |
|         }
 | |
|     }
 | |
| }
 |