Buenas tardes. Tengo la siguiente duda. Estoy realizando una programación que posee 3 pines que realizan el mismo trabajo, es decir, son de seguridad, por lo cual al activarse solo uno de ellos el sistema se detiene. El código programado es bastante largo, por lo cual realizar tres bloques con cada pin sería poco Profesional.
La idea es lograr captar con una función la lectura de los 3 pines para asi generar el resultado deseado. La lógica deberia ser asi:
"Si, algunos de los pines seleccionado es uno, entonces, detener el sistema"
Enriendo que la que esta entre paréntesis para digitalRead no funciona. Es solo para mostrar el funcionamiento que deseo lograr. De antemano muchas gracias
Lea sobre el acceso directo a los pines, sobre los registros DDRx PINx PORTx.
Si los tres pines pertenecen al mismo puerto del controlador, es posible leerlos en un operador. Por ejemplo, los pines 2 3 4 arduino Uno se encuentran en el puerto PORTD (PD2 PD3 PD4).
Puede verificar si los tres son HIGH como este:
if ((PIND & 0x00111000) == 0x00111000) { // true if pin2 pin3 pin4 are HIGH at the same moment