I’m having a hard time finding help on this because I’m not even sure how to search for it, but here’s what I want to solve.
I have a photon that will be running in my truck to control a raspberry pi’s power on and off. Essentially when the ignition power is present, the Pi will power up, but when the ignition goes off, I want to signal the Pi to do a graceful shutdown. I’m doing this with a relay board I have connected to the Photon.
Here’s the scenario: ignition on isn’t a problem, all i’m doing is having the photon sense the ignition with a voltage divider on a digital pin set to detect high or low voltage. I then trigger another pin set as output to trigger a relay that sends 5v power to the Pi. When the ignition goes off I sense this with the photon (that has contant power) and then issue a signal on the other pin that is connected to one of the Pi’s GPIO pins where I have a python script to do a graceful shutdown.
My plan was to be able to have a certain delay of say 20 minutes to leave the Pi powered up in case I’m just quickly stopping somewhere so I don’t have to keep rebooting it all the time. The problem is the if…else loop I have has no way to interrupt the shutdown sequence when ignition power is restored. Should I be using a while loop or a do while or a switch setup? Which one of these control structures will interrupt the current case when conditions change?
At the end of your 20 minute spin-down, have the Photon Check the voltage divider again.
Then decide to Shutdown the Pi, or continue normal duty from the nested IF.
I tried putting in a nested if statement which tested the condition and then do a break, but it would not allow me to use a break because it said it needed to be inside a loop??? Didn’t make any sense to me.
I’m thinking I need to use a switch or a do while loop instead of an if else structure because the if else structure isn’t really a loop. What would be the best to use in this case? I have never used the switch structure, but maybe that’s the best way to go here.
I’m not sure if this will help you out, but I came across this product just yesterday (I ordered that company’s “Current Ranger” product). https://lowpowerlab.com/shop/product/91