BASIC4MCU | 질문게시판 | 거리센서와 네오픽셀 코딩
페이지 정보
작성자 영진맘 작성일2018-06-05 17:11 조회10,796회 댓글0건본문
초음파 거리센서 URM37 코딩
// # Editor :Zrh from DFRobot
// # Data :29.08.2014
// # Product name:ultrasonic scanner
// # Product SKU:SEN0001
// # Version : 1.0
// # Description:
// # The sketch for using the URM37 autonomous mode from DFRobot
// # and writes the values to the serialport
// # Connection:
// # Vcc (Arduino) -> Pin 1 VCC (URM V4.0)
// # GND (Arduino) -> Pin 2 GND (URM V4.0)
// # Pin 3 (Arduino) -> Pin 4 ECHO (URM V4.0)
// # Pin TX1 (Arduino) -> Pin 8 RXD (URM V4.0)
// # Pin RX0 (Arduino) -> Pin 9 TXD (URM V4.0)
// # Working Mode: autonomous mode.int URECHO = 3; // PWM Output 0-25000US,Every 50US represent 1cm
unsigned int x=0;
uint8_t EnPwmCmd[4]={0x44,0x02,0xaa,0xf0}; // distance measure command
void setup(){ // Serial initialization
Serial.begin(9600); // Sets the baud rate to 9600
AutonomousMode_Setup();
}
void loop()
{
AutonomousMode();
delay(100);
} //PWM mode setup function
void AutonomousMode_Setup(){
pinMode(URECHO, INPUT); // Sending Enable PWM mode command
for(int i=0;i<4;i++){
Serial.write(EnPwmCmd[i]);
}
}
void AutonomousMode(){
unsigned long DistanceMeasured=pulseIn(URECHO,LOW);
if(DistanceMeasured>=45000){ // the reading is invalid.
Serial.print("Invalid");
}
else{
x=DistanceMeasured/50; // every 50us low level stands for 1cm
Serial.print("Distance=");
Serial.print(x);
Serial.println("cm");
}
}
이 코딩을 가지고
거리가 1.8m 이상일때는 흰색 점등 유지상태, 1.8m이하일때엔 빨간색이 1초간 점등되게 만들고 싶습니다.
if문을 활용하면 쉽다고 하는데 시도해봐도 실패해서 질문 드립니다.
댓글 0
조회수 10,796등록된 댓글이 없습니다.