Lab_interaccio/2011/Marcelli/udp_48inputs/udp_48inputs.pde

112 lines
2.1 KiB
Plaintext
Raw Permalink Normal View History

2025-02-25 21:29:42 +01:00
/*
PINES DIGITALES DISPONIBLES:
D5,D6,D7,D8,D9,D11,D12,D13
X7_4, X7_5, X7_6, X7_7, X7_3, X7_2, X7_1, X7_0
PINES DE CONTROL DE MUX (A,B,C)
A: D2
B: D3
C: D4
ENTRADAS ANALOGICAS (X1,X2,X3,X4,X5,X6)
X1: A0
X2: A1
X3: A2
X4: A3
X5: A4
X6: A5
MODULO ETHERNET DIGI CONNECT ME
*/
int A = 2;
int B = 3;
int C = 4;
int selA, selB, selC;
int X1[8] = {
0,0,0,0,0,0,0,0};
int X2[8] = {
0,0,0,0,0,0,0,0};
int X3[8] = {
0,0,0,0,0,0,0,0};
int X4[8] = {
0,0,0,0,0,0,0,0};
int X5[8] = {
0,0,0,0,0,0,0,0};
int X6[8] = {
0,0,0,0,0,0,0,0};
//int remap[8] = {4,3,2,5,1,6,0,7};
int remap[8] = {
6,4,2,1,0,3,5,7};
int i = 0;
byte dig = 0;
void setup() {
Serial.begin(9600);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(11, INPUT);
pinMode(12, INPUT);
pinMode(13, INPUT);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
digitalWrite(A, 0);
digitalWrite(B, 0);
digitalWrite(C, 0);
}
void loop() {
dig = digitalRead(13) + digitalRead(12)*2 + digitalRead(11)*4 + digitalRead(9)*8 + digitalRead(5)*16 + digitalRead(6)*32 + digitalRead(7)*64 + digitalRead(8)*128;
//ORDENADO DE 13 (X7_0) MENOS SIGNIFICATIVO A 8 (X7_7) MAS SIGNIFICATIVO
i = 0;
selA = (remap[i])&1;
selB = (remap[i]&2)>>1;
selC = (remap[i]&4)>>2;
digitalWrite(A, selA);
digitalWrite(B, selB);
digitalWrite(C, selC);
X1[i] = analogRead(0);
X2[i] = analogRead(1);
X3[i] = analogRead(2);
X4[i] = analogRead(3);
X5[i] = analogRead(4);
X6[i] = analogRead(5);
Serial.print(X1[i]/5,BYTE);
Serial.print(X2[i]/5,BYTE);
Serial.print(X3[i]/5,BYTE);
Serial.print(X4[i]/5,BYTE);
Serial.print(X5[i]/5,BYTE);
Serial.print(X6[i]/5,BYTE);
Serial.print(dig,BYTE); // Valores de las entradas digitales
Serial.print(240,BYTE); // 1 BYTES ADICIONALES FINAL DE CADENA (0xF0) Y COMPLETAR 8 BYTES
delay(100);
}