What is Arduino?
Arduino is a small hardware board with a microcontroller, essentially an entire small computer on a board. It has a processor, small memory and many low-level inputs and outputs, such as serial port, I2C and pins for LEDs and buttons.
There are many variants of the board with different models of microcontrollers and various expansions, as well as a wide range of add-on boards with displays, sensors and other pheripherials. Most of the board can be connected to a computer with an USB cable, through which the board can be programmed. The USB connection acts as a USB-to-serial bridge as well, making the serial port communication between a host computer and Arduino possible.
Arduino boards and their clones are available for a very low price, the cheapest board can be bought for under 10 EUR / USD. Low price, as well as huge online community providing endless tutorials, guides and source code examples, makes them very popular in the hobby community for interacting with various low-level hardware. The boards are often used for learning programming as well.
Communication over serial port
Serial port (or RS-232) is a protocol for wired communication between two devices. It has much lower transmission speed than newer protocols (such as USB), but thanks to its simplicity and low hardware requirements, it is still used in industry in case a low-speed and short range connection is sufficient. Historically, mostly 9-pin DE-9 connectors have been used for serial port, but RJ45 is used as well (the same connector as for LAN cable, but with different signals). Serial port is present in many hobby development boards as well, including Raspberry Pi and Arduino, in the form of input/output pins.
Since version 4.2.0, Slideshow app supports communication over serial port. This can be used for communication with any device that has a serial port, including almost all Arduino boards as well. As the boards contain USB-to-serial bridge, they can be connected directly to the Android device running Slideshow app via USB cable. The communication can be used for various tasks, such as:
- Moving to the next file/media in Slideshow after pushing a button connected to Arduino
- Changing a playlist in Slideshow if Arduino detects a change in temperature using a thermometer add-on sensor
- Displaying a custom warning text in Slideshow if Arduino detects high concentration of Carbon Monoxide using a gas add-on sensor
- Flashing an LED connected to Arduino after clicking on the screen in Slideshow
- Showing a text on a small add-on display for Arduino after Slideshow detects a person using face detection
- …and many other combinations…
You can find the entire video tutorial for setting up communication between Slideshow app and Arduino board below, as well as the sample source code used for Arduino board. It will walk you through the initial configuration of the serial port in Slideshow and how you can interact with Arduino using Triggers and Slideshow API.