The basic concept for this project is a matrix of individually switchable terminals that will be connected to electrical firework igniters. The igniters don't need a ton of current, but given all the noise that must inevitably result from firing, I chose to switch the matrix using opto-isolated relay boards.
The first revision uses a pegboard substrate for the matrix. This is incredibly cheap, but a lot of work to solder. Since I had a lot of time to think while soldering, I was able to come up with a design that can be constructed out of reasonably-sized PCBs.
Another interesting improvement involves the use of CAT5 and RJ45's to connect the matrix to the igniters. This will need some testing as I'm unsure if the RJ45 connectors will withstand the currents involved.
Video of V1 firing: https://flic.kr/p/viXGJE
Hi Aleks,
nice project. I have almost the same setup for my openhab. Pi, MCP23017 and the 16 relays board.
I was as surprised as you that the relay board need the input set to high to do nothing.
I wonder how you handled it. I'm using a script which is executed via /etc/rc.local:
################################################
#!/usr/bin/python
import sys
import smbus
bus = smbus.SMBus(1)
# set IODIR to output and set all pins to high
bus.write_byte_data(0x23,0x00,0x00)
bus.write_byte_data(0x23,0x12,0xff)
bus.write_byte_data(0x23,0x01,0x00)
bus.write_byte_data(0x23,0x13,0xff)
################################################
This works fine after the pi booted. Now the problem I have is that the mcp23017 keeps loosing the information that all the pins are output pins.
I couldn't find your files on github, I'd like to have a look at them, maybe you can upload them somewhere.
br
Daniel
...btw. do you share your wives baby belly photos next to your firework photos intentionally?