Existen muchos componentes que pueden ser usados como entradas en Arduino aquí te hago un recuento de los principales y el tipo de entrada que usan son: digital o análoga.
Para que sea útil como una entrada de Arduino, es decir que Arduino pueda detectar su estado es necesario acompañarlo de una resistencia y alimentarlo con 5V. La idea es que en la entrada de Arduino tengas LOW o HIGH según si esta pulsado o no el botón. Puedes elegir usar un circuito pull-up o un pull-down, según si quieres hacer que la activación del botón sea un LOW o HIGH, claro que eso también dependerá si el pulsador tiene sus contactos normalmente abiertos (no) o normalmente cerrados (nc). Es usado como una entrada digital.
Hay que tener en cuenta de que un pulsador no da una transición limpia entre 0~1 y viceversa, a este efecto se le llama rebote. Hay tres maneras de minimizar este efecto: mediante un pequeño condensador cerca al pulsador; introduciendo un retardo (de milisegundos) luego de la detección del primer pulso o usando temporizadores; y la mas recomendable usar interrupciones. Lamentablemente en Arduino UNO estamos limitados a solo 2.
Existen muchos componentes pasivos que se conectan de esta forma como son: pulsador, conmutador, reed que reaccionan al magnestismo, interruptor de mercurio que reaccion al movimiento, teclado matricial que son muchos pulsadores encapsulados en un arreglo de matriz para ahorrar contactos, etc.
En Arduino se implementa exactamente igual que el anterior, el único cambio es que el estado permanece hasta la próxima acción manual. ON/OFF. Es usado como una entrada digital.
Existen muchos componentes pasivos que se conectan de esta forma como son: interruptor, DIP Switch que es simplemente varios interruptores encapsulados.
Es quizas el mas simple de implementar, ya que basta poner de manera directa en las patillas laterales +5V y GND sin ninguna resistencia. Es usado como una entrada digital.
Para saber mas de este componente pasivo.
Si el valor es suficientemente alto (> 10 K) se puede alimentar con +5V y GND en sus extremos ya que solo drenaras 0.5 mA de manera constante. Recuerda que las entradas análogas son capaces de discriminar 1024 valores distintos, entre 0~1023. Es usado como una entrada análoga.
Si el valor obtenido en una entrada análoga (0~1023) deberá ser luego usada para regular el Duty-cicle de una salida PWM recuerda que deberás adaptar a valores entre 0~255, lo cual puedes hacer fácilmente dividiendo y redondeando con la formula: map(x, 0, 1023, 0, 255).
Una alternativa son las fotoresistencias (LDR o que reaccionan a la luz), las termo-resistencia (que reaccionan al calor), etc
Para saber mas de este componente pasivo.
Se trata de un emisor de luz (IR, LED o laser) y un detector (celula fotoelectrica) en el lado opuesto de forma que al interrupir el rayo se acciona un contacto y estaremos como el caso de pulsador.
Para saber mas de este componente activo.
Se trata de un simple método de detección del cambio de nivel de un liquido por presion de una manguera y un flotador que lleva un iman que actua sobre un contacto reed o un pequeño sensor de tipo barrera.
Es un circuito eléctrico que se usa para medir una resistencia desconocida mediante el equilibrio de los brazos del puente. Estos están constituidos por cuatro resistencias que forman un circuito cerrado, siendo una de ellas la resistencia bajo medida. Funciona con AC y DC
Pronto...
También podemos hacer que nuestra entrada provenga via el puerto serie como: consola, bluetooth, WiFi, modulo RF, modulo GPS, etc.
Existen diversos sensores como barrera, ultrasonido, IR, movimiento (PIR), luz ambiente (LDR), TILT, teperatura, gas, humedad, magnetismo, llama, humo, color, distancia, tactil, inclinacion, proximidad, latidos del corazon, monoxido de carbono, acelerometro, etc Algunos son usados con una entrada analogica en Arduino y otros tienen electronica por lo que la comunicacion es por algun tipo de bus disponible: seriem SPI, I2C, 1-wire, CANN, RS-485, etc.
Hay un kit de 37 sensores compatibles con Arduino disponible en tiendas.