Arduino

Interruptores hardware en Arduino

 Piensa en tu placa Arduino ejecutando alegremente y ad libitum el bloque Loop que le ordenaste. En un momento dado necesitas que lo deje todo y realice una acción concreta. Por ejemplo, un láser que al ser interrumpido activa una alarma. Bien, pues para conseguir esto disponemos de un tipo de función avanzada que se llama ISP (Rutina de interrupción de servicio).

Vayamos por partes. Lo primero que necesitamos es adjuntar un interruptor a nuestro código. Para ello usamos la función attachInterrupt(interruptor, función, modo). En arduino Uno podemos usar los pines 2 y 3 para conectar el hardware que ordenará la ejecución de nuestra ISP. En el primer parámetro esta función, el parámetro interruptor, debemos aclarar de que interruptor estamos hablando, por tanto escribe 0 si tu láser está conectado en el pin 2, o escribe 1 si lo está en el pin 3.

Función constrain() para arduino

Cuando recibimos los diferentes niveles de intensidad eléctrica de un sensor en uno de nuestros pines analógicos, el Analogic to digital converter (modificador de analógico a digital) de nuestro microcontrolador transforma esa intensidad en un dato digital almacenado en 10 bits. Por tanto, tenemos una escala de valores posibles desde 0 hasta 1023, donde 0 equivale a 0 voltios y 1023 equivale a 5 voltios (o el valor máximo establecido con la función  analogReference()).