sainsmart tft lcd tutorial made in china

In this Arduino touch screen tutorial we will learn how to use TFT LCD Touch Screen with Arduino. You can watch the following video or read the written tutorial below.

For this tutorial I composed three examples. The first example is distance measurement using ultrasonic sensor. The output from the sensor, or the distance is printed on the screen and using the touch screen we can select the units, either centimeters or inches.

As an example I am using a 3.2” TFT Touch Screen in a combination with a TFT LCD Arduino Mega Shield. We need a shield because the TFT Touch screen works at 3.3V and the Arduino Mega outputs are 5 V. For the first example I have the HC-SR04 ultrasonic sensor, then for the second example an RGB LED with three resistors and a push button for the game example. Also I had to make a custom made pin header like this, by soldering pin headers and bend on of them so I could insert them in between the Arduino Board and the TFT Shield.

Here’s the circuit schematic. We will use the GND pin, the digital pins from 8 to 13, as well as the pin number 14. As the 5V pins are already used by the TFT Screen I will use the pin number 13 as VCC, by setting it right away high in the setup section of code.

I will use the UTFT and URTouch libraries made by Henning Karlsen. Here I would like to say thanks to him for the incredible work he has done. The libraries enable really easy use of the TFT Screens, and they work with many different TFT screens sizes, shields and controllers. You can download these libraries from his website, RinkyDinkElectronics.com and also find a lot of demo examples and detailed documentation of how to use them.

After we include the libraries we need to create UTFT and URTouch objects. The parameters of these objects depends on the model of the TFT Screen and Shield and these details can be also found in the documentation of the libraries.

So now I will explain how we can make the home screen of the program. With the setBackColor() function we need to set the background color of the text, black one in our case. Then we need to set the color to white, set the big font and using the print() function, we will print the string “Arduino TFT Tutorial” at the center of the screen and 10 pixels  down the Y – Axis of the screen. Next we will set the color to red and draw the red line below the text. After that we need to set the color back to white, and print the two other strings, “by HowToMechatronics.com” using the small font and “Select Example” using the big font.

Here’s that function which uses the ultrasonic sensor to calculate the distance and print the values with SevenSegNum font in green color, either in centimeters or inches. If you need more details how the ultrasonic sensor works you can check my particular tutorialfor that. Back in the loop section we can see what happens when we press the select unit buttons as well as the back button.

Ok next is the RGB LED Control example. If we press the second button, the drawLedControl() custom function will be called only once for drawing the graphic of that example and the setLedColor() custom function will be repeatedly called. In this function we use the touch screen to set the values of the 3 sliders from 0 to 255. With the if statements we confine the area of each slider and get the X value of the slider. So the values of the X coordinate of each slider are from 38 to 310 pixels and we need to map these values into values from 0 to 255 which will be used as a PWM signal for lighting up the LED. If you need more details how the RGB LED works you can check my particular tutorialfor that. The rest of the code in this custom function is for drawing the sliders. Back in the loop section we only have the back button which also turns off the LED when pressed.

In order the code to work and compile you will have to include an addition “.c” file in the same directory with the Arduino sketch. This file is for the third game example and it’s a bitmap of the bird. For more details how this part of the code work  you can check my particular tutorial. Here you can download that file:

sainsmart tft lcd tutorial made in china

This link states that there are two revisions of the waveshares board: 2.1 and 1.1 with the difference being that 2.1 works outside of the box, yet 1.1 would need extra drivers to work properly. It also states that clones of this product are often 1.1 so my best guess is that SainSmart is also based off 1.1

The overall customer support of SainSmart is technically incapable but are generally nice people to deal with. My package got stuck in customs and I had to pay an extra 25 euro, even tho I had explicitly stated that it should be sent from Germany, because I know shit like this happens.

sainsmart tft lcd tutorial made in china

SainSmart 3.2" TFT LCD Displayis a LCD touch screen module. It has 40pins interface and SD card and Flash reader design. It is a powerful and mutilfunctional module for your project.The Screen include a controller SSD1289, it"s a support 8/16bit data interface , easy to drive by many MCU like STM32 ,AVR and 8051. It is designed with a touch controller in it . The touch IC is ADS7843 , and touch interface is included in the 40 pins breakout. It is the version of product only with touch screen and touch controller.

sainsmart tft lcd tutorial made in china

SainSmart 3.2" TFT LCD Display is a LCD touch screen module. It has 40pins interface and SD card and Flash reader design. It is a powerful and mutilfunctional module for your project.The Screen include a controller SSD1289, it"s a support 8/16bit data interface , easy to drive by many MCU like STM32 ,AVR and 8051. It is designed with a touch controller in it . The touch IC is ADS7843 , and touch interface is included in the 40 pins breakout. It is the version of product only with touch screen and touch controller.

sainsmart tft lcd tutorial made in china

SainSmart 2.8" TFT LCD Display is a LCD touch screen module. It has 40pins interface and SD card and Flash reader design. It is a powerful and mutilfunctional module for your project.The Screen include a controller ILI9325, it"s a support 8/16bit data interface , easy to drive by many MCU like arduino families,STM32 ,AVR and 8051. It is designed with a touch controller in it . The touch IC is XPT2046 , and touch interface is included in the 40 pins breakout. It is the version of product only with touch screen and touch controller.

Voltage type: 5v or 3v voltage input voltage,input is selectable. Because TFT can only work under 3.3 V voltage, so when the input voltage VIN is 5V, need through the 3.3 V voltage regulator IC step down to 3.3V , when the input voltage of 3.3 V, you need to use the zero resistance make J2 short , is equivalent to not through the voltage regulator IC for module and power supply directly.

sainsmart tft lcd tutorial made in china

LCD-specified initialization code is provided, so that you can save time to optimize power control register and gamma curves for best display performance. We have test the provided code, it gives the best display performanace

sainsmart tft lcd tutorial made in china

Arduino mega + 3.2" tft case. there are 2 different case bottoms, 1 without a hole and 1 with. both cases have a cutout for powering the Mega from a USB.

I designed this to dress up a project that used the SainSmart LCD Keypad Shield with and Arduino. The bezel itself prints pretty easily with very little support structure needed. The buttons are designed to be self-captivating (they just push in and...

I didn"t have a 3.5" TFT screen, but I did have the 3.2" ones (at the time the 3.5" were on backorder and I got impatient). This fits my 3.2" TFT perfectly. ... My unit comes from 4D Systems as well.

This top surface has 4 additional holes (for screwing to the bezel) and a square cut out of it to fit the LCD circuit board (see attached photo above) The bezel has 4 screw holes that line up with laser cut holes in the laser cut back plate. the...

Support piece for SainSmart kit: http://www.sainsmart.com/sainsmart-mega2560-board-3-5-tft-lcd-module-display-shield-kit-for-atmel-atmega-avr-16au-atmega8u2.html When both the shields are stacked, they are kind of flappy. This part fits on one end...

accurate CAD model of UPC "6013801500024" from the SainSmart Raspberry Pi 3 Model B Ultimate Kit with 5 inch LCD (Red&White Case)https://smile.amazon.com/gp/product/B01FHEBIE0/

A (very) compatible 800x480 LCD is available, but it"s 5 inch big and so the original bezel won"t fit. I also didn"t like the idea of sticking LCD to PCB by a piece of double sided tape. Here"s my original post about hacking it in:(pocket)CHIP with...

I bought a 4.3" TFT LCD Color Monitor off eBay for a reverse camera I installed in my car and had nothing to mount it to my car with. Monitor dimensions were 120mm(L) x 75mm(W) x 15mm(H) and this seemed to fit quite snugly. I have only created a...

This is a sipmple box/case for Arduino Uno and 2.4"" TFT Lcd Touch Screen. There are 2 kind of cases: closed or with open grooves for refrigeration. Originally made for a mini - meteo station, it can be customizable with FreeCad file. ...It was made...

A small mountable holder for a fasttech LCD module. Mounting pins are a little tight but can be snapped off if not needed. Mount holes are designed for assorted leg or spacer designs. Holes are 5mm dia, 34mm apart and hole centre 5.5mm from edge if...

I just redesigned it so it can house cheap chinese 2.4" TFT touchscreen, instead of hard to find and expensive 2.8". No support is needed for any of parts.

This is an update to the FreeTouchDeck case by Dustin Watts that holds a 3.2" TFT display since I bought a different size than Dustin used. I modified the Top_for_TFT_with_Headers.stl file. I"ve also uploaded the Fusion 360 file....

Step 1: Remove dial knob by grabbing the whole knob and pulling towards yourself Step 2: Remove 2ea 3mm front mount screws Step 3: Remove 4ea 2mm from the backside of the LCD screen that mount the circuit board to the frame bracket Step 4: Snap your...

Step 1: Remove dial knob by grabbing the whole knob and pulling towards yourself Step 2: Remove 2ea 3mm front mount screws Step 3: Remove 4ea 2mm from the backside of the LCD screen that mount the circuit board to the frame bracket Step 4: Snap your...

LCD screen bezel for Oneplus 2. If not only your screen is destroyed, but also the black plastic frame surrounding it (see picture), you can try your luck by printing this bezel and installing it. Replacement screens do not come with this bezel,...

sainsmart tft lcd tutorial made in china

Connecting an LCD to your Raspberry Pi will spice up almost any project, but what if your pins are tied up with connections to other modules? No problem, just connect your LCD with I2C, it only uses two pins (well, four if you count the ground and power).

In this tutorial, I’ll show you everything you need to set up an LCD using I2C, but if you want to learn more about I2C and the details of how it works, check out our article Basics of the I2C Communication Protocol.

BONUS: I made a quick start guide for this tutorial that you can download and go back to later if you can’t set this up right now. It covers all of the steps, diagrams, and code you need to get started.

There are a couple ways to use I2C to connect an LCD to the Raspberry Pi. The simplest is to get an LCD with an I2C backpack. But the hardcore DIY way is to use a standard HD44780 LCD and connect it to the Pi via a chip called the PCF8574.

The PCF8574 converts the I2C signal sent from the Pi into a parallel signal that can be used by the LCD. Most I2C LCDs use the PCF8574 anyway. I’ll explain how to connect it both ways in a minute.

I’ll also show you how to program the LCD using Python, and provide examples for how to print and position the text, clear the screen, scroll text, print data from a sensor, print the date and time, and print the IP address of your Pi.

Connecting an LCD with an I2C backpack is pretty self-explanatory. Connect the SDA pin on the Pi to the SDA pin on the LCD, and the SCL pin on the Pi to the SCL pin on the LCD. The ground and Vcc pins will also need to be connected. Most LCDs can operate with 3.3V, but they’re meant to be run on 5V, so connect it to the 5V pin of the Pi if possible.

If you have an LCD without I2C and have a PCF8574 chip lying around, you can use it to connect your LCD with a little extra wiring. The PCF8574 is an 8 bit I/O expander which converts a parallel signal into I2C and vice-versa. The Raspberry Pi sends data to the PCF8574 via I2C. The PCF8574 then converts the I2C signal into a 4 bit parallel signal, which is relayed to the LCD.

Now we need to install a program called I2C-tools, which will tell us the I2C address of the LCD when it’s connected to the Pi. So at the command prompt, enter sudo apt-get install i2c-tools.

Now reboot the Pi and log in again. With your LCD connected, enter i2cdetect -y 1 at the command prompt. This will show you a table of addresses for each I2C device connected to your Pi:

We’ll be using Python to program the LCD, so if this is your first time writing/running a Python program, you may want to check out How to Write and Run a Python Program on the Raspberry Pi before proceeding.

The function mylcd.lcd_display_string() prints text to the screen and also lets you chose where to position it. The function is used as mylcd.lcd_display_string("TEXT TO PRINT", ROW, COLUMN). For example, the following code prints “Hello World!” to row 2, column 3:

On a 16×2 LCD, the rows are numbered 1 – 2, while the columns are numbered 0 – 15. So to print “Hello World!” at the first column of the top row, you would use mylcd.lcd_display_string("Hello World!", 1, 0).

You can create any pattern you want and print it to the display as a custom character. Each character is an array of 5 x 8 pixels. Up to 8 custom characters can be defined and stored in the LCD’s memory. This custom character generator will help you create the bit array needed to define the characters in the LCD memory.

The code below will display data from a DHT11 temperature and humidity sensor. Follow this tutorial for instructions on how to set up the DHT11 on the Raspberry Pi. The DHT11 signal pin is connected to BCM pin 4 (physical pin 7 of the RPi).

By inserting the variable from your sensor into the mylcd.lcd_display_string() function (line 22 in the code above) you can print the sensor data just like any other text string.

These programs are just basic examples of ways you can control text on your LCD. Try changing things around and combining the code to get some interesting effects. For example, you can make some fun animations by scrolling with custom characters. Don’t have enough screen space to output all of your sensor data? Just print and clear each reading for a couple seconds in a loop.

sainsmart tft lcd tutorial made in china

Reason: The hooks on the backight of ER-TFT032-3.1 is always complained by most customers for inconvenient assembly. So we cancel the hooks in the new version of ER-TFT032-3.2.That"s the only difference for these two versions.

ER-TFT032-3.2 is 240x320 dots 3.2" color tft lcd module display with ILI9341 controller and optional 4-wire resistive touch panel and 3.2 inch capactive touch panel with controller FT6236,superior display quality,super wide viewing angle and easily controlled by MCU such as 8051, PIC, AVR, ARDUINO ARM and Raspberry PI.It can be used in any embedded systems,industrial device,security and hand-held equipment which requires display in high quality and colorful image.It supports 8080 8/16-bit parallel,3/4-wire serial interface. FPC with zif connector is easily to assemble or remove.Lanscape mode is also available.

Of course, we wouldn"t just leave you with a datasheet and a "good luck!".Here is the link for 3.2"TFT Touch Shield with Libraries, Examples.Schematic Diagram for Arduino Due,Mega 2560 and Uno . For 8051 microcontroller user,we prepared the detailed tutorial such as interfacing, demo code and development kit at the bottom of this page.

sainsmart tft lcd tutorial made in china

The second command sets the console (tty1) to map its output to the framebuffer (buffer 1). That"s why the parameters are 1 1. You can map any tty to the LCD.