Esto pretende ser una especie de ayuda cabeza, para cuando queramos hacer algo relacionado a controles o vúmetros. En realidad es un código muy simple, pero siempre es bueno tenerlo a mano. (Es que tengo una memoria prodigiosamente escasa J )
El resultado es el siguiente:
Y el código es:
[sourcecode language=»py»]
// test lectura analógica y vúmetro de salida
// WALII 2010
#define PIC18F4550
// pin desde donde leemos el valor analógico
#define LED 13
unsigned int i;
// configuramos todos los puertos digitales
// como salida y a nivel bajo
// los puertos analógicos no hace falta
// declararlos ni como salida ni en entrada
void setup()
{
for (i=0;i<8;i++) {
pinMode(i,OUTPUT);
digitalWrite(i,LOW);
}
// pongo como opcional por si quieren probar con los
// mensajes por puerto serie, para enviar los datos
// analógicos leídos a un ordenador
///Serial.begin(9600);
}
// comenzamos el loop en donde leemos el Puerto
// analógico y comparamos la respuesta para indicar
// que puertas iniciamos
void loop()
{
i=analogRead(LED);
if (i>=0) digitalWrite(0,HIGH);else;digitalWrite(0,LOW);
if (i>100) digitalWrite(1,HIGH);else;digitalWrite(1,LOW);
if (i>200) digitalWrite(2,HIGH);else;digitalWrite(2,LOW);
if (i>400) digitalWrite(3,HIGH);else;digitalWrite(3,LOW);
if (i>600) digitalWrite(4,HIGH);else;digitalWrite(4,LOW);
if (i>800) digitalWrite(5,HIGH);else;digitalWrite(5,LOW);
// esto es opcional si queremos presentar la info
// en el puerto serie del ordenador
///Serial.print(i);
///Serial.print("\n\r");
}
[/sourcecode]
El circuito es el siguiente: