#include "WProgram.h" void setup(); void loop(); 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); //} } int main(void) { init(); setup(); for (;;) loop(); return 0; }