Está en la página 1de 3

/*

***********************************************************
**** rDuinoStar.com - Comunidad Arduino en Espa�ol ****
***********************************************************
Tutorial 4.- Salidas Digitales PWM

Lectura de entrada anal�gica y variaci�n en la intensidad de


iluminaci�n de un LED utilizando salidas digitales con modulaci�n
en ancho del pulso.

Uso p�blico citando el autor o procedencia, bajo licencia:


Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)

�ste y m�s ejemplos en rDuinoStar.com, tu comunidad Arduino


en Espa�ol
*/

// Pin digital PWM que utilizaremos para alimentar el LED


int pinLed = 13;
// Pin anal�gico que utilizaremos como entrada de datos
int entradaDatos1 = A0;
int entradaDatos2 = A1;
int entradaDatos3 = A2;
int entradaDatos4 = A3;
int entradaDatos5 = A4;
int entradaDatos6 = A5;
int entradaDatos7 = A6;

// Variable que recoger� las lecturas de A0


int valorDatos1 = 0;
int valorDatos2 = 0;
int valorDatos3 = 0;
int valorDatos4 = 0;
int valorDatos5 = 0;
int valorDatos6 = 0;
int valorDatos7 = 0;
int valorfinal = 0;
void setup()
{
// Configuramos el pin del LED como salida, aunque no es necesario
pinMode(pinLed, OUTPUT);
Serial.begin(9600);
}

void loop()
{
// Leemos el valor en la entrada anal�gica A0 y se lo asignamos a
// valorDatos
valorDatos1 = analogRead(entradaDatos1);
valorDatos2 = analogRead(entradaDatos2);
valorDatos3 = analogRead(entradaDatos3);
valorDatos4 = analogRead(entradaDatos4);
valorDatos5 = analogRead(entradaDatos5);
valorDatos6 = analogRead(entradaDatos6);
valorDatos7 = analogRead(entradaDatos7);
// Determinamos el nivel de salida

/*
if ((valorDatos1 <valorDatos2 && valorDatos1 <valorDatos3 && valorDatos1
<valorDatos4 && valorDatos1 <valorDatos5 && valorDatos1 <valorDatos6 && valorDatos1
<valorDatos7) )
{ analogWrite(pinLed, valorDatos1 / 4);
}

if ((valorDatos2 <valorDatos1 && valorDatos2 <valorDatos3 && valorDatos2


<valorDatos4 && valorDatos2 <valorDatos5 && valorDatos2 <valorDatos6 && valorDatos2
<valorDatos7) )
{ analogWrite(pinLed, valorDatos2 / 4);
}

if ((valorDatos3 <valorDatos2 && valorDatos3 <valorDatos1 && valorDatos3


<valorDatos4 && valorDatos3 <valorDatos5 && valorDatos3 <valorDatos6 && valorDatos3
<valorDatos7) )
{ analogWrite(pinLed, valorDatos3 / 4);
}

if ((valorDatos4 <valorDatos2 && valorDatos4 <valorDatos3 && valorDatos4


<valorDatos1 && valorDatos4 <valorDatos5 && valorDatos4 <valorDatos6 && valorDatos4
<valorDatos7) )
{ analogWrite(pinLed, valorDatos4 / 4);
}

if ((valorDatos5 <valorDatos2 && valorDatos5 <valorDatos3 && valorDatos5


<valorDatos4 && valorDatos5 <valorDatos1 && valorDatos5 <valorDatos6 && valorDatos5
<valorDatos7) )
{ analogWrite(pinLed, valorDatos5 / 4);
}

if ((valorDatos6 <valorDatos2 && valorDatos6 <valorDatos3 && valorDatos6


<valorDatos4 && valorDatos6 <valorDatos1 && valorDatos6 <valorDatos5 && valorDatos6
<valorDatos7) )
{ analogWrite(pinLed, valorDatos6 / 4);
}

if ((valorDatos7 <valorDatos2 && valorDatos7 <valorDatos3 && valorDatos7


<valorDatos4 && valorDatos7 <valorDatos1 && valorDatos7 <valorDatos6 && valorDatos7
<valorDatos5) )
{ analogWrite(pinLed, valorDatos7 / 4);
}
*/

if ((valorDatos1 >valorDatos2 && valorDatos1 >valorDatos3 && valorDatos1


>valorDatos4 && valorDatos1 >valorDatos5 && valorDatos1 >valorDatos6 && valorDatos1
>valorDatos7) )
{ analogWrite(pinLed, valorDatos1 / 4);
}

if ((valorDatos2 >valorDatos1 && valorDatos2 >valorDatos3 && valorDatos2


>valorDatos4 && valorDatos2 >valorDatos5 && valorDatos2 >valorDatos6 && valorDatos2
>valorDatos7) )
{ analogWrite(pinLed, valorDatos2 / 4);
}

if ((valorDatos3 >valorDatos2 && valorDatos3 >valorDatos1 && valorDatos3 >


valorDatos4 && valorDatos3 >valorDatos5 && valorDatos3 >valorDatos6 && valorDatos3
>valorDatos7) )
{ analogWrite(pinLed, valorDatos3 / 4);
}

if ((valorDatos4 >valorDatos2 && valorDatos4 >valorDatos3 && valorDatos4


>valorDatos1 && valorDatos4 >valorDatos5 && valorDatos4 >valorDatos6 && valorDatos4
>valorDatos7) )
{ analogWrite(pinLed, valorDatos4 / 4);
}

if ((valorDatos5 >valorDatos2 && valorDatos5 >valorDatos3 && valorDatos5


>valorDatos4 && valorDatos5 >valorDatos1 && valorDatos5 >valorDatos6 && valorDatos5
>valorDatos7) )
{ analogWrite(pinLed, valorDatos5 / 4);
}

if ((valorDatos6 >valorDatos2 && valorDatos6 >valorDatos3 && valorDatos6


>valorDatos4 && valorDatos6 >valorDatos1 && valorDatos6 >valorDatos5 && valorDatos6
>valorDatos7) )
{ analogWrite(pinLed, valorDatos6 / 4);
}

if ((valorDatos7 >valorDatos2 && valorDatos7 >valorDatos3 && valorDatos7


>valorDatos4 && valorDatos7 >valorDatos1 && valorDatos7 >valorDatos6 && valorDatos7
>valorDatos5) )
{ analogWrite(pinLed, valorDatos7 / 4);
}

También podría gustarte