Go Down

Topic: Project sensor SRF05 and 5 leds (Read 727 times) previous topic - next topic


Hello, my name is Hugo, im 16 years old and i work on a project. I have to found an arduino code which can switch on the sensor SRF 05. I would like too that when the SRF 05 detect an objet, 5 led switched on ! Sorry if my english is too bad ! Thank you very much, see you soon

Runaway Pancake

"Hello, I must be going..."
"You gotta fight -- for your right -- to party!"
Don't react - Read.
"Who is like unto the beast? who is able to make war with him?"



I have this code for one led but i am not sure for five led

// written at: luckylarry.co.uk
// variables to take x number of readings and then average them
// to remove the jitter/noise from the SRF05 sonar readings

const int numOfReadings = 10;                   // number of readings to take/ items in the array
int readings[numOfReadings];                    // stores the distance readings in an array
int arrayIndex = 0;                             // arrayIndex of the current item in the array
int total = 0;                                  // stores the cumlative total
int averageDistance = 0;                        // stores the average value

// setup pins and variables for SRF05 sonar device

int echoPin = 2;                                // SRF05 echo pin (digital 2)
int initPin = 3;                                // SRF05 trigger pin (digital 3)
unsigned long pulseTime = 0;                    // stores the pulse in Micro Seconds
unsigned long distance = 0;                     // variable for storing the distance (cm)

// setup pins/values for LED

int redLEDPin = 9;                              // Red LED, connected to digital PWM pin 9
int redLEDValue = 0;                            // stores the value of brightness for the LED (0 = fully off, 255 = fully on)


void setup() {

  pinMode(redLEDPin, OUTPUT);                   // sets pin 9 as output
  pinMode(initPin, OUTPUT);                     // set init pin 3 as output
  pinMode(echoPin, INPUT);                      // set echo pin 2 as input

  // create array loop to iterate over every item in the array

  for (int thisReading = 0; thisReading < numOfReadings; thisReading++) {
readings[thisReading] = 0;
// initialize the serial port, lets you view the
// distances being pinged if connected to computer

// execute
void loop() {
digitalWrite(initPin, HIGH);                    // send 10 microsecond pulse
delayMicroseconds(10);                  // wait 10 microseconds before turning off
digitalWrite(initPin, LOW);                     // stop sending the pulse
pulseTime = pulseIn(echoPin, HIGH);             // Look for a return pulse, it should be high as the pulse goes low-high-low
distance = pulseTime/58;                        // Distance = pulse time / 58 to convert to cm.
total= total - readings[arrayIndex];           // subtract the last distance
readings[arrayIndex] = distance;                // add distance reading to array
total= total + readings[arrayIndex];            // add the reading to the total
arrayIndex = arrayIndex + 1;                    // go to the next item in the array
// At the end of the array (10 items) then start again
if (arrayIndex >= numOfReadings)  {
    arrayIndex = 0;

  averageDistance = total / numOfReadings;      // calculate the average distance

  // if the distance is less than 255cm then change the brightness of the LED

  if (averageDistance < 255) {
    redLEDValue = 255 - averageDistance;        // this means the smaller the distance the brighterthe LED.

  analogWrite(redLEDPin, redLEDValue);          // Write current value to LED pins
  Serial.println(averageDistance, DEC);         // print out the average distance to the debugger
  delay(100);                                   // wait 100 milli seconds before looping again


Someone knows how to put 4 other led un this code ?

Runaway Pancake

Well, in the sketch that you posted, there is a variable called "Distance".
Once "Distance" has been acquired then you can make a determination as to which LED/s to turn on.
Look into if and if...else
"Hello, I must be going..."
"You gotta fight -- for your right -- to party!"
Don't react - Read.
"Who is like unto the beast? who is able to make war with him?"

Go Up