728x90
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
int LED1 = 27 ;
int trig = 23 ;
int echo = 24 ;
long start_time, end_time ;
float distance ;
wiringPiSetup();
pinMode(LED1, OUTPUT);
pinMode(trig, OUTPUT);
pinMode(echo , INPUT);
while(1) {
digitalWrite(trig, LOW) ;
delay(500) ;
digitalWrite(trig, HIGH) ;
delayMicroseconds(10) ;
digitalWrite(trig, LOW) ;
while (digitalRead(echo) == 0) ;
start_time = micros() ;
while (digitalRead(echo) == 1) ;
end_time = micros() ;
distance = (end_time - start_time) / 29. / 2. ;
printf("distance %.2f cm\n", distance) ;
delay(100);
if(distance < 10)
{
digitalWrite(LED1, 1);
}
else
{
digitalWrite(LED1, 0);
}
delay(1000);
}
return 0 ;
}
위의 코드는 C코드로 작성되었으며, C코드를 사용하려면 WiringPI을 설치해야합니다.
위의 코드를 실행 시 밑의 화면 처럼된다. 거리는 10cm로 설정되었다.
728x90
'라즈베리파이 > 센서' 카테고리의 다른 글
[라즈베리파이]c언어(wiringpi)로 gpio 스위치로 led제어하기 (0) | 2020.11.16 |
---|---|
[라즈베리파이] c언어(wiringpi)로 gpio pwm을 이용한 led점멸 (0) | 2020.11.16 |
[라즈베리파이]c언어(wiringpi)로 gpio led제어 (0) | 2020.11.16 |
라즈베리파이(온습도센서 DHT-11 GPIO로 제어) C, Python (3) | 2020.08.27 |