Using Graphic Touch Screens and SD Cards with Arduino is published by CreateSpace Independent Publishing Platform in August 2016. This book has 128 pages in English, ISBN-13 978-1537157825.
Arduinos are mini computers on a circuit board designed primarily for controlling electronic circuits. They have analog and digital inputs and outputs that allow them to input data and turn things on and off. For some applications (like building a robot), no direct interface with humans, such as a keyboard or display screen, is necessary. For some applications, however, you will want to display information and also input commands. For example, you may be designing a sensor device to monitor sensor readings (tricorder, anyone?). In this case, you will want to have a display. You may also want to input instructions or information into the Arduino. In that case, you will need some kind of buttons, menus, or analog control devices like volume controls. You can have an LCD display to read information and some switches and knobs, but why not combine everything into one handy input/output device? Touch screens are perfect for this. They can display information as text or graphic. You can also cause them to display buttons or other graphic symbols that you can touch to make selections. One device can handle the entire human/Arduino interaction. For this book, I will be working with the Seeed (that is not a misspelling, there are three e’s.) Studio 2.4” 240 x 320 pixel touch screen Version 2 (http://www.seeedstudio.com). This is the best documented and most consistent touch screen on the market. However, if you are familiar with other brands of touch screens, you can still apply the basic code in this book. The libraries for each brand of touch screen might use slightly different commands for such things as initializing the screen, printing text to the screen, drawing rectangles or circles on the screen, and so on. However, if you simply substitute the appropriate command used by your screen for the one used in the sketches in this book, such as myGLCD.InitLCD() or Tft.init() for Tft.TFTinit(), the basic program concepts used in this book should work. I have written the code with most of the values, such as screen size, defined at the beginning of the sketch to allow for easy modification, and the purposes and functioning of most lines of code are explained step by step so you can understand what everything does and how to modify it to your needs. I will start out by addressing some of the problems with connecting touch screens to Arduinos due to a bit of a design flaw in the shields. I will then go on to give sketches (Arduino talk for software programs, commonly referred to as apps these days) for creating text menus, buttons, sliders, and other controls that you are probably familiar with in normal windows programs. I will also discuss outputs like text (both static and scrolling), graphs and histograms for output. There is also a chapter on creating a system for swapping screens, so you can have more than one screen of controls or information within a sketch. Finally, I will show how to use the SD (or microSD) card that some touch screens have built in. The techniques used in that chapter should work on SD card readers that come separate from touch screens too. In the Appendix, I will provide information on how to download the sketches in this book to save you typing and how to contact me for questions.