Project Updates for 7/31/2018
Yesterday I didn't get a whole lot done. I mostly worked on some of the driver code and changing it from reading 4 inputs to more of a matrix.
Today I hooked up the MCP3008 and enabled the auxiliary SPI and it's working great. I found some software called GBZBatteryMonitor which is really just a stripped down version of PiCheckVoltage that's a little newer. I updated the MCP3008.py file with the correct pins and it worked well. It turns out when I swapped connectors for the battery, the new connector had the wires opposite of the one that came with the battery. So swapping connectors as well as wires resulted in the battery being connected backwards. I went ahead and fixed that. I also updated the python code that monitors the battery to use the second SPI port as well as making it so I can disable the status LEDs by setting them to 0 since that was a couple GPIOs that I wasn't planning on using.
So it looks like the piece of the puzzle that I thought was most unlikely to work is working. However, since there is a voltage divider going across the battery, my concern was that even with the power off, it will still continue to draw power from the battery, possibly causing it to go too low to charge. However, after doing the calculations, it should only yield a 0.54ma draw which very is negligible. Also, for the main circuit, since it only uses 1 ADC channel, I can get away with a MCP3002 which only has 8 pins. The next piece is to hook up the shift register to the keypad and make it so my driver works with that.