I wanted to see the range of my new distance sensor, so I hooked it up to some led’s.
/*Distance Ranging to LED Bar*/
//this can be done better in a loop
#define led1 2
#define led2 3
#define led3 4
#define led4 5
#define led5 6
#define led6 7
#define led7 8
#define led8 9
#define led9 10
#define led10 11
//the analog distance sensor
#define distancePin 5
//incoming value of distance sensor
int val = 0;
//this can be done better in a loop
void setup(){
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
//you do not have to declare inputs, all pins are input by default
pinMode(distancePin, INPUT);
Serial.begin(9600);
}
void loop(){
val = analogRead(distancePin);
Serial.println(val);
//turn all pins off, can be done better in a loop
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
//these values may need to be changed for your setup
if (val < 600){
digitalWrite(led10, HIGH);
}
if (val < 560){
digitalWrite(led9, HIGH);
}
if (val < 520){
digitalWrite(led8, HIGH);
}
if (val < 480){
digitalWrite(led7, HIGH);
}
if (val < 440){
digitalWrite(led6, HIGH);
}
if (val < 400){
digitalWrite(led5, HIGH);
}
if (val < 360){
digitalWrite(led4, HIGH);
}
if (val < 320){
digitalWrite(led3, HIGH);
}
if (val < 280){
digitalWrite(led2, HIGH);
}
if (val < 240){
digitalWrite(led1, HIGH);
}
delay(50);
}
Arduino Distance Sensor from droops on Vimeo.