


Project information
- Category: Android App
- Languages:
- C
- Technologies:
- Arduino
Safe Step
A hardware/software solution that aids visually impaired commuters via auditory assistance
This is an Arduino project written in C
Safe Step levels the playing field by giving visually impaired commuters more independence.
Everyday leaving work during my Internship I would see a blind guy (peter) who would use my bus stop. I would hear the bus man shouting his name sometimes, I thought this is a terrible system, what if the bus man is sick, what if Peter wants to get the later/earlier bus with a different driver etc.
The project consists of 2 parts:
- Transmitter
This devise is positioned on the bus. It can be set to whichever bus number the driver desires. This bus identifier will be transmitted from the IR blaster so the receiver will know which bus has arrived. A button is also present on this device that the bus driver can press. This button will transmit another message to the receiver. This message will be another chance for a commuter to hear what bus has arrived ti will transmit a message such as "Last call 46A". -
Receiver
This device is attached to the bus stop. It uses an IR sensor to receive signals from the passing buses. It works off a custom built protocol so nobody can use their smartphone to interfere with it. This device is also interesting because of how it works, it interprets values as they come to see what bus it is. This system removes the need to be connected to any network and thus no need to ever update it. The transmitter will a value and this device will know how to decode it.
This project was really fun because it was like learning to code all over again. Programming on such a limited device whiles also wanting to do cool things with it presents a few problems. For example, sending values such as "46A" was an issue so as a work around the desired bus number would be converted into decimal so for 46A the value 1130 was sent and converted to Hex on the other side which gave the result I wanted in the start. The other device (bus stop with speaker) would interpret that as the 46A bus. And another thing, Hex goes to F so obviously couldn't have any X (express) buses, but then I thought that there aren't any F buses at all so all values that come in with an F be interpreted as an X. For example to get the 27x the value of 639 would be sent.