como conecto varios sensores en una entrada analogica??

Buenas a todos, ya me voy adentrando mas con la programacion del arduino para la alarma que estoy montando, pero hay algo que no entiendo muy bien y no soy capaz hacerlo andar.

Segun las caracteristicas del arduino de los pines 0-5 puede hacer lecturas con una resolucion de 10bit, cosa q no entiendo jeje y de valores de 0-1023, lo que quiero es conectar unos 10 sensores a una misma entrada analogica, pero claro para eso primero tengo que acoplarle unas resistencias para poder diferenciar cada sensor, las cuales no se calcular muy bien,(imagino que son divisores de tension) pero como se el valor final que dara?

Me refiero a que como se si por ejemplo, 5v sera el valor 1024 y 0v pues sera el valor 0, como se que valor dara por ejemplo 4,3v?

saludos y gracias

Habitualmente para alarmas o sensores simples se utilizan entradas digitales, no veo motivo para usar analogicas, las cuales son mucho mas "costosas" en cuanto a la cantidad disponible como tambien en tiempos para leerlas.

Lo mas simple seria conectar cada sensor digital (movimientos, interruptores NA, NC, etc.) a una entrada digital. En caso de que no te alcancen las entradas digitales son facilmente multiplexables, mira: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1242892253

Aunque pensandolo bien, las alarmas comerciales no estoy seguro de que utilicen simplemente entradas digitales, ya que para controlar que no corten un cable utilizan una resistencia al final del cable como para que siempre tenga continuidad en la conexion, pero seguramente alguien mas experimentado podra sacarnos esta duda :D.

Saludos!

PD: Decir que la entrada analogica utiliza un convertidor analogico-digital de 10 bits, es lo mismo que decir que puede "distinguir" entre 1024 valores diferentes, porque al fin y al cabo 2^10=1024.

Existen multiplexores de señal analógica, ya salio en algún post con qué integrados hacerlo. puedes hacerlo tipo industrial con módulos como este
http://www.krenel.com/pdf/10b-%20Multiplexor%208%20entradas%200-10V,%201%20salida%200-10V,%204-20mA.%20EXPANSIONABLE.pdf

con divisores de tensión y demás no lo puedes hacer, nunca distinguirías que sensor estas intentando leer.

Replantea usar mas entradas analógicas pues abaratas muy mucho el montaje

un saludo

Buenas, según he visto si ponen varios sensores en la misma entrada analógica, seria algo parecido a este teclado, lo único que en vez de ser teclas, cada tecla seria un sensor.

saludos

Esa es una forma de discernir varios estados interpretando el valor analógico que se lee.

loque si se puede hacer es por ejemplo en una entrada analógica conectar 2 sensores de temperatura de manera que lo que leamos a la entrada sea el diferencial de ambas, pero nunca el valor real de cada una de ella a no se que se use un multiplexor.

Puedes usar un multiplexor como el 4051.

Playground
http://www.arduino.cc/playground/Learning/4051

Umm si no lo entiendo mal usando un multiplexor tendria q ir cambiando de salida de manera que no puede leer mas de un sensor a la vez verdad?

O lo que haria es ir cambiando continuamente de salida y asi ver el estado en el que se encuentran verdad?

Entonces usaria 3 salidas del arduino para ir cambiando la seleccion del multiplexor, al multiplexor le llegarian 8 sensores y la salida del multi a la entrada analogica del arduino.

Aunque no entiendo porque tengo que hacer pasar las salidas de los sensores por el multiplexor y de alli al arduino y no puedo hacerlo directamente.

Lo unico q pasaria sin pasar por el multi es que si saltan 2 sensores a la vez solo mostraria el de mayor V, cosa que no me preocuparia ya q salta la alarma que es lo que me interesa.

Porque si no lo entiendo mal tendria q poner divisores de V a la salida de cada sensor y de alli al multiplexor, porque el multiplexor no reduce los V verdad?

Explica qué queires hacer exactamente y con que sensores y te explicamos como puedes hacerlo. va a ser mas fácil .

Ya te digo porque estoy ahora mismo perdido

Pues a ver, quiero conectar unos 15 sensores magneticos de los que se ponen en puertas y ventanas, entonces para no llenar las entradas digitales del arduino habia pensado en poner todos los sensores a ser posible en la misma entrada analogica, dandole a cada sensor un V distinto para asi poder diferenciar cada sensor, porque tengo q meter señal de 2 sensores Pir, salida de 4 Reles para automatizar luces, sensor de humo, etc.

ya que en teoria si le digo:

Sensor 1 = 3,5v
Sensor 2= 3v
Sensor 3= 2,5v
Y asi sucesivamente pues me tendria q diferenciar cada uno, lo unico que si salta
n 2 a la vez pues marcaria el de mayor V, pero no me preocuparia ya q el fin es que salte la alarma y tampoco creo q salten 2 sensores magneticos a la misma vez.

Si usara el multiplexor tendria que hacer los mismos divisores de V y usar 3 salidas del arduino para ir cambiando de sensor y leeria los sensores de uno en uno, aunque imagino que lo haria muy rapido.

Entonces necesitas un muy de entradas. Hacerlo como piensas directamente no lo veo porque las distancias de cable no serán pequeñas. También puedes usar un pcf8574 y usar la interrupción para saber que se ha activado una entrada.

Me parece que lo mejor, aunque utilices mas salidas del arduino para seleccionar una a una las entradas a la hora de probar el cableado es importante saber cual es la entrada que esta disparando la alarma, poder detectar fallas, etc.

Un proyecto trunco que tengo yo es el utilizar desplazamiento de registro para multiplexar salidas, y estas mismas salidas multiplexadas utilizarlas para seleccionar entradas de los demultiplexadores, en teoria asi podrias tener infinitas entradas y salidas, manteniendo constante la cantidad de pines del arduino utilizados, siempre y cuando la velocidad de refresco alcance para el uso que se le quiera dar. El tema es que todo esto lo quiero incluir en una libreria y todavia no entiendo por completo su codificacion.

Tiozes, si que te vale entonces el ejemplo que has puesto del teclado.

pero eso no es como dices poner varios sensores (analógicos entendemos) a una entrada analógica. es una aplicacion para un determinado problema, pero no hay transductor alguno.

poniendo un sensor en cada "tecla" podras discernir donde se genera la alarma, el problema que tienes es si hay dos sensores activados a la vez, que no podras saber cuales son y depende de cómo hagas la programacion no saltará la alarma.

un saludo

SrDonGato, Si claro los sensores son todos Analogicos, fallo mio por no decirlo antes.

Cable desde los sensores hasta el arduino como mucho abra 15 metros en el mas alejado.

En teoria, monto los divisores de tension, uno por cada sensor, los conecto a la entrada analogica uno por uno y voy leyendo los valores que me da cada uno.

Programación seria que con 0V salta, digamos que dejaria por ejemplo 0,5v para cuando esta todo bien y de alli cuando tengamos otro valor que active la alama.

Probare asi, aunque pillare un par de multiplesores y los pondre para asi poder diferenciar totalmente cada sensor aunque sea algo mas lento.

Saludos

creo que no has entendido nada de la filosofía del montaje ...

los sensores que tienes no son analogicos....

la filosofia es que cuando cierras un contacto ( los del pulsador) leeras un valor de tension determinado, sabiendo que valor es interpretas que se ha pulsado una determinada tecla.

un saludo

Los Pir que tengo dan 5v cuando hay movimiento, para diferenciarlo del otro q tengo, pues divisor de tension, al = que los sensores magneticos, el montage si lo entiendo.

Algo que no he tenido en cuenta es que hay 2 tipos de sensores magneticos:

Los que estan abiertos cuando esta el iman cerca y los que estan cerrados cuando esta el iman cerca.

De manera que si pongo los que estan abiertos cuando el iman esta cerca, si podria saber que sensor a saltado dependiendo de sus V, pero si pongo el que esta cerrado con el iman cerca, tendria que usar si o si el multiplexor, ya que en la entrada analogica tendria el V del sensor q mas V tenga y si salta uno con menos V, ni se enteraria.

La mayoria de los sensores que encuentro por ebay son de tipo N/O de manera q estan abiertos cuando el iman no esta presente, asiesque o uso multiplexor o no podria conectar varios de estos sensores en una misma entrada analogica.

Saludoss

flico:
Puedes usar un multiplexor como el 4051.

Playground
Arduino Playground - HomePage

Buenas, si en vez de poner 1 multiplexor pongo 2 como parece en la izquierda de este enlace:

http://www.arduino.cc/playground/Learning/4051

Usando solo los 2 que aparecen a la izquierda, usaria 3 salidas digitales para cambiar de entrada del multi y 2 entradas analogicas para usar un multiplexor menos y tener mayor refresco, podria leer 16 sensores verdad?

Efectivamente, con 3 salidas digitales podrías cambiar tantos como quisieras a la vez, y tendrías 16 (8 por multiplexor) en tu caso.

Un saludo!

Joer me habia costado un poco pillar el concepto de como funcionaba jeje ya que me liaba con el desplazador de registros que leer las entradas a la vez pero muestra solo una verdad, porque tambien me serviría verdad?