Version/Date: 04/11/2023
The mesh-enabled interaction buttons allow you to easily create interactions using buttons, lights, and music with any programming language.
- Hardware:
- Software:
The buttons were originally created for the course Experience Design for Interaction. The goal was to create a new layer to existing small playgrounds to make it more fun for children to play there. This project aimed to solve the issue by hanging the buttons all around the playground. And with the use of these buttons, create games like Capture the flag. They were set up in a way where the buttons listened to basic commands via a mesh network and were sent when they were pressed.
MESH_SSID
: This is the name of the mesh (you can see this with your phone). They have to match otherwise the buttons will be separate meshes.MESH_PASSWORD
: This is the password to connect to the mesh. If this is wrong, it is not allowed to join the mesh.WIFI_CHANNEL
: These if to match; otherwise, they can not see each other at allMESH_PORT
: This determines what port the buttons will listen to for commands. You can choose to mismatch these but not the settings above. For example if you want to have two different sets of meshes with the same settings but a separate communication.The dongle has a button on the underside. This button can do three things:
115200
and select the right COM port. The device should be called USB Serial Device
.nodeid:command:subcommand`
. The backtick at the end is important.Nodelist`
. You will receive a list of all nodes starting with the ID of the dongle. The IDs are separated with a \.:Play:[song]
- This is how u play a song on a button. [song] has to be replaced with the name of a song u have put in the sounds folder of the SD card without the “.mp3”.:Rainbow
- This will put a rainbow effect on the button.:Full:[color]
- This will put a solid color on the button. Replace [color]
with one of the colors.:Circle:[color]
- This will put a circle effect on the button in color.:Blink:[color]
- This will have the button blink a color.:Clear
- Turns of the LEDs.:Brightness
- With this, u can change the brightness of the button on a scale from 0 - 255
.:Volume
- With this you can change the volume of the speaker on a scale from 0-21
.:Battery:[subcommand]`
- With this, u can get information about the battery.Percentage
- Gives the battery percentage over serial.Voltage
- Gives the battery voltage over the serial.Show
- Gives back the battery voltage and percentage over serial, but also shows the battery capacity with the LEDs.The following colors are available: Red, Blue, Green, Purple, Yellow, Orange, Cyan, Pink.
This is how the program looks when starting.
Picture of the dongle.
Inside view of the buttons.
Buttons; one off, one green.
The buttons will be tested in module 6 as a tool in the course. Besides this, they might be used for graduation projects. If any problems occur during those use cases, the functionality of the buttons might be extended.
The buttons work great on the software side and are easy to set up. This used to be complicated. However, due to the same manufacturing error, there is only one set of buttons where the LEDs work correctly. The other 2 sets have defective LEDs, which might be replaced later.