Difference between revisions of "Template:RPi LCD User Manual"

From Waveshare Wiki
Jump to: navigation, search
Line 22: Line 22:
 
{{#switch: {{FULLPAGENAME}}
 
{{#switch: {{FULLPAGENAME}}
 
| 2.8inch RPi LCD (A) =
 
| 2.8inch RPi LCD (A) =
 +
; older version
 
<pre>
 
<pre>
 
chmod +x LCD28-show
 
chmod +x LCD28-show
 
  ./LCD28-show
 
  ./LCD28-show
 +
</pre>
 +
; Rev2.1 version
 +
<pre>
 +
chmod +x LCD28-show
 +
sudo ./LCD28-show-V2
 
</pre>
 
</pre>
 
| 3.2inch RPi LCD (B) =
 
| 3.2inch RPi LCD (B) =
Line 94: Line 100:
 
{{#switch: {{FULLPAGENAME}}
 
{{#switch: {{FULLPAGENAME}}
 
| 2.8inch RPi LCD (A) =
 
| 2.8inch RPi LCD (A) =
 +
; Old version
 
<pre>
 
<pre>
 
  ./LCD28-show lite
 
  ./LCD28-show lite
 +
</pre>
 +
; Rev2.1
 +
<pre>
 +
sudo ./LCD28-show-V2 lite
 
</pre>
 
</pre>
 
| 3.2inch RPi LCD (B) =
 
| 3.2inch RPi LCD (B) =
Line 151: Line 162:
 
'''Method 2. Using Ready-to-use image'''
 
'''Method 2. Using Ready-to-use image'''
  
The image file with pre-installed driver is located in the IMAGE directory of the CD, or you can download it from [[#Image]]. Extract the .7z file and you will get an .img file. Write the image to your micro SD card (How to write an image to a micro SD card for your Pi? See [[RPi-Image-Installation-Guides|RPi Image Installation Guides]] for more details). Then insert the card to your Pi, power up and enjoy it.
+
The image file with the pre-installed driver is located in the IMAGE directory of the CD, or you can download it from [[#Image]]. Extract the .7z file and you will get an .img file. Write the image to your micro SD card (How to write an image to a micro SD card for your Pi? See [[RPi-Image-Installation-Guides|RPi Image Installation Guides]] for more details). Then insert the card to your Pi, power up, and enjoy it.
  
 
== '''Toggle between LCD and HDMI display''' ==
 
== '''Toggle between LCD and HDMI display''' ==
 
Once this LCD is enabled, meanwhile the default settings for HDMI are changed. If you want to use another HDMI monitor, please run the following command:
 
Once this LCD is enabled, meanwhile the default settings for HDMI are changed. If you want to use another HDMI monitor, please run the following command:
 
  cd LCD-show/
 
  cd LCD-show/
   ./LCD-hdmi
+
   ./LCD-HDMI
 
This toggles the mode to LCD display:
 
This toggles the mode to LCD display:
 
{{#switch: {{FULLPAGENAME}}
 
{{#switch: {{FULLPAGENAME}}
 
| 2.8inch RPi LCD (A) =
 
| 2.8inch RPi LCD (A) =
 +
; Old version
 
<pre>
 
<pre>
 
  ./LCD28-show
 
  ./LCD28-show
 +
</pre>
 +
; Rev2.1
 +
<pre>
 +
./LCD28-show-V2
 
</pre>
 
</pre>
 
| 3.2inch RPi LCD (B) =
 
| 3.2inch RPi LCD (B) =
Line 217: Line 233:
  
 
== '''Screen orientation settings''' ==
 
== '''Screen orientation settings''' ==
After touch driver installed, the screen orientation can be set by these commands:
+
After touch driver is installed, the screen orientation can be set by these commands:
 
{{#switch: {{FULLPAGENAME}}
 
{{#switch: {{FULLPAGENAME}}
 
| 2.8inch RPi LCD (A) =
 
| 2.8inch RPi LCD (A) =
 +
; Old version
 
* 0 degree rotation
 
* 0 degree rotation
 
  cd LCD-show/
 
  cd LCD-show/
Line 232: Line 249:
 
  cd LCD-show/
 
  cd LCD-show/
 
  ./LCD28-show 270
 
  ./LCD28-show 270
 +
; Rev2.1
 +
* 0 degree rotation
 +
cd LCD-show/
 +
./LCD28-show-V2 0
 +
* 90 degree rotation
 +
cd LCD-show/
 +
./LCD28-show-V2 90
 +
* 180 degree rotation
 +
cd LCD-show/
 +
./LCD28-show-V2 180
 +
* 270 degree rotation
 +
cd LCD-show/
 +
./LCD28-show-V2 270
 
| 3.2inch RPi LCD (B) =
 
| 3.2inch RPi LCD (B) =
 
* 0 degree rotation
 
* 0 degree rotation
Line 376: Line 406:
 
RPi LCD can also work with an external camera to take photos. In this operation, a Raspberry Pi camera is required, which should be purchased separately.  
 
RPi LCD can also work with an external camera to take photos. In this operation, a Raspberry Pi camera is required, which should be purchased separately.  
  
If you use the image provided from us, after camera attached, you can open the camera by command lines.  
+
If you use the image provided by us, after the camera is attached, you can open the camera by command lines.  
 
  cd /home/pi/camera/
 
  cd /home/pi/camera/
 
  Camera
 
  Camera
  
Then, waiting several seconds, the camera application will be started automatically. Now, you can capture pictures by double clicking the screen.
+
Then, waiting several seconds, the camera application will be started automatically. Now, you can capture pictures by double-clicking the screen.
  
If you use the image with clean installation, you can setup the camera driver with:
+
If you use the image with a clean installation, you can set up the camera driver with:
 
-->
 
-->
 
1. Select "Enable Camera" -> "<YES>"
 
1. Select "Enable Camera" -> "<YES>"
Line 426: Line 456:
 
  sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen ts_calibrate
 
  sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen ts_calibrate
 
Camera will be enabled by the steps above.
 
Camera will be enabled by the steps above.
 +
==PWM adjust brightness= (for 2.8inch RPi LCD (A) only)==
 +
*Update wiringPi libraries if you use Pi 4
 +
<pre>
 +
wget https://project-downloads.drogon.net/wiringpi-latest.deb
 +
sudo dpkg -i wiringpi-latest.deb
 +
gpio -v
 +
</pre>
 +
*Adjust the brightness with the following commands:
 +
<pre>
 +
gpio -g mode 18 pwm      #Set the pin as PWM
 +
gpio pwmc 100 
 +
gpio -g pwm 18 0        #Set the brightness to dimmest
 +
gpio -g pwm 18 1023      #Set the brightness to the brightest
 +
gpio -g mode 18 out      #Clean the pin
 +
</pre>

Revision as of 04:06, 18 October 2021

Getting Started

Hardware Connection

  • There are 40 pins on Raspberry Pi but only 26 pins on the LCD, so you should pay attention to connecting the pins to your Pi accordingly.

Install the touch driver

The RPi LCD can be driven in two ways: Method 1. install driver to your Raspbian OS. Method 2. use the Ready-to-use image file of which LCD driver was pre-installed.

Method 1. Driver installation

Please download the latest version of the image on the Raspberry Pi official website. (Raspbian/Ubuntu Mate/Kali or Retropie)

1) Download the compressed image file to the PC, and unzip it to get the .img file.

2) Connect the TF card to the PC, open the Win32DiskImager software, select the system image downloaded in step 1 and click‘Write’ to write the system image. ( How to write an image to a micro SD card for your Pi? See RPi Image Installation Guides for more details)

3) Connect the TF card to the Raspberry Pi, start the Raspberry Pi. The LCD will display after booting up, and then log in to the Raspberry Pi terminal.(You may need to connect a keyboard and HDMI LCD to Pi for driver installing, or log in remotely with SSH)

4) Then open the terminal of Raspberry Pi to install the touch driver.

git clone https://github.com/waveshare/LCD-show.git
cd LCD-show/

Note: The Raspberry Pi must be connected to the network, or else the touch driver won't be successfully installed.

  • For 2.8inch RPi LCD (A):
./LCD28-show 
  • For 3.2inch RPi LCD (B):
./LCD32-show 
  • For 3.2inch RPi LCD (C):
./LCD32C-show
  • For 3.5inch RPi LCD (A):
./LCD35-show 
  • For 3.5inch RPi LCD (B):
./LCD35B-show 
  • For 3.5inch RPi LCD (C):
./LCD35C-show 
  • For 4inch RPi LCD (A):
./LCD4-show 
  • For 4inch RPi LCD (C):
./LCD4C-show

The touch function will work after restart. For ease of use, you can set the screen orientation, see: #Screen orientation settings.

Notes:

  • 1. Executing apt-get upgrade will cause the LCD to fail to work properly. In this case, you need to edit the config.txt file in the SD card and delete this sentence: dtoverlay=ads7846.
  • 2. Using with Raspbian-lite, the command of the touch driver installation should be:
  • For 2.8inch RPi LCD (A):
./LCD28-show lite
  • For 3.2inch RPi LCD (B):
./LCD32-show lite
  • For 3.2inch RPi LCD (C):
./LCD32C-show lite
  • For 3.5inch RPi LCD (A):
./LCD35-show lite
  • For 3.5inch RPi LCD (B):
./LCD35B-show lite
  • For 3.5inch RPi LCD (C):
./LCD35C-show lite
  • For 4inch RPi LCD (A):
./LCD4-show lite
  • For 4inch RPi LCD (C):
./LCD4C-show lite

Method 2. Using Ready-to-use image

The image file with the pre-installed driver is located in the IMAGE directory of the CD, or you can download it from #Image. Extract the .7z file and you will get an .img file. Write the image to your micro SD card (How to write an image to a micro SD card for your Pi? See RPi Image Installation Guides for more details). Then insert the card to your Pi, power up, and enjoy it.

Toggle between LCD and HDMI display

Once this LCD is enabled, meanwhile the default settings for HDMI are changed. If you want to use another HDMI monitor, please run the following command:

cd LCD-show/
 ./LCD-HDMI

This toggles the mode to LCD display:

  • For 2.8inch RPi LCD (A):
./LCD28-show 
  • For 3.2inch RPi LCD (B):
./LCD32-show 
  • For 3.2inch RPi LCD (C):
./LCD32C-show
  • For 3.5inch RPi LCD (A):
./LCD35-show 
  • For 3.5inch RPi LCD (B):
./LCD35B-show 
  • For 3.5inch RPi LCD (C):
./LCD35C-show 
  • For 4inch RPi LCD (A):
./LCD4-show 
  • For 4inch RPi LCD (C):
./LCD4C-show

Screen orientation settings

After touch driver is installed, the screen orientation can be set by these commands:

  • For 2.8inch RPi LCD (A):
./LCD28-show degree
  • For 3.2inch RPi LCD (B):
./LCD32-show degree
  • For 3.5inch RPi LCD (A):
./LCD35-show degree
  • For 3.5inch RPi LCD (B):
./LCD35B-show degree
  • For 3.5inch RPi LCD (C):
./LCD35C-show degree
  • For 4inch RPi LCD (A):
./LCD4-show degree
  • For 4inch RPi LCD (C):
./LCD4C-show degree

The degree can be specified as 0, 90, 180, 270.

Touch screen calibration

This LCD can be calibrated through the xinput-calibrator program. Note: The Raspberry Pi must be connected to the network, or else the program won't be successfully installed.

  • Run the following command to install:
sudo apt-get install xinput-calibrator 
  • Click the "Menu" button on the taskbar, choose "Preference" -> "Calibrate Touchscreen".
  • Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.
  • You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).
sudo mkdir /etc/X11/xorg.conf.d
sudo nano /etc/X11/xorg.conf.d/99-calibration.conf
  • Save the touch parameters (may differ depending on LCD) to 99-calibration.conf, as shown in the picture:

5inch HDMI LCD FAQ1.jpg

  • Press the keys Ctrl+X, and select option Y to save the modification.
  • The modification will be valid after rebooting the system. Enter the following command for system reboot:
sudo reboot

Notices: In case of inaccurate touch, please perform screen calibration again and reboot the system.

Control Backlight Brightness with GPIO

Use a 0R resistor or solder to connect this pad.
Virtual Keyboard Installation01.png
Execute the following command on the Raspberry Pi terminal to control the backlight brightness:

gpio -g pwm 18 1024
gpio -g mode 18 pwm (the occupied pins are PWM pins)
gpio pwmc 1000
gpio -g pwm 18 X (control brightness, X value is between 0~1024)


Install Virtual Keyboard

1. Install matchbox-keyboard

sudo apt-get install update
sudo apt-get install matchbox-keyboard
sudo nano /usr/bin/toggle-matchbox-keyboard.sh

2. Copy the statements below to toggle-matchbox-keyboard.sh and save.

#!/bin/bash
#This script toggle the virtual keyboard
PID=`pidof matchbox-keyboard`
if [ ! -e $PID ]; then
killall matchbox-keyboard
else
matchbox-keyboard -s 50 extended&
fi

3. Execute the commands:

sudo chmod +x /usr/bin/toggle-matchbox-keyboard.sh
sudo mkdir /usr/local/share/applications
sudo nano /usr/local/share/applications/toggle-matchbox-keyboard.desktop

4. Copy the statements to toggle-matchbox-keyboard.desktop and save.

[Desktop Entry]
Name=Toggle Matchbox Keyboard
Comment=Toggle Matchbox Keyboard`
Exec=toggle-matchbox-keyboard.sh
Type=Application
Icon=matchbox-keyboard.png
Categories=Panel;Utility;MB
X-MB-INPUT-MECHANSIM=True

5. Execute commands as below. Note that you need to use "Pi " user permission instead of root to execute this command

sudo nano /etc/xdg/lxpanel/LXDE-pi/panels/panel

6. Find the statement which is similar to below: (It maybe different in different version)

Plugin {
type = launchbar
Config {
Button {
id=lxde-screenlock.desktop
}
Button {
id=lxde-logout.desktop
}
}

7. Append these statements to add an button option:

Button {
id=/usr/local/share/applications/toggle-matchbox-keyboard.desktop
}

RPILCD-INSTALL-KEYBOARD01.png

8. Reboot your Raspberry Pi. If the virtual keyboard is installed correctly, you can find that there is a keyboard icon on the left of the bar

sudo reboot


How to work with a camera

1. Select "Enable Camera" -> "<YES>"

sudo raspi-config

2. Copy the Camera driver to the OS of Pi then:

unzip camera.zip
cd camera
sudo chmod 777 Camera
sudo cp update\ camera/95-stmpe.rules /etc/udev/rules.d/

3. Create a file called wheezy.list.

sudo nano /etc/apt/sources.list.d/wheezy.list

Append:

deb http://archive.raspbian.org/raspbian wheezy main

Exit with save.

4. Create a file called 10defaultRelease.

sudo nano /etc/apt/apt.conf.d/10defaultRelease

Append:

APT::Default-release \"stable";

Exit with save.

5. Create a file called libsdl.

sudo nano /etc/apt/preferences.d/libsdl

Append:

Package: libsdl1.2debian
Pin: release n=jessie
Pin-Priority: -10
Package: libsdl1.2debian
Pin: release n=wheezy
Pin-Priority: 900

Exit with save.

6. Last, execute the commands:

sudo apt-get update
sudo apt-get -y --force-yes install libsdl1.2debian/wheezy
sudo apt-get install evtest tslib libts-bin xinput
sudo apt-get install python-pip 
sudo apt-get install python2.7-dev
sudo pip install picamera==1.10 
sudo reboot
sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen ts_calibrate

Camera will be enabled by the steps above.

PWM adjust brightness= (for 2.8inch RPi LCD (A) only)

  • Update wiringPi libraries if you use Pi 4
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
  • Adjust the brightness with the following commands:
gpio -g mode 18 pwm      #Set the pin as PWM
gpio pwmc 100   
gpio -g pwm 18 0         #Set the brightness to dimmest
gpio -g pwm 18 1023      #Set the brightness to the brightest
gpio -g mode 18 out      #Clean the pin