BLE Final
Overview
As I mentioned before, my final project is a part of my thesis project which name is Clinking. It is an VR + IoT Experience designed for social VR users, which enables friends to enjoy drinking in virtuality just like what they do in reality.
Goal
My goal in this class is to finish the hardware part of this project, which is:
1. using a water level sensor to make a special cup which enables Unity to read the volume of the liquid in the cup.
2. using a solenoid to create a haptic feedback when unity tell it to do so.
Overview
In week 3, I have tested with the solenoid and it worked very well.
https://ruixuandesign.medium.com/ble-assignment-week-3-cff4ada81e97
Step1: testing with the water level sensor.

Step2: testing the communication between Arduino BLE and Unity. And here, I used a tool called Ardity. I will talk about it in the Handshake Guide.
System Map

Block schematic

Bill of materials

Handshake Guide
I used a tool called Ardity. It is very easy to use. It could connect Unity with Arduino by building a serial communication between them. Specifically, Ardity creates a thread in which it polls a COM port, all data it receives is stored in a shared thread-safe queue. Down below is the link to their Github project.
Final Result
Here is the Final result, Unity could both read data from Arduino and write data to Arduino.