RotaSenso: Feel the presence of someone afar. A connected rotary device that mirrors emotions and gestures in real-time. ππ The RotaSenso is also on Hackster!
The cost of this project is approximately 40 USD without shipping and fees, but you can heavily limit the cost by solder directly servo and potentiometer to your xiao (or go-to ESP32 board), based on your soldering skills. As you can see from the description this project is aimed to a nwcomer in the IoT world.
- Seeed Studio XIAO ESP32S3 (USD 7.49) Γ 2
- Grove Shield for Seeeduino XIAO (USD 3.90) Γ 2
- Seeed Studio Grove Servo (5.90) Γ 2
- Seeed Studio Rotary Angle Sensor (USD 3.20) Γ 2
This project is a very humble tribute to a mania, a trend I've seen in the Iot-verse since its beginning.
(you came here to build the actual RotaSenso? skip to this symbol ππ)
I think the first project going in this direction (aka connecting to enviromnments enabling the sharing of a feeling, or in this case the sleeping time was "the Good Night Lamp" by Alexandra Des-champs Sonsino
The little lamps used to have cellular connection: I'm not sure it' still so.
We did something similar in Casa Jasmina: the EmojiLamp (2017). In this case we were using Telegram APIs to control the behaviour of a Ws2812 LED Strip.
Later, during the Pandemic, I've seen a wonderful project that still make me smile: the Yo-Yo Machines from Interaction Research Studio (2020).
In this case, you could build yourself for different devices, out of paper and glue: The Light Touch, the Speed Dial, the Knock Knock and the Flutter By. they were using wifimanager as Captive Portal and Socket.IO.
Well, my project (still) doesn't have a Captive Portal (that would be amazing when we deliver the RotaSenso to somebody allowing adding an unknown Wifi Network: in my TODO list!
What RotaSenso doed is sharing the position of the potentiometer in a public or private MQTT channel (I've tested many, and many are free). The Other RotaSenso move the Servo in the correspondingo postion.
Here is a little short explaining it!
The hardware is very simple and doesn't need soldering. The Servo will be hooked up to pin DO/A0, the Potentiometer to pin A5/D5
- Installing Arduino IDE and Required Libraries
- Download and Install Arduino IDE: Visit the Arduino website and download the latest version of the Arduino IDE suitable for your operating system. Install the software following the instructions provided on the websi 6055 te.
- Install the ESP32 Board Package: Open the Arduino IDE, go to File > Preferences, and add the following URL to the Additional Board Manager URLs field:
https://dl.espressif.com/dl/package_esp32_index.json
- Next, navigate to
Tools > Board > Boards Manager
, search for "ESP32, " and install the package. - Add Required Libraries:Go to
Sketch > Include Library > Manage Libraries...
, and search for and installPubSubClient
andESP32Servo
- Calibrate the positions
You will have to create two similar boards or little "things" to put the RotaSenso in. Feel free to amaze us. Once you are done you will need to calibrate the two RotaSensos in order to know where are the 8 numbers
Calibration.ino is the code for calibrate the devices, while Rotasenso-v01.ino is the firmware for both devices. Please remember to:
- Add your wifi and password!
- Change the MQTT Broker (line 14) with others (HiveMQ or EMQX are two of many) is that one is giving you problems
- the First will publish to
test/SV02
(line 113) and receive ontest/SV01
(line 51). The second RotaSenso will need to have these two variables in the opposite positions (be carefule about this! - Increase the number of time the message is sent! On lin 110 I sent the data 3 times. You can increase this numeber in order to be mor sure the data was sent correctly. Possibly in the future we should sort out a way to have the two devices handshake.