asignar pin de lectura dinámicamente

Hola, me presento, este es mi primera intervención en el foro y soy muy nuevo en esto (de arduino y utilizar foros).
Buen les cuento, la pregunta es quizá muy simple para ustedes, tengo un arduino Mega y lo que quiero es enviarle a mi arduino desde fuera una señal para que este sepa que pin leer, existe alguna forma de hacer esto?

Claro!

Un programa que lee el puerto serie, tu le enviaras comandos como por ejemplo 1 a 8 y podras ver la entrada 1 a la 8.

Es una combinación de código de puerto serie presente como ejemplo del IDE, mas opciones de lectura y presentación.

Hola surbyte, gracias por la información, voy a ser un poco mas detallado:

La idea seria que cualquier usuario pueda conectar algún sensor en cualquier pin y luego por software configurar el arduino para leer ese tipo de sensor.

Por ejemplo tener varios conectores asociados a pines, a cada uno de ellos se le pueden conectar diferentes tipos de sensores, luego de conectarlo se debe poder configurar el arduino para leer ese tipo de sensor y enviar los datos de lectura por puerto serie a un blueberry Pi, el usuario podría cambiar el sensor de ese conector y mediante información enviada por el puerto serie cambiar la configuración de lectura de ese pin para poder los datos obtenidos por el nuevo sensor.

Se puede hacer eso? y como hacerlo?

No se puede porque estas partiendo del hecho de poder conectar sensor, y cada sensor requiere su librería y eso solo se compila usando el IDE.
Para siquiera seguir tu idea N sensores distintos, deberías cargar las N librerías, y eso requiere memoria y según el Arduino no la tienes.

surbyte:
No se puede porque estas partiendo del hecho de poder conectar sensor, y cada sensor requiere su librería y eso solo se compila usando el IDE.
Para siquiera seguir tu idea N sensores distintos, deberías cargar las N librerías, y eso requiere memoria y según el Arduino no la tienes.

Pero eso si estas presuponiendo que el Arduino debe procesar la información o los sensores a su vez tienen un protocolo de comunicación . Si se tratara de sensores analógicos de 0-5 V (o adaptados) o señales digitales TTL(o adaptadas), no habría ningún inconveniente, de hecho de esa manera funcionan los Bus de campos. En el caso de señales analógicas o digitales bastaría el protocolo modbus y que el cliente se encarga de procesar la información.

Interesante problema, con un solo pin es difícil, pero si dispone de mas de uno para cada sensor se podría lograr una especie de MAC adress. Por ejemplo con 5 pins se destinaría uno para la señal y los otros cuatro con resistencia lograr una identificación binaria del tipo de sensor o usuario. y luego con con dos direcciones modbus consecutivas enviar la información al cliente.

Habría que utilizar dos fichas diferentes para las señales analógicas de las digitales, por ejemplo miDIN de 5 y 6 polos.

Cuando la pregunta es ambigua, la respuesta tmb lo es.
Si me dice alguien:

Por ejemplo tener varios conectores asociados a pines, a cada uno de ellos se le pueden conectar diferentes tipos de sensores, luego de conectarlo se debe poder configurar el arduino para leer ese tipo de sensor y enviar los datos de lectura por puerto serie a un blueberry Pi, el usuario podría cambiar el sensor de ese conector y mediante información enviada por el puerto serie cambiar la configuración de lectura de ese pin para poder los datos obtenidos por el nuevo sensor.

Yo puedo pensar que conecta un DHT22, un DS18B20, un BMP280, tmb claro puedo pensar que son sensores con salida analógica pero no esta dicho, entonces la respuesta es no.

Si restringe el campo de sensores entonces puede que la idea de PeterKanTropus sea válida.

surbyte:
Cuando la pregunta es ambigua, la respuesta tmb lo es.
Si me dice alguien:

Yo puedo pensar que conecta un DHT22, un DS18B20, un BMP280, tmb claro puedo pensar que son sensores con salida analógica pero no esta dicho, entonces la respuesta es no.

Si restringe el campo de sensores entonces puede que la idea de PeterKanTropus sea válida.

Seguro que no se puede? Si la clase tiene un destructor, o se le programa uno, se debería poder usarlo a voluntad ( estoy teorizando, no estoy seguro).

Bueno, te invito a que generalices y dime como haces para que un pin soporte las diferentes posibilidades?
No vayamos muy lejos..

DHT11/22, DS18B20, Analógico, Digital y no se que otro pudiera ser?

Estas opciones podrian caber incluso en un UNO asi que posible son pero dime como haces para asignarlos dinámicamente? Necesitas un LCD o un menú vias Serial.

Un solo pin? Difícil. Lo único que se me ocurre es crear una interfaz con cada sensor, al estilo de los sensores industriales con comunicación modbus, con un pic10f o similar y que todo sensor utilizado tenga comunicación TTL sin duda estaría fuera del alcance de un novato.

Se podría conectar cada sensor a un Arduino pequeño y este a un Arduino máster. O ( modo delirio) conectar cada sensor a un multiplexor y utilizar algunas entradas como identificador utilizando resistencias. Aunque se utilizarían dos entradas y los tiempos de lecturas serían altos creo que sería factible

Los multiplexores podrían funcionar. Todas las lineas de control (creo que cuatro) podían utilizarse para todos los multiplexores, entonces quedarían un pin por cada señal a medir y cuatro de control.

disculpen mi ignorancia, pero no se podría hacer que el arduino envié la señal recibida sin procesarla (sin usar la librería en este caso del sensor DHT22) y luego usar un Organge Pi (que puede ser programado en c) para que procese la señal usando la librería?.

luismg145:
disculpen mi ignorancia, pero no se podría hacer que el arduino envié la señal recibida sin procesarla (sin usar la librería en este caso del sensor DHT22) y luego usar un Organge Pi (que puede ser programado en c) para que procese la señal usando la librería?.

. El DHt22 tiene una comunicación onewire, en teoría se podría hacer un túnel con el arduino, pero... ¿para que? no tiene sentido tomarse ese trabajo si el arduino puede procesar esa información, o directamente utilizar raspaberry PI para conectar el sensor.