Our Cookies Policy
To make full use of www.electromaker.io, enjoy the personalised features and ensure the websites works to its full potential, your computer, tablet or mobile phone will need to accept cookies.
Our cookies don’t store sensitive information such as your name, address or payment details: they simply hold information about how you use our site so we can improve your experience and resolve any errors.
If you’d prefer to restrict, block or delete cookies from www.electromaker.io, or any other website, you can use your browser to do this. Each browser is different, so check the ‘Help’ menu of your particular browser (or your mobile phone’s handset manual) to learn how to change your cookie preferences.
Here’s a list of the main cookies we use, and what we use them for:
Electromaker – Login session
Google Analytics – Analytics
Twitter – Twitter Feed
Each web browser handles cookie management differently, please follow instructions for your chosen browser:
The Tactigon 3D Gesture Motion Board THE TACTIGON BOARD
Genuino Uno Rev3
ARDUINO UNO REV 3
Bluetooth V4.0 HM-11 BLE Module
Software app and online services
This post will show how to take advantages of The Tactigon’s BLE Central capabilities. We wanted to control our robot by using The Tactigon as a “3D steering wheel” controlling speed with pitch and steering with roll. We made so few changes in the Alphabot2 original Bluetooth example code and wrote a sketch for The Tactigon to connect to the robot’s BLE characteristic and write in wheels speeds.
What we need
The Tactigon with a configured Arduino IDE
Robot. We used a 2 wheels robot with Arduino board and BLE radio interfaced with UART. Other kind of robots or custom ones can work as well.
Robot BLE MAC Address and Characteristic
Gathering BLE MAC Address and Characteristic
After our environment is configured and our boards are ON, we need to gather BLE MAC Address and Characteristic. To do so we used a free android application called
Few seconds after the application should show the robot’s BLE:
As we see, all BLE devices around us are showed in this section. We need to write down the Waveshare_BLE MAC address: in this instance it is: 00:0E:0B:0C:4A:00
By clicking on the CONNECT button we access to device’s informations as attribute, service and custom characteristic.
Here we need to write down the CUSTOM CHARACTERISTIC UUID, in this case: 0000ffe1-0000-1000-8000-00805f9b34fb.
With this items we can set our Tactigon BLE to act as BLE Central in the setup() section of the code.
The Tactigon sketch
In this section we have the core of the sketch. At a frequency of 50Hz, we update quaternions and euler angles.
Analizyng pitch angle provided by Tactigon library, we can determine steering radius by slowing internal wheel and accelerating external wheel.
Analizying roll, instead, we can determine travel speed of the robot.
With a sprintf we prepare the buffer to write in the characteristic.
Since our Bluetooth sends received data over UART, we get wheels speed directly in the serial buffer.
We have set robot pins as follows, all as output:
To parse the command we first read all the serial buffer and verify if it is longer than 0:
If the command contains “Wh” we can so parse the string and gather leftSpeed and rightSpeed.
The direct_motor function assign the speed transmitted by The Tactigon to each wheel of the robot. By doing so The Tactigon will act as a virtual-steering wheel!
This sketch shows a potential application of The Tactigon, with the BLE Central mode is possible to connect to existing BLE devices and gather informations or control them.
Stay tuned for more Tactigon’s code!
This is the sketch to run on The Tactigon to control the alphabot 2 rover.
Sketch to upload on the Alphabot
Arduino-powered Robot Controlled With The Tactigon