2. 코딩
pi@was02 ~/wiringPi $ mkdir ultrasonic
pi@was02 ~/wiringPi/ultrasonic $ vi ultrasonic.c
#include<stdio.h> #include<wiringPi.h> #define trigPin 0 #define echoPin 1 int main(void) { int distance = 0; //int pulse = 0; if(wiringPiSetup () == -1) { return 1; } pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); for(;;) { digitalWrite (trigPin, LOW); delay(2); digitalWrite (trigPin, HIGH); delay(20); digitalWrite (trigPin, LOW); while(digitalRead(echoPin) == LOW); long startTime = micros(); while(digitalRead(echoPin) == HIGH); long travelTime = micros() - startTime; distance = travelTime / 58; printf("Distance: %d cm\n", distance); delay(100); } }
3. 컴파일
pi@was02 ~/wiringPi/ultrasonic $ gcc -Wall -o ultrasonic ultrasonic.c -lwiringPi
pi@was02 ~/wiringPi/ultrasonic $
4. 테스트
pi@was02 ~/wiringPi/ultrasonic $ sudo ./ultrasonic
Distance: 25 cm
Distance: 25 cm
Distance: 25 cm
Distance: 25 cm
Distance: 25 cm
Distance: 25 cm
Distance: 25 cm
Distance: 25 cm
Distance: 25 cm
^Cpi@was02 ~/wiringPi/ultrasonic $