Open source software to turn your smartphone or tablet into an Android remote touch display and voice output for your Arduino and ARM projects.
You can do this using a Bluetooth adapter like HC-05 or an USB OTG cable.
Use the Arduino sketch to create a GUI with graphics, buttons, and sliders on your smartphone or tablet.
Simply connect an HC-05 to the RX/TX pins of your Arduino.
Alternatively, you can connect the Arduino directly to your smartphone using a USB cable and a USB-OTG adapter.
BlueDisplay receives drawing requests from the Arduino via Bluetooth and renders them.
It can also handle voice output requests, which are processed by Android's Text-to-Speech Engine.
GUI callback, touch and sensor events are sent back to Arduino.
No Android programming is required!
In full-screen mode, the options menu is accessed by swiping from the left edge.
Features:
- Open Source.
- C++ Libraries for Arduino and ARM (STM)
- Touch button + slider objects with tone feedback.
- Button and slider callback as well as touch and sensor events are sent back to Arduino.
- Graphic + text output as well as basic printf implementation.
- Voice output with Android TextToSpeech for Android > 5.0 (Lollipop).
- Draw chart from byte or short values. Enables clearing of last drawn chart.
- Play system tones.
- Easy mapping of UTF-8 characters like Ohm, Celsius etc..
- Automatic and manually scaling of display region with handling of insets.
- Up to 115200 Baud using HC-05 modules.
- USB OTG connecion can be used instead of Bluetooth.
- Local display of received and sent commands and data for debug purposes.
- Debug messages as toasts.
- Strings printed with Serial.print() are interpreted as debug messages.
- Hex and ASCII output of received Bluetooth data at log level verbose.
Sources + Examples:
Sources are available at https://github.com/ArminJo/android-blue-display.
Examples are contained in the Arduino BlueDisplay library https://github.com/ArminJo/Arduino-BlueDisplay.
Or use (Ctrl+Shift+I) in the Arduino IDE and search for BlueDisplay.
The library includes examples for easy initializing a HC-05 and for a simple DSO with 0.3 megasamples/sec.
Before using the examples, take care that the BT-module (e.g. the the HC-05 module) is connected to your Android device and is visible in the Bluetooth Settings.
All examples initially use the baudrate of 9600. Especially the SimpleTouchScreenDSO example will run smoother with a baudrate of 115200.
For this, change the example baudrate by deactivating the line `#define HC_05_BAUD_RATE BAUD_9600` and activating `#define HC_05_BAUD_RATE BAUD_115200`.
AND change the BT-Module baudrate e.g. by using the BTModuleProgrammer.ino example.
ARM example code can be found on https://github.com/ArminJo/STMF3-Discovery-Demos.
Version Info https://github.com/ArminJo/android-blue-display#revision-history:
5.0
- Voice output with Android TextToSpeech for Android > 5.0 (Lollipop).
- Text Y and X position is upper left corner of character.
- New functions setCallback() and setFlags() for buttons and sliders.
- Screen orientation flags now also possible in setFlagsAndSize().
- Fixed timestamp DST handling.
- Handling of Android insets.
4.4
- Support für new function disableAutorepeatUntilEndOfTouch().
4.3
- New command FUNCTION_CLEAR_DISPLAY_OPTIONAL to enable resynchronization of slow displays.
- Bluetooth random delay detection.
- Fixed bug for micro-swipe suppressing.
- Added Slider SUBFUNCTION_SLIDER_SET_DEFAULT_COLOR_THRESHOLD.
- Opening options menu by swipe now not restricted on full screen and connected.
- Strings printed with Serial.print() are not interpreted, but stored in the log for debug purposes.
- Fixed bug in FUNCTION_BUTTON_REMOVE.
- Fixed bug for SUBFUNCTION_SLIDER_SET_POSITION.
Hint:
To enable programming of the Arduino while the HC-05 is connected, use a diode to connect Arduino rx and HC-05 tx.