[TUT] Cómo utilizar una fuente de alimentación diferente con su dispositivo IoT
Al crear sistemas de IoT, a menudo desea utilizar dispositivos que tengan un voltaje de suministro diferente al normal de 3,3 V o 5 V que puede generar su Raspberry Pi u otra placa de desarrollo. En este caso es necesario utilizar un relé. Esta publicación analiza el uso de placas de relé y muestra un ejemplo codificado con AndroidThings.
Lo que haremos:
– Hablar de diferentes tensiones.
– Mira un relevo y descríbelo
– Identificación del circuito de relés
– Relé y GPIO
– Ejemplo codificado
Vamos a empezar..
Raspberry Pi y otras placas de desarrollo como la iMX7D o Intel Edison funcionan con 5 voltios. También reducen el voltaje de sus pines GPIO a 3,3 V. Sin embargo, si desea utilizar otro hardware para su placa, por ejemplo, Por ejemplo, un motor de 9 V CC, un ventilador de 240 V (Reino Unido) o 220 V (EE. UU.), Un aire acondicionado, una puerta de garaje mecánica, una licuadora, etc., es probable que requieran un voltaje más alto para recibir electricidad.
Cuando su dispositivo periférico tiene alimentación externa, pero es un dispositivo inteligente con una API para controlarlo. Probablemente no necesite un circuito de relés. Sin embargo, si su dispositivo es «tonto» y necesita controlarlo, entonces necesita controlar la fuente de alimentación, lo que significa apagarlo y encenderlo nuevamente. Aquí es donde entra en juego un tablero de relevos.
¿Qué es un relevo?
un dispositivo eléctrico que normalmente incluye un electroimán que se activa mediante una corriente o señal en un circuito para abrir o cerrar otro circuito.
Un circuito de relé le permite controlar un voltaje mayor con un voltaje menor. Los dos circuitos no están conectados físicamente, el electroimán está conectado y controlado por la Raspberry Pi y el interruptor está conectado al voltaje más alto.
Los relés bidireccionales en una placa de relés se ven así:
Cuando el electroimán se apaga tan pronto como se cierra el circuito. Cuando se enciende el electroimán, el circuito cerrado se abre y el circuito abierto se cierra. Cada relé de dos vías puede controlar dos circuitos.
COM, en el medio, es para la conexión común: aquí es donde conecta su fuente de alimentación habitual.
NO, normalmente está abierto a. Normalmente abierto significa que este circuito está conectado cuando este relé está encendido.
NC, normalmente está cerrado por. Normalmente cerrado significa que este circuito está conectado cuando este relé está apagado.
En el otro extremo, conectas tu Raspberry Pi u otra placa.
En este ejemplo:
IN1 es el pin GPIO para el primer relé bidireccional.
IN2 es el pin GPIO para el segundo relé bidireccional.
Cambiar el pin GPIO a HIGH cierra el circuito normalmente abierto y cambiar el GPIO a LOW cierra el circuito normalmente cerrado (o lo deja cerrado).
Usé este circuito de relés de Amazon. Módulo de relé de potencia de disparo de nivel bajo de 2 canales de 5 V CC Adaptador JQC 3FF SZ 10 A 250 VCA 15 A 125 VCA Quería controlar dos periféricos al mismo tiempo y esta tarjeta tiene dos entradas GPIO.
Como ejemplo, usando AndroidThings para conectar el circuito NO:
Gpio gpio = new PeripheralManagerService().openGpio(gpioPin); gpio.setActiveType(Gpio.ACTIVE_HIGH); gpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW); gpio.setValue(true); // close Normally Open circuit
Con AndroidThings, no siento que «gpio.setValue (true)» realmente explique lo que está sucediendo con el relé. Así que creé esta clase contenedora para que el trabajo con relés sea más legible:
public class Relay public static Relay newInstance(String gpioPin) PeripheralManagerService service = new PeripheralManagerService(); return newInstance(service, gpioPin); public static Relay newInstance(PeripheralManagerService service, String gpioPin) try Gpio gpio = service.openGpio(gpioPin); gpio.setActiveType(Gpio.ACTIVE_HIGH); gpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW); return new Relay(gpio); catch (IOException e) throw new IllegalStateException(e); private final Gpio gpio; Relay(Gpio gpio) this.gpio = gpio; public void connectTo(Position position) try switch (position) case NORMALLY_OPEN: gpio.setValue(true); break; case NORMALLY_CLOSED: gpio.setValue(false); break; default: throw new IllegalStateException("Developer Error, unhandled enum " + position); catch (IOException e) throw new IllegalStateException("Cannot switch to " + position, e); public void close() try gpio.close(); catch (IOException e) throw new IllegalStateException(e); public enum Position NORMALLY_OPEN, NORMALLY_CLOSED
Ahora puede controlar un relé de la siguiente manera:
Relay relay = Relay.newInstance(gpioPin); relay.connectTo(Relay.Position.NORMALLY_CLOSED);
¡Eso es!
Una vez que sepa cómo usar un relé. La placa de relés en sí es sencilla, especialmente una vez que comprende los sinónimos normalmente abiertos y normalmente cerrados. A menudo, al realizar proyectos de IoT, desea utilizar un voltaje diferente para los dispositivos que están enchufados a la red eléctrica / pared, ¡y ahora puede hacerlo!
El relé que uséfrente a Amazon.
La biblioteca de controladores de relé de AndroidThings se puede encontrar aquí.