int trig=10; int echo=11; void setup() { pinMode(trig,OUTPUT); pinMode(echo,INPUT); for(int i=1;i<=8;i++) pinMode(i,OUTPUT); } void loop() { long dur; float cm; digitalWrite(trig,LOW); delayMicroseconds(2); digitalWrite(trig,HIGH); delayMicroseconds(10); digitalWrite(trig,LOW); delayMicroseconds(2); dur=pulseIn(echo,HIGH); cm=micro2cm(dur); check(240,270,0,cm); check(210,240,1,cm); check(180,210,2,cm); check(150,180,3,cm); check(120,150,4,cm); check(90,120,5,cm); check(60,90,6,cm); check(20,60,7,cm); delay(100); ledoff(); } float micro2cm(long microsec) { return (0.034*microsec/2); } void ledon(int n) { for(int i=8;i>=8-n;i--) digitalWrite(i,HIGH); } void ledoff() { for(int i=1;i<=8;i++) digitalWrite(i,LOW); } void check(int from, int to, int n, long cm) { if ((cm>=from) && (cm