Raspberry Pi GPIO Expander + Relay Drive Shield
4.00 out of 5
$6.00
- Description
- Additional information
- Reviews (4)
- Enquiry2
Description
- Only need five pins of Raspberry Pi (RPI) to control it, 5V, 3V3, GND, SDA and SCL.
- On board MCP23008 for IIC interface, relay connects in the IIC, save the GPIOs of RPI and can cascading modules
- On board ULN2803 relay control
- Four relays mounted on board, but more relay can hook on it via the cable terminal or connect cascadely
- SMD type toggle switch for adapting IIC address, you will need any tiny tip ends for operating it.
- Four LEDs indicator connected correspondingly to relays.
Note:
- RPI pin header is NOT soldered on the board, but included in the package, this will need to be soldered by yourself, please be aware this is different with the pictures shown here.
- Pin header designed for RPI model B, but can also work for model B+
Additional information
Weight | 0.09 kg |
---|
4 reviews for Raspberry Pi GPIO Expander + Relay Drive Shield
Add a review Cancel reply
Agnieszka (verified owner) –
Really good modules, great idea that it can be chained, so once I need 12 relays to control, I can still do it with my single Raspberry Pi and these 5 pins! Very well manufactured, very good quality. As well good design with buffering of relays. This is really interesting board if you build a house control center with RPi. Just get one and try yourself.
lunakid (verified owner) –
Excellent design, very useful and easy to use.
BUT: 1 of the 4 relays (or the relevant connections) is faulty on the board I received! (The relay does click, but no connection.)
aferrarel (verified owner) –
I bought 5 of them. The construction is good but there are some issues:
in 3 out of 5 the leds don’t work, fortunately the relays work
the serigraphy on the PCB board is wrong, the connector for the other 4 lines without the relais and the GND, +5V are exchanged, be careful if you are using these connectors
finally the demo code doesn’t work properly, it activates only 3 out of the 4 realis, I wrote this simple test program:
#! /usr/bin/python
import smbus
import sys
import getopt
import time
#bus = smbus.SMBus(0) #Rev 1 board
bus = smbus.SMBus(1) # New Rev 2 board
address = 0x20 # I2C address of MCP23008
bus.write_byte_data(address,0x00,0x00) # Set all to outputs
# Handle the command line arguments
delay = 1
try:
while True:
bus.write_byte_data(address,0x09,16) #
time.sleep(delay) # 1 second delay
bus.write_byte_data(address,0x09,32) #
time.sleep(delay)
bus.write_byte_data(address, 0x09, 64)
time.sleep(delay)
bus.write_byte_data(address, 0x09, 128)
time.sleep(delay)
bus.write_byte_data(address, 0x09, 0)
except KeyboardInterrupt:
steve.bromwich (verified owner) –
My relay was on address 0x27 not 0x20 but otherwise worked fine. Sample shell script to power cycle each relay in turn with a half second pause:
#!/bin/sh
# All off
i2cset -y 1 0x27 0x09 0
sleep .5
# 4
i2cset -y 1 0x27 0x09 16
sleep .5
# 3
i2cset -y 1 0x27 0x09 32
sleep .5
# 2
i2cset -y 1 0x27 0x09 64
sleep .5
# 1
i2cset -y 1 0x27 0x09 128
sleep .5
# All off
i2cset -y 1 0x27 0x09 0