정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

초음파센서
KJY | 2018-03-24

초음파 센서를 2개 사용해서 22cm 안에 물체가 감지됬을 때 count를 1씩  올리는 프로그램을 설계하고 있는데 

계속 초음파 센서의 count가 올라갑니다. 그래서 확인을 위해 cm를 출력하게 해봤더니 0.05,0.07 등의 숫자만 나오더라고요. 도와줘요 코코아팹~~

 

소스코드 

 

#include <SoftwareSerial.h>

int echo1 = 8;
int trig1 = 9;
int echo = 12;
int trig = 13;
int k,n=0;

void setup() {            
  Serial.begin(9600);
  btSerial.begin(9600);
  pinMode(trig1,OUTPUT);
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
  pinMode(echo1,INPUT);
}

void loop() {  
  Serial.print("\n");
  digitalWrite(trig, LOW);
  digitalWrite(echo, LOW);
  delayMicroseconds(2);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);

  
  unsigned long duration = pulseIn(echo, HIGH);


  float distance = duration / 29.0 / 2.0;


  Serial.print(distance);
  Serial.println("cm\n");

 

  if(distance<22){

       n++;

       Serial.print("a그룹 ")

       Serial.println(n);

}

  delay (500);

 

digitalWrite(trig1, LOW);
  digitalWrite(echo1, LOW);
  delayMicroseconds(2);
  digitalWrite(trig1, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig1, LOW);

  
  unsigned long duration1 = pulseIn(echo1, HIGH);


  float distance1 = duration1 / 29.0 / 2.0;

 
  Serial.print(distance1);
  Serial.println("cm\n");

  if(distance1<22){

       k++;

       Serial.print("b그룹 ")

       Serial.println(k);

}

  delay (500);

이전글   |    STM32 관련 MBED 보드 사용하시는분 계신가요?... 2018-03-19
다음글   |    스케치를 업로드 하는 동안 에러가 발생하였습니다.... 2018-03-24