Difference between revisions of "Template:1.44inch LCD HAT User Manual"

From Waveshare Wiki
Jump to: navigation, search
Line 59: Line 59:
 
</pre>
 
</pre>
  
==FBCP Transplant==
+
==FBCP Driver==
 
The Framebuffer uses a memory area to store the display content, and changes the data in the memory to change the display content.
 
The Framebuffer uses a memory area to store the display content, and changes the data in the memory to change the display content.
  

Revision as of 10:16, 13 August 2021

Enable SPI interface

  • Open terminal, use command to enter the configuration page
sudo raspi-config
Choose Interfacing Options -> SPI -> Yes  to enable SPI interface

RPI open spi.png
Reboot Raspberry Pi:

sudo reboot

Please make sure that SPI interface was not used by other devices, you can check in the /boot/config.txt

Install Libraries

  • Install BCM2835 libraries
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.68.tar.gz
tar zxvf bcm2835-1.68.tar.gz 
cd bcm2835-1.68/
sudo ./configure && sudo make && sudo make check && sudo make install

For more details, please refer to http://www.airspayce.com/mikem/bcm2835/

  • Install Python libraries
sudo apt-get update
sudo apt-get install python-pip 
sudo pip install RPi.GPIO
sudo pip install spidev

Download Examples

Open Raspberry Pi terminal and run the following command

sudo apt-get install p7zip-full -y
wget https://www.waveshare.com/w/upload/f/fa/1.44inch-LCD-HAT-Code.7z
7z x 1.44inch-LCD-HAT-Code.7z
sudo chmod 777 -R 1.44inch-LCD-HAT-Code
cd 1.44inch-LCD-HAT-Code/RaspberryPi/

Run the demo

  • C
cd c
make clean
make
sudo ./main
  • For Raspberry Pi 4B and system version after raspbian_lite-2019-06-20, please set as following for normal input:
sudo nano /boot/config.txt

And then add the following line at the end of the config.txt

gpio=6,19,5,26,13,21,20,16=pu
  • python
cd python
sudo python main.py
sudo python key_demo.py

FBCP Driver

The Framebuffer uses a memory area to store the display content, and changes the data in the memory to change the display content.

There is an open-source project on github: fbcp-ili9341. Compared with other fbcp projects, this project uses partial refresh and DMA to achieve a refresh rate of up to 60fps.

Compile and Run

sudo apt-get install cmake -y
cd ~
wget https://www.waveshare.com/w/upload/f/f9/Waveshare_fbcp.7z
sudo apt-get install p7zip-full
7z x Waveshare_fbcp.7z
cd waveshare_fbcp
mkdir build
cd build
cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH44_LCD_HAT=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 ..
make -j
sudo ./fbcp

Auto-start when Power on

sudo cp ~/Fbcp-ili9341/build/fbcp-ili9341 /usr/local/bin/fbcp
sudo nano /etc/rc.local

And then add fbcp& before exit 0, as the picture below.

1in3 lcd fb5.png

Set the display resolution

Set the user interface display size in the /boot/config.txt file.

sudo nano /boot/config.txt

Then add the following lines at the end of the config.txt.

hdmi_force_hotplug=1
hdmi_cvt=300 300 60 1 0 0 0
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
display_rotate=0

【Note】If you are using Raspberry Pi 4B, you need to comment out the following lines on the [pi4] part. The modification is as below:

[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
#dtoverlay=vc4-fkms-v3d
#max_framebuffers=2

And then reboot the system

sudo reboot

The final display effect is scaled and displayed on the 1.3inch LCD in proportion. The setting of the resolution here should be slightly larger than the LCD resolution, the too high resolution will cause the font display to be blurred.

After rebooting the system, the Raspberry Pi OS user interface will be displayed.

1200px-1.3inch lcd hat fbtftdesktop.png

Analog mouse

There are a joystick and three buttons on the panel of the module, which we can use to control the mouse of the Raspberry Pi

  • Install the library, then download and run the demo
sudo apt-get install python-xlib
sudo pip install PyMouse
wget http://www.waveshare.net/w/upload/d/d3/Mouse.7z
7z x Mouse.7z
sudo python mouse.py

【Note】The mouse.py needs to run under the graphical interface, which will not run under the SSH login. You can skip this step directly, the Pi will run the demo automatically by booting up.

  • If you are using the Raspberry PI 4B and the version of your image is after raspbian_lite-2019-06-20, you need to set as below:
sudo nano /boot/config.txt

And then add the following line at the end of the config.txt.

gpio=6,19,5,26,13,21,20,16=pu

Use the joystick to move up, down, left, and right, you can see that the mouse is moving.

  • Set the auto-start when power on
cd .config/
mkdir autostart
cd autostart/
sudo nano local.desktop

And then add the following lines at the end of the local.desktop

[Desktop Entry]
Type=Application
Exec=python /home/pi/mouse.py

Reboot the system, you can use the buttons to control the mouse.

sudo reboot

Others

If you are interested in getting a game console, you can refer to the following two links:

https://www.sudomod.com/forum/viewtopic.php?f=11&t=5371&start=10

https://pi0cket.com/guides/tiny-software-for-tinypi/#more-99