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

+ Recent posts