This only works with Rpi with GPIO headers- so please don’t ask if it will work with other devices.
This is a complete rewrite of my old tutorial, with much better software choices thanks to time.
In my original example, I used a raspberry pi 1 as the additional software (webiopi) at the time was not compatible with anything other than the pi1.
Link to Chris Driscoll’s Initial Instructions- Driscocity
**Materials Needed**:
1. Raspberry Pi (any model with GPIO pins)
2. 5V relay module (single channel)
3. Jumper wires
4. Power supply for the Raspberry Pi
**Step-by-Step Instructions**:
**1. Safety Precautions:**
– Ensure the garage door is in good working condition.
– Disconnect power to the garage door opener before starting.
– Be cautious when working with electrical circuits to avoid electrical shocks.
**2. Identify the Garage Door Opener Wiring:**
– Refer to the garage door opener’s manual or circuit diagram to identify the wires responsible for opening and closing the garage door.
– Typically, there are two wires that, when connected, trigger the door’s operation. These are usually labeled as “Open” and “Close.”
**3. Connect the Relay to Raspberry Pi:**
– Connect the VCC and GND pins of the 5V relay module to the 5V and GND pins of the Raspberry Pi, respectively.
– Connect the IN (Input) pin of the relay module to a GPIO pin on the Raspberry Pi (e.g., GPIO17).
**4. Connect the Garage Door Opener Wires:**
– Connect one of the wires from the garage door opener (e.g., the “Open” wire) to one of the relay’s common (COM) terminals.
– Connect the other garage door opener wire (e.g., the “Close” wire) to one of the relay’s normally open (NO) terminals.
**5. Configure and Write the Python Script:**
– You’ll need to write a Python script to control the relay and trigger the garage door opener.
– Use the RPi.GPIO library to control the GPIO pins. Install it if not already installed:
Install This
sudo apt install RPi.GPIO
Here’s a simple Python script to open and close the garage door using the relay:
Python Script
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT) # Set GPIO17 as an output pin
def operate_garage_door():
GPIO.output(17, GPIO.HIGH) # Activate the relay (close the circuit)
time.sleep(0.5) # Adjust the delay if needed
GPIO.output(17, GPIO.LOW) # Deactivate the relay (open the circuit)
try:
while True:
user_input = input("Press Enter to operate the garage door (Ctrl+C to exit)...")
operate_garage_door()
except KeyboardInterrupt:
print("nExiting the program.")
finally:
GPIO.cleanup() # Clean up GPIO settings on program exit
**6. Run the Script:**
– Save the script to your Raspberry Pi and run it.
– When you press Enter, the script should activate the relay, simulating a button press on the garage door opener remote.
**7. Test the Garage Door Opener:**
– Make sure the garage door responds as expected. You may need to adjust the delay in the script to match your garage door opener’s requirements.
**8. Secure the Components:**
– Securely mount the Raspberry Pi and relay module, ensuring they are safely positioned and do not interfere with the garage door’s operation.
**9. Finalize and Test:**
– Test the system thoroughly to ensure it reliably opens and closes the garage door.
Remember to exercise caution and prioritize safety when working on this project. It’s essential to ensure that the garage door opener functions reliably and does not pose any safety risks.