105 lines
2.8 KiB
Plaintext
105 lines
2.8 KiB
Plaintext
|
|
int sensor=0; // Salida analogica del multiplexor
|
|
int pad=1; // Entrada analogica
|
|
int bit1=6; // PIN digital al S2 del multiplexor
|
|
int bit2=5; // PIN digital al S1 del multiplexor
|
|
int bit3=4; // PIN digital al S0 del multiplexor
|
|
int id=1;
|
|
|
|
int val=0;
|
|
long int env=0;
|
|
int res=10;
|
|
int vald[9] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0 };
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin(115200);
|
|
pinMode(bit1,OUTPUT);
|
|
pinMode(bit2,OUTPUT);
|
|
pinMode(bit3,OUTPUT);
|
|
pinMode(14,INPUT);
|
|
pinMode(15,INPUT);
|
|
digitalWrite(14,HIGH);
|
|
digitalWrite(15,HIGH);
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
for (int i=0;i<8;i++)
|
|
{ // Recorre las 8 posiciones del multiplexor
|
|
switch (i) {
|
|
case 0:
|
|
digitalWrite(bit1,LOW); // Posici?n 0 --> S0=0, S1=0 y S3 =0 (en binario)
|
|
digitalWrite(bit2,LOW);
|
|
digitalWrite(bit3,LOW);
|
|
break;
|
|
case 1:
|
|
digitalWrite(bit1,LOW);
|
|
digitalWrite(bit2,LOW);
|
|
digitalWrite(bit3,HIGH);
|
|
break;
|
|
case 2:
|
|
digitalWrite(bit1,LOW);
|
|
digitalWrite(bit2,HIGH);
|
|
digitalWrite(bit3,LOW);
|
|
break;
|
|
case 3:
|
|
digitalWrite(bit1,LOW);
|
|
digitalWrite(bit2,HIGH);
|
|
digitalWrite(bit3,HIGH);
|
|
break;
|
|
case 4:
|
|
digitalWrite(bit1,HIGH);
|
|
digitalWrite(bit2,LOW);
|
|
digitalWrite(bit3,LOW);
|
|
break;
|
|
case 5:
|
|
digitalWrite(bit1,HIGH);
|
|
digitalWrite(bit2,LOW);
|
|
digitalWrite(bit3,HIGH);
|
|
break;
|
|
case 6:
|
|
digitalWrite(bit1,HIGH);
|
|
digitalWrite(bit2,HIGH);
|
|
digitalWrite(bit3,LOW);
|
|
break;
|
|
case 7:
|
|
digitalWrite(bit1,HIGH);
|
|
digitalWrite(bit2,HIGH);
|
|
digitalWrite(bit3,HIGH);
|
|
break;
|
|
}
|
|
|
|
delay(10);
|
|
|
|
val = analogRead(sensor); // Lee el valor del pad
|
|
//if ((val<=vald[i]-res)||(val>=vald[i]+res))
|
|
//{
|
|
vald[i] =val;
|
|
/*Serial.print("Valor de ");
|
|
Serial.print(i);
|
|
Serial.print(" es: ");*/
|
|
Serial.print(200+id*10+i,BYTE);
|
|
Serial.print(val/5,BYTE);
|
|
|
|
//}
|
|
}
|
|
|
|
val = analogRead(pad); // Lee el valor del pad
|
|
//if ((val<=vald[8]-res)||(val>=vald[8]+res))
|
|
//{
|
|
vald[8] =val;
|
|
/*Serial.print("Valor de ");
|
|
Serial.print(8);
|
|
Serial.print(" es: "); */
|
|
Serial.print(200+id*10+8,BYTE);
|
|
Serial.print(val/5,BYTE);
|
|
delay(20);
|
|
//}
|
|
|
|
|
|
}
|
|
|
|
|