107: Controlling a Relay Switch
In the previous post (106), I mentioned using a relay to reduce power drain when operating a stepper motor with the EasyDriver. I covered switches before in post 94. There is yet more at http://dicks-photon-arduino.blogspot.com/, post 45.
There are a couple confusing things about these relays:
1. These devices are "normally open". Pin settings are backwards:
GPIO.output(Relay, GPIO.HIGH) # turn OFF
GPIO.output(Relay, GPIO.LOW) # turn ON
2. On the Raspberry Pi there is a second gotcha. See image:
Note that I used the upper 2 of the 3 relay connectors (explained in previous posts). Yesterday, I connected a relay like the picture above. But instead of switching, it was always ON! I tried it with an Arduino -- worked fine. Then I realized that I had connected my breadboard's 5V rail to VCC on the relay instead of 3.3V. The GPIO pin only does 3.3. A dumb, but easily made mistake. When I changed to the 3.3V rail everything worked.
Note: I used the cheap non-opto-isolated relay in this case because I was only switching 5V/.5amp.