음성고등학교 로고이미지

RSS 페이스북 공유하기 트위터 공유하기 카카오톡 공유하기 카카오스토리 공유하기 네이버밴드 공유하기 프린트하기
좋아요:0
작성자 이재찬 등록일 17.10.12 조회수 91

#define TRIG 2
#define ECHO 3
#define COLOR_COUNT 10
#define GAP 10
#define RED 11
#define GREEN 10
#define BLUE 9

int colors[COLOR_COUNT][3]=
{
{255, 0, 0},
{255, 255, 0},
{128, 255, 0},
{0, 255, 0},
{0, 255, 128},
{0, 255, 255},
{0, 128, 255},
{0, 0, 255},
{127, 0, 255},
{255, 0, 255}
};

void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
Serial.begin(9600);
}

void loop() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);

long distance = pulseIn(ECHO, HIGH, 5800)/58;

if(0 < distance && distance <= COLOR_COUNT * GAP){
  for(int i=0;i  if(i*GAP < distance && distance <= (i+1)*GAP){
    analogWrite(RED, colors[i][0]);
    analogWrite(GREEN, colors[i][1]);
    analogWrite(BLUE, colors[i][2]);
    break;
    }
 }
}else{
  analogWrite(RED, 0);
  analogWrite(GREEN, 0);
  analogWrite(BLUE, 0);
}
Serial.println(distance);
}

이전글 가로등
다음글 이지성