아두이노uno r3 + bluetooth + Sonar sensor(MAX SONAR) + motor driver(l293d)
//
#include <SoftwareSerial.h>
#define led 5
#define led2 4
#define BUFF_SIZE 256
#define motorEnable 6
#define motor1 7
#define motor2 8
float Inch=0.00;
float cm=0.00;
int SonarPin=A0;
int sensorValue;
SoftwareSerial BTSerial(2, 3); // SoftwareSerial(RX, TX)
uint8_t buffer[BUFF_SIZE];
void setup(){
BTSerial.begin(9600);
Serial.begin(9600);
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(motor1,OUTPUT);
pinMode(motor2,OUTPUT);
pinMode(SonarPin,INPUT);
analogWrite(motorEnable,0);
digitalWrite(motor1,HIGH);
digitalWrite(motor2,LOW);
}
void loop(){
while(BTSerial.available()){ // 블루투스로 데이터 수신
byte data = BTSerial.read(); // 수신 받은 데이터 저장
Serial.println(data);
switch(data){
case '1' :
digitalWrite(led, HIGH);
analogWrite(motorEnable,1023);
break;
case '2' :
digitalWrite(led2, HIGH);
analogWrite(motorEnable,1023);
delay(100);
analogWrite(motorEnable,400);
break;
case '0' :
digitalWrite(led2, LOW);
digitalWrite(led, LOW);
analogWrite(motorEnable,50);
analogWrite(motorEnable,0);
break;
default :
break;
}
}
char pass[10];
sensorValue=analogRead(SonarPin);
delay(0);
Inch= (sensorValue*0.497);
cm=Inch*2.54;
dtostrf(cm, 5, 2, pass);
for(int i=9;i>0;i--){
pass[i] = pass[i-1];
}
pass[0] = ' ';
Serial.println(pass); // 수신 받은 데이터 저장
BTSerial.write(pass);
delay(100);
}
'프로그래밍 > 아두이노03- 연습' 카테고리의 다른 글
아두이노 개발 연습 -Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board for Arduino (0) | 2015.10.22 |
---|---|
아두이노 개발 연습 - wido arduino web server + radiation kit2 (0) | 2015.07.03 |
아두이노 개발 연습 - wido arduino web server + radiation kit (0) | 2015.06.20 |
아두이노 개발 연습 - wido arduino use at web server (0) | 2015.06.20 |
아두이노 개발 연습 - 온도센서(ds18b20 waterproof)활용 (0) | 2014.08.14 |