To get our Arduino creative juices flowing, we decided to build some simple projects with the neighbor kids. Like most people out there, we started with a couple Arduino Unos and made a few blinky LED projects. After that, we upped our game with a MPU6050 Multi-Function shield and a HC-SR04 ultrasonic range finder in order to build a lanyard-mounted social distancing meter that would help us maintain safety regulations during COVID-19. The seven segment display showed the distance in inches and the buzzer alarms if the distance reaches less than 36". With a little hot glue and some cardboard, we were able to mock it up into a wearable lanyard and test it throughout the house.
After that we were ready to move on to the project at hand, STEPS (Skill Training Encouragement device for People on the Spectrum). For the hardware, we made the decision to use all off-the-shelf plug and play type modules instead of procuring individual components and rolling our own boards. This should help to speed up the design and build process, though it makes for a clunky assembly. We started by mocking up the hardware on a breadboard. It makes the device a little big for a wearable, but allows us to access probe points and makes for easy troubleshooting and repair. We plan to use this breadboard platform for the majority of the process and will only worry about form-factor once we've got all the components working together well.
The first portion we planned to tackle was the OLED configuration. We used a 0.96 inch, 128 x 64 bicolor OLED screen that communicates over I2C. Using the Adafruit SSD1306 library, we were off and rolling pretty quick with their example code. Then we began to develop a screen layout that would work for us. Our screen has a yellow band of pixels at the top and the others are blue. We'll use the yellow as one region and will divide the blue into two sections. The screen doesn't have specific functionality to clear pixel regions but we can overwrite an area with 'black' instead of 'white', which could work. The other option is to keep all the screen information in memory and completely rewrite the entire screen each time there is an update.
While I worked on the code for the OLED, my daughter, Clara developed graphics that we'll print on some cardstock and use with RFID tags to emulate the step locations (ie: toilet handle, faucet, towel). She will also be creating similar, small graphics to be displayed on the OLED.