I was inspired by all the elderly patients in care facilities who don't have a way to communicate with their relatives daily due to COVID. I realized I could create a pretty simple device to allow patients and/or their nurses to give their relatives daily mood updates to put their minds at ease.
What it does
On the LCD screen, the friendo shows a range of emotions using emojis from anger to happiness. Users can use the remote control to change the emoji on the LCD screen by pressing UP or DOWN, which makes them more happy or more sad, or the middle button to return to a neutral state. Once the emoji is changed, the website will register the change and display it to people who have that friendo in their network.
How I built it
I used the Super Starter Arduino kit's LCD screen and remote control to be able to change the emojis. To enable requests to the web server, I wrote a Python script that took the output of the emotion from my Arduino program and displayed that in the website by parsing the serial output from the Arduino and performing a HTTP request to the server. The website then just constantly pings the server for updates to show an up to date reading of all of your friendos' statuses.
Challenges I ran into
When I first started working on this project, it was hard to get the IR remote control receiver to work so I would be able to log button presses to change the emoji. Also, making the custom emojis and the animation between emojis on the LCD screen was difficult as well. I found that you can assign up to 8 custom characters on the 16x2 LCD screen at once, and I created a Python script to convert images (containing only white and black pixels) to the correct Arduino code which rendered that image via a combined set of custom characters. Then, when a new emoji is to be displayed on the screen, we update the map of 8 custom characters to be the new emoji. We also re-draw the same custom characters every 100ms at different points on the screen, moving either left or right one character at a time, to make a nice animation of the emojis moving left or right as you hit the UP or DOWN button on the remote to get happier or sadder.
Accomplishments that I'm proud of
This was my very first time making a hardware project without instruction as well as a Flask web app so I'm really proud that I was able to finish this in a 24 hour period.
What I learned
This my first hardware hack so I learned a lot about circutry, arduinos, sensors, remotes.
What's next for friendo
I would like to make more friendos and see if I can get two of them to communicate with one another. I would also like to have controls on the friendo for the user to select the emotions.
The domain I registered is the.friendo.space. This may not be working since I ran into some DNS issues, but it is working at https://friendo-technica.herokuapp.com/.