Let’s face it, once in a livetime it is not possible to leave your bed and you are depending on some help from your nearest famlily or friends. It could be helpfull to have a nice mobile tool that helps you calling for some assistence when you need it. Ofcourse it is also possible to shout for help, but with some help of the AFSM, there is an other solution. Let’s call it a “notification call system”. Here’s the description of the call systems. To start with; there are two identical sketches and two identical hardware configurations. See the figure for the schematics below:

Figure: Schematics

Both sketches have identical software and hardware. The communication is based on serial3 TX/RX and is made up by APC220 radio transmitters. For the software i’ve made a simple protocol for “intercard”‘ communication. See also the news item from may 2018. Hardware consists of a MEG2560, the APC220, a switch, a LED and buzzer.

Click here for the UserConfiguration and here for the UserFiniteStateMachine.

How it works…

When connecting one of the call systems to an usb adapter, the board is initialized and looking for the other board. When the second board is not yet connected -or the connection is not working- the call system will blink the LED in a rate of 30mS on/off. The sketch keeps running this connection check while it is powered on. As soon as the second board is started and the connection is made up, the LED on both call systems are turned off and the systems are ready for handshaking. 
For making reading easier; one system is the “caller” and the second system is the “called”-system. When pressing a button on the caller-system, the LED’s on both systems are starting to blink in a rate of 200mS on/off. Every 10sec a buzzer is activated on the called-system. Blinking the LED and a buzzer that’s activated every 10 seconds, must attract attention; when pressing the button of the called-system, the buzzer is turned off and on both systems the LED is now steady activated. The person on the caller-system is now informed that his request is acknowledged. When the button is pressed on the caller-system, the LED’s are turned off, and the cycle can be started again.

If -for what reason- there is a communication failure, that could disturbe the handshaking, causing for example the called-system is not reacting; press the button for a period of 3 seconds. Both systems are initialized and a new call can be made. As already explained, a real communication failure is causing the LED to blink in a high frequency (30mS on/off); than there’s a real problem and you have to shout for help!

Notice that the hardware and software of both call systems is identical and systems can be either caller- or called-system, but not at the same cycle; once caller or called, first complete the cycle. That’s the benefit of using the finite-state-machine.

 Picture. Both mobile call systems.