Introduction: ArduinoUno MultiLED Y Fotosensor

Proyecto multiLED manejados con un potenciometro.

Step 1:

Se requieren.

Varios leds (Pueden variar según la cantidad que usted quiera colocar)

1 Potenciometro.

1 Fotosensor.

Varias resistencias (Depende de la cantidad de LEDs que se utilicen)

REFERENCIAS:

https://www.arduino.cc/en/Tutorial/BarGraph

Step 2:

Los les pegados al arreglo se conectan a la placa, estos deben estar pegados a un puerto GND.

Para el paso de los LED desde la corriente directa y la tierra es necesario colocar resistencias para evitar quemar los LEDS.

y colocamos el codigo.

//se declaran las variables

const int inPin0 = A0; const int analogPin = A1; // puerto en el que se conecta el potenciometro const int ledCount = 7; // cantidad de leds

int ledPins[] = { 3, 4, 5, 6, 7, 8, 9 //arreglo con los puertos usados para los leds };

void setup(void) { pinMode(13, OUTPUT); //salida para el led pegado a la salida 13 Serial.begin(9600); //en estas dos lineas que vienen se inicia el Serial.println(); // monitor para los datos de el fototransistor

//esta parte maneja la variacion del potenciometro for (int thisLed = 0; thisLed < ledCount; thisLed++) { pinMode(ledPins[thisLed], OUTPUT); } } void loop(void) { int pinRead0 = analogRead(inPin0); float pVolt0 = pinRead0 / 1024.0 * 5.0; int sensorReading = analogRead(analogPin); // map the result to a range from 0 to the number of LEDs: int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);

Serial.print(pVolt0); Serial.println(); delay(1000);

if (pVolt0 < 4.00) { //revisa la potencia que se recibe el fotosensor digitalWrite(13, HIGH); // enciende el LED del puerto 13 // delay(1000); } else { digitalWrite(13, LOW); // Apaga el LED del puerto 13 //delay(1000); }

// Recorre el arrray de LEDs: for (int thisLed = 0; thisLed < ledCount; thisLed++) { // if the array element's index is less than ledLevel, // turn the pin for this element on: if (thisLed < ledLevel) { digitalWrite(ledPins[thisLed], HIGH); } // turn off all pins higher than the ledLevel: else { digitalWrite(ledPins[thisLed], LOW); } } }