RangerLEDS \ Learning \ Wiring ALPHA 1.0
Author: Hernando Barragán
Description: Wiring is an electronic sketchbook and hardware electronics for developing ideas. It is a context for learning fundamentals of computer programming and prototyping with electronics within the context of the electronic arts.
Keywords: Wiring, Processing, Interactive Media, Electronic Arts, Programming, C, C++, Hernando Barragán

Search wiring.org.co:

This example is for Wiring version 0024+. If you have a previous version, use the examples included with your software. If you see any errors or have comments, please let us know.

Light Equalizer by Ana Lucia Martinez Arias
Demosntrates how to connect and use a SHARP GP2D12 and GP2D120 infrared ranger sensor. Interprets distance from the ranger sensor value turning On a number of lights accordingly. The LEDs are connected to the digital pins 0 to 9

    int distance=0;

    void turn_all_off() {  // function to turn off all the lights
      for(int i=0; i<10; i++)  //LEDs connected to digital pins 0-9
      {
        digitalWrite(i, LOW);
      }
    }

    void setup(){
      Serial.begin(9600);	// set the serial port to 9600
      for (int i=0; i<10; i++){
        pinMode(i, OUTPUT);  // set pins 0-9 as outputs
      }
      pinMode(48,OUTPUT);
      digitalWrite(48,HIGH);  // turn ON onboard LED
    }

    void loop(){
      turn_all_off();                 // turns all lights off
      distance = analogRead(0);       // sensor connected to analog pin 0
      Serial.println(distance, DEC);  // prints the value read from the sensor

      if((distance>50)){
        digitalWrite(0, HIGH);   // sets the current light on
      }

      if((distance>100)){
        digitalWrite(1, HIGH);   // sets the current light on
      }

      if((distance>150)){
        digitalWrite(2, HIGH);   // sets the current light on
      }

      if((distance>200)){
        digitalWrite(3, HIGH);   // sets the current light on
      }

      if((distance>250)){
        digitalWrite(4, HIGH);   // sets the current light on
      }

      if((distance>300)){
        digitalWrite(5, HIGH);   // sets the current light on
      }

      if((distance>350)){
        digitalWrite(6, HIGH);   // sets the current light on
      }

      if((distance>400)){
        digitalWrite(7, HIGH);   // sets the current light on
      }

      if((distance>450)){
        digitalWrite(8, HIGH);   // sets the current light on
      }

      if((distance>500)){
        digitalWrite(9, HIGH);   // sets the current light on
      }

      delay(50);
    }