Podemos utilizar varias entradas análogas como binarias y obtener el dato digital equivalente a estas entradas.
/*************************************************************************
*Manejo de la plataforma pinguino *
*Autor: *
* Julio Fabio De La Cruz Gomez *
* *
*Ejemplo 013: Entradas Digitales y analogas *
* *
*Descripcion: *
* Como utilizar las entradas analogas como digitales *
* y obtener el equivalente decimal *
**************************************************************************/
import hypermedia.pinguino.*;
Pinguino pinguino;
int an0,an1,an2,an3,an4,an5,an6,an7;
int bit0,bit1,bit2,bit3,bit4,bit5,bit6,bit7;
int dato;
void setup(){
Pinguino.log( true );
pinguino = new Pinguino( this );
}
/*=========================================================================
Ciclo principal
Los terminales configurados como entradas analogas son 13,14,15,16,
17,18,19,20
El ADC es de 10 bits asi que los valores leidos van de 0 - 1023
Los valores de voltaje van de 0v - 5v
Un 1 Logico corresponde aproximadamente a 5V
Un 0 Logico corresponde aproximadamente a 0v
Un valor leido mayor a 700 corresponderia a un 1 logico, de lo
contrario en un 0 logico.
===========================================================================*/
void draw(){
an0=pinguino.analogRead(13);
an1=pinguino.analogRead(14);
an2=pinguino.analogRead(15);
an3=pinguino.analogRead(16);
an4=pinguino.analogRead(17);
an5=pinguino.analogRead(19);
an6=pinguino.analogRead(19);
an7=pinguino.analogRead(20);
// Obtengo el bit 0
if(an0 > 700)
bit0 = 1;
else
bit0 = 0;
// Obtengo el bit 1
if(an1 > 700)
bit1 = 1;
else
bit1 = 0;
// Obtengo el bit 2
if(an2 > 700)
bit2 = 1;
else
bit2 = 0;
// Obtengo el bit 3
if(an3 > 700)
bit3 = 1;
else
bit3 = 0;
// Obtengo el bit 4
if(an4 > 700)
bit4 = 1;
else
bit4 = 0;
// Obtengo el bit 5
if(an5 > 700)
bit5 = 1;
else
bit5 = 0;
// Obtengo el bit 6
if(an6 > 700)
bit6 = 1;
else
bit6 = 0;
// Obtengo el bit 7
if(an7 > 700)
bit7 = 1;
else
bit7 = 0;
//obtengo el equivalente decimal de los datos leidos
dato = bit4*16 + bit3*8 + bit3*2 + bit1*2 + bit0;
println("Dato = " + dato);
}
No hay comentarios:
Publicar un comentario