int trig = 13; int echo = 12; int led[] = {3, 4, 5, 6, 7, 8, 9, 10, 11}; //각 핀 변수로 설정 void setup() { pinMode(trig, OUTPUT); pinMode(echo, INPUT); //음파를 받아야 하니 INPUT으로 for(int i=0; i<9; i++) pinMode(led[i], OUTPUT); //각 변수 출력으로 설정 Serial.begin(9600); //시리얼통신 시작 } void loop() { digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); //초음파를 발사! int duration = pulseIn(echo, HIGH); //초음파가 발사되면 물체까지의 시간을 측정하여 //변수 duration에 넣어준다. int dis = duration / 29 / 2; //측정된 시간을 cm단위로 바꿔준다. if(dis < 12) //거리가 12cm보다 가까워지면 digitalWrite(led[0], HIGH); //led[0]을 켜라 else //아니면 digitalWrite(led[0],LOW); // led[0]을 꺼줘라. if(dis < 11) digitalWrite(led[1], HIGH); else digitalWrite(led[1],LOW); if(dis < 10) digitalWrite(led[2], HIGH); else digitalWrite(led[2],LOW); if(dis < 9) digitalWrite(led[3], HIGH); else digitalWrite(led[3],LOW); if(dis < 8) digitalWrite(led[4], HIGH); else digitalWrite(led[4],LOW); if(dis < 7) digitalWrite(led[5], HIGH); else digitalWrite(led[5],LOW); if(dis < 6) digitalWrite(led[6], HIGH); else digitalWrite(led[6],LOW); if(dis < 5) digitalWrite(led[7], HIGH); else digitalWrite(led[7],LOW); if(dis < 4) digitalWrite(led[8], HIGH); else digitalWrite(led[8],LOW); delay(100); // 0.1초대기 작동을 빠르게 하고 싶다면 delay를 // 낮춰주면 된다. }