이 페이지는 아두이노 개발 연습페이지입니다.
이 페이지에는 연습 및 여러 센서를 사용하여 응용하여 만들어보는 페이지로 사용해보겠습니다.
이번에는 많이 사용하는 초음파센서를 사용/응용한 아두이노를 만들어보았다.
기본적으로 초음파센서(hc-sr04)를 사용할것이며
<HC-SR04 모듈> - 최소 2cm - 최대 400cm까지 측정가능
거리에 따른 led켜짐을 응용하였다. 총 6개의 led를 사용하였으며 3개는 초록, 2개는 노랑, 1개는 빨강으로서
가까우면 초록1개 멀어질수록 led가 많이 켜지는 방식을 택하였다.
위와 같이 최종 회로가 구성되었다.
아두이노는 100%호환보드인 korduino를 사용하였으며(왼쪽 빨간색보드) 빵판에 엘이디 6개와 초음파센서를 간단히 달았다.
이번 개발연습에서는 아두이노에 프로그램을 삽입한 뒤 실사용이 가능토록
중국산 짝퉁 SAMSUNG - 베터리 파워팩을 사용하였다.(output 5v/1a)
다소 아두이노의 전압/전류량이 작긴하지만 실제 작동하는데에는 문제가 없었다.
거리가 최대로 멀어졋을때는 위와 같이 모든 불이 다 켜진다.
최대로 가까이 했을때는 불이 모두 꺼지도록 하였다.
약 10cm이상 떨어졋을때 led1개가 켜진다.
40cm이상 떨어졌을때 led2개가 켜진다.
아래는 해당 코드.
#define tP 13
#define eP 12
#define led1 2
#define led2 3
#define led3 4
#define led4 5
#define led5 6
#define led6 7
void setup()
{
Serial.begin(9600);
pinMode(tP,OUTPUT);
pinMode(eP,INPUT);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
pinMode(led6,OUTPUT);
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
}
long microToCenti(long mic)
{
return mic/29/2;
}
void loop(){
long duration, cm;
digitalWrite(tP,LOW);
delayMicroseconds(2);
digitalWrite(tP,HIGH);
delayMicroseconds(10);
digitalWrite(tP,LOW);
duration=pulseIn(eP,HIGH);
cm = microToCenti(duration);
if(cm>10)
{
digitalWrite(led1,HIGH);
}else{
digitalWrite(led1,LOW);
}
if(cm>40)
{
digitalWrite(led2,HIGH);
}else{
digitalWrite(led2,LOW);
}
if(cm>80)
{
digitalWrite(led3,HIGH);
}else{
digitalWrite(led3,LOW);
}
if(cm>130)
{
digitalWrite(led4,HIGH);
}else{
digitalWrite(led4,LOW);
}
if(cm>160)
{
digitalWrite(led5,HIGH);
}else{
digitalWrite(led5,LOW);
}
if(cm>200)
{
digitalWrite(led6,HIGH);
}else{
digitalWrite(led6,LOW);
}
Serial.print(cm);
Serial.println("cm");
delay(100);
}
감사합니다.
'프로그래밍 > 아두이노03- 연습' 카테고리의 다른 글
아두이노 개발 연습 - wido arduino web server + radiation kit2 (0) | 2015.07.03 |
---|---|
아두이노 개발 연습 - arduino + bluetooth + motor driver (0) | 2015.07.01 |
아두이노 개발 연습 - 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 |