Tricot Malin (smart sweater in French) is a smart t-shirt that makes it possible to interact with the digital environment that surround us through the use of simple gestures.
- 1 JeeNode v6: microcontroller running at 3.3V
- 2 Sparkfun LSM9DS0 breakout board: inertial measurement units, one for each arm
- 2 RedBearLab BLE Mini: Bluetooth modules
- 2 RGB LED strips of AdaFruit NeoPixel: luminous feedback, one for each arm
- 1 buzzer: sonorous feedback
- Jumper wires (a lot!): to connect everything together
- FTDI USB to serial board: to upload code to the JeeNode
- Python 2.7
- Arduino IDE
- Sparkun LSM9DS0 Arduino Library
- Adafruit NeoPixel Arduino Library
- BLE Mini HCI Library
- Upload the HCI UART slave firmware to the BLE Mini which will be connected to the JeeNode.
- Connect the components to the JeeNode according to the schematic using the jumper wires.
- Upload the code
arduino/orientation_to_bluetooth/orientation_to_bluetooth.ino
to the JeeNode:
- Connect the JeeNode to your computer with a FTDI USB to serial board, such as the USB BUB II.
- Open the code in the Arduino IDE.
- Select
Arduino Uno
as board and the appropriate serial port. - Disconnect BLE Mini from
TX
andRX
pins. - Press upload.
- Reconnect BLE Mini to
TX
andRX
pins.
- Connect the BLE Mini containing the HCI central firmware to your computer with a Micro USB cable.
- Set the global variable
TX.Port
inbluetooth/bluetooth_central.py
to the approriate port to which the BLE Mini is connected. - Run the Python code
bluetooth_central.py
:
- Press
n
to enable notifications and thend
to search for BLE modules nearby. - After the discovery, press
e
to establish the connection to the BLE module connected to the JeeNode. - When the connection is successful, press
n
again to start the communication. - To end the execution, press
q
and then close any visualization window.
- Turning an arm by 180° will trigger the corresponding action.
- When a gesture is detected, the LEDs of the arm will shortly turn on.
- When the lights turn off, a new gesture is ready to be detected.
- The gesture of each arm has its own an independent associated action.
All the project's documentation is available at our Wiki.