树莓派 2.8寸 ili9341 tft lcd spi 屏幕显示

article/2025/8/15 17:14:02

结果展示

本人B站相关视频链接:链接地址
https://www.bilibili.com/video/BV1L5411u7n1

  1. 显示命令行的效果喜人
    在这里插入图片描述
  2. 我把树莓派0w通过胶枪打胶贴到显示屏的背部,感觉还不错,稍后我把线焊一下,管脚减短些更清爽,现在整体是这样的:
    在这里插入图片描述
  3. 淘宝店家的显示屏截图是这样的,我专门买的ili9341,因为网上的资料全
    在这里插入图片描述

2.8寸屏幕仅展示命令行玩法

在这里插入图片描述

配置说明

  1. 我使用的树莓派系统是:2017-11-29-raspbian-stretch.img
  2. 接线,我参考的LOVE DOTNET的《树莓派研究笔记(9)-- 树莓派SPI连接TFT屏幕》
  3. 打开SPI,参考DevinTT的《树莓派使用上spi tft!(fbtft的使用)》,我这里不专门写了。
    1. 关键命令:sudo raspi-config
    2. 选项路径:Interfacing Options - > SPI - > Yes
  4. 参考第1步提到的参考材料,生成fb1(即是framebuffer1,这个tft屏幕就可以当做是fb1了),执行以下命令,lcd的灯会亮,如果是白天的话亮的不明显。所以最好在暗处观察
    sudo modprobe fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18 rotate=90 fps=50 speed=65000000
    
  5. 参考athuhu0321的《树莓派开发系列教程10——树莓派spi液晶屏支持(fbtft)》,Console(可以理解为命令行)显示在fb1上,我觉得展示命令行更有趣一些
    1. 如果想要lcd展示命令行,需要先将树莓派的启动界面,改为启动进入命令行才行,这步非常重要。(我试过,树莓派启动进入桌面,无法使用指令让树莓派在lcd上展示命令行,而是,使用指令了之后,lcd一点反应都没有),改动方式见下:
    sudo raspi-config
    选择路径为:Boot Options -> Desktop/CLI ->Console AutoLogin (表示自动进入pi用户)
    选择完成后,使用指令重启: sudo reboot
    
    1. 大显示器(非我们的2.8寸lcd小屏幕)接入树莓派的hdmi口,重启完成后,发现树莓派直接进入了命令行,而不是桌面,继续使用下列指令
    先使用命令生成fb1:sudo modprobe fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18 rotate=90 fps=50 speed=65000000
    再使用命令,将命令行界面映射到fb1上:con2fbmap 1 1
    
    1. 搞定!

设置启动就在2.8寸lcd屏幕上进入命令行

思路:

  1. 用户登入linux系统,linux系统会首先加载用户家目录下的.bashrc文件
  2. 树莓派每次默认自动登入pi用户。(可以使用sudo raspi-config指令,选项路径Boot Options->DeskTop / CLI 下选择pi的登入选项)
  3. 所以,只要改动pi用户家目录下的~/.bashrc文件,在文件末尾追加启动需要执行的命令即可。
  4. 追加的命令如下
sudo modprobe fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18 rotate=90 fps=50 speed=65000000
con2fbmap 1 1
  1. 实际验证,并不行,我猜:可能是sudo modprobe ***** 这句指令执行需要部分时间,到con2fbmap指令执行时,fb1还没创建出来
  2. 所以应该这样配置,在/etc/rc.locatl文件中追加sudo modprobe *****配置,在~/.bashrc文件中追加con2fbmap 1 1搞定
    1. /etc/rc.locatl是linux系统启动加载文件,加载主体是root用户,所以追加的执行无需带sudo,但是vi这个文件需要带sudo,指令如下
    sudo vi /etc/rc.local
    在文件末尾,exit 0内容之前,追加以下内容:
    modprobe fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18 rotate=90 fps=50 speed=65000000
    
    1. 在~/.bashrc文件末尾,追加以下内容:
    vi ~/.bashrc
    追加以下内容:
    con2fbmap 1 1
    
    1. 重启,这之后,即使不带hdmi显示器,也可以在这个小lcd上展示命令行了

2.8寸屏幕仅展示linux桌面玩法

在这里插入图片描述

经过以上内容的洗礼,这个就简单多了

  1. 非常重要,修改启动加载桌面(而不是启动加载命令行),这样应该是使树莓派在启动的时候,就加载桌面组件,才能在hdmi或者2.8寸lcd这样的桌面UI输出设备上进行显示,使用以下指令:
    sudo raspi-config
    选择路径为:Boot Options -> Desktop/CLI ->Desktop AutoLogin (表示自动进入pi用户)
    选择完成后,使用过指令重启: sudo reboot
    
  2. /etc/rc.locatl文件先加入fb1初始化的内容:
    sudo vi /etc/rc.local
    在文件末尾,exit 0内容之前,追加以下内容:
    modprobe fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18 rotate=90 fps=50 speed=65000000
    
  3. 新增文件,特别注意,加入以下内容之后,hdmi接口在重启之后,就不输出了,而是通过fb1(2.8寸)屏幕进行输出:
    sudo vi /usr/share/X11/xorg.conf.d/99-fbdev.conf
    写入以下内容:
    Section "Device"  Identifier "myfb"Driver "fbdev"Option "fbdev" "/dev/fb1"
    EndSection
    
  4. 在命令行,使用以下命令,就可以在2.8寸lcd屏幕上显示桌面。
    startx
    
  5. 或者,在新增好/usr/share/X11/xorg.conf.d/99-fbdev.conf文件之后,直接在2.8寸lcd的命令行中(看上一章节:2.8寸屏幕仅展示命令行玩法),直接使用startx命令,就可以在2.8寸lcd中进入桌面,方便快捷。
  6. 按以上方式配置了之后,启动就直接不在hdmi接口上输出了(即使接了hdmi屏幕也不输出),而是在2.8寸lcd上输出。如果要回复输出到hdmi上,只能将新增的这个配置文件/usr/share/X11/xorg.conf.d/99-fbdev.conf删除,并重启树莓派(或者使用startx指令),就可以在hdmi上输出了。反正要么2.8寸lcd输出,要么hdmi输出。不可兼得。(如果既想在hdmi上输出,又想在2.8寸lcd上输出,参考athuhu0321的《树莓派开发系列教程10——树莓派spi液晶屏支持(fbtft)》中的fbcp部分)

http://chatgpt.dhexx.cn/article/DtvHXxg2.shtml

相关文章

树莓派调节显示屏分辨率

https://zhuanlan.zhihu.com/p/98080324 普通用户下,打开命令行,启动树莓派自带的配置工具: $ sudo raspi-config 然后会出现非常硬核的配置面板。如下图所示,用键盘方向键选择“Advanced Options -> Resolution”&#xff0…

树莓派4上手(无显示屏)

因为要做毕设,就买了一块树莓派做毕设,但是因为只有一个板子,没有其他配件(无显示屏,网线),第一次使用有很多地方不熟悉,就走了很多弯路,于是决定在这里记录一下我使用树莓派4的全过程,写博客是有一部分有些模糊了,写的不是太清晰,如果出现问题了麻烦私信 目录 准备工作格式化S…

树莓派入门(笔记本当显示屏)

本教程特别适用新手,我是总结完网上各种教程写出来的,希望能给新手一个帮助。 需要树莓派一个,路由器一个,网线一条(用于连接路由器),笔记本一台,想用无线可以买多一个无线网卡&…

(七)树莓派系列教程:树莓派4B连接LCD1602液晶显示屏并且显示内容

树莓派连接LCD1602液晶显示屏,并显示内容 一、效果图 所需要硬件: LCD1602液晶显示屏IIC转接LCD1602模块(转成IIC通讯) 二、设置树莓派,启动IIC通讯功能 因为树莓派刚烧录完系统后IIC功能是没有启动的&#xff0c…

用树莓派连电脑显示屏

看了网上很多攻略总结一下 1.关于怎么安装树莓派os 准备一个读卡器 和一个16g的闪存卡 在下面网站下载 https://www.raspberrypi.com/software/ 打开以后选第一个 选择安装的u盘 就安装成功了 2.怎么在电脑显示器显示 一.按照网上的攻略要打开ssh功能,那么建一…

树莓派笔记12:通过SPI操作OLED显示屏

树莓派自带SPI和I2C接口,因此可以方便地控制带SPI的控制芯片的OLED显示屏。要想成功实现树莓派与oled的通信,最好是买一个以SSD1306为主控芯片的oled,因为关于这个芯片的驱动库是最容易搜到的,当然如果有能力自己写驱动程序的话就…

将树莓派连接到显示器

本文参考树莓派实验室的文章: 自定义树莓派的显示分辨率树莓派配置文档config.txt说明 树莓派是最经典的卡片式电脑,拥有一台pc机的所有功能。比较典型的使用方法是通过vnc远程登陆进行操作。不过,raspbian虽然集成了vncserver,默…

点击div外区域隐藏div操作(嵌套iframe页面)

一、正常页面 $(document).click(function(){$(dom).hide();//要隐藏的div});或者去除某一块$(document).on(click, function (e) {if ($(e.target).closest(#去除id).length 0) {$("#隐藏id").hide();}});这个是最基础的原型,如果是有弹窗和遮罩层的&a…

CSS实线鼠标移入显示隐藏div

用CSS中的 hover 事件&#xff0c;实线鼠标移入显示隐藏元素。 效果如下&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title>移入显示</title><style>.hov{width: 300px;backg…

React 点击按钮显示div与隐藏div

<!DOCTYPE html> <html><head><meta charset"UTF-8" /><title>React 点击按钮显示div与隐藏div</title><script src"https://unpkg.com/react16/umd/react.development.js"></script><script src"…

html点击隐藏divjq,jquery点击a标签怎么显示和隐藏div?详解

你知道jquery点击a标签要如何才能够显示以及隐藏div吗?下面的文章要给大家讲解的就是这个方面的内容哦&#xff0c;一起来看看吧。 1、新建一个html文件&#xff0c;命名test.html&#xff0c;用来讲解jquery点击a标签怎么显示和隐藏div。 2、在test.html文件当中&#xff0c;…

JQuery动态显示和隐藏div

1. 如果在载入是隐藏&#xff1a; <head> <script language"javascript"> function HideWeekMonth() {$("#tt1").hide();$("#tt2").hide(); } </script> </head><body onLoad"HideWeekMonth()"> </b…

Selenium之如何定位隐藏div弹窗

一、判断是否为隐藏属性 display的值为none则为隐藏&#xff08;详见下图红色标记&#xff09; 二、将隐藏属性修改为非隐藏属性 知识储备&#xff1a; 1.document对象&#xff1a; &#xff08;1&#xff09;当浏览器载入HTML文档时&#xff0c;便会成为document对象 &am…

html css 隐藏div显示,css如何隐藏div?

在我们平时布局网站的时候&#xff0c;想要把div进行隐藏&#xff0c;但是很多人不知道css控制div显示隐藏&#xff1f;下面我们来讲解一下css如何让div隐藏。 一&#xff1a;使用display:none属性来隐藏div 我们可以使用display:none属性来隐藏所有的信息&#xff0c;包括文本…

CSP 202206-1 归一化处理

文章目录 C总结 本题链接&#xff1a;CSP 202206-1 归一化处理 本博客给出本题截图&#xff1a; C #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath>using namespace std;const int N 1010;…

用通俗易懂的方式讲解:数据预处理归一化(附Python代码)

文章目录 技术答疑一、为何要进行数据预处理&#xff1f;二、数据标准化1.归一化的目标2.归一化的优点3.哪些算法并不需要归一化 三、数据归一化方法1.min-max标准化2.Z-score标准化3.Sigmoid函数&#xff1a; 总结 技术答疑 本文来自技术群小伙伴的分享&#xff0c;想加入按照…

数据预处理中的归一化与反归一化

前言 在使用深度学习框架构建训练数据时&#xff0c;通常需要数据归一化&#xff08;Normalize&#xff09;&#xff0c;以利于网络的训练。而在训练过程可视化中&#xff0c;通常需要反归一化。以PyTorch框架而言&#xff0c;提供了torchvision.transforms.Normalize(mean, s…

归一化的作用

首先&#xff0c;归一化是把数据转化为&#xff08;0&#xff0c;1&#xff09;或者是&#xff08;-1&#xff0c;1&#xff09;之间。&#xff08;-1&#xff0c;1&#xff09;&#xff1a; (x-xmax)/(xmax-xmin) 标准化是把数据转化到均值为0&#xff0c;方差为1. 中心化&am…

数据的归一化处理

数据归一化问题是数据挖掘中特征向量表达时的重要问题&#xff0c;当不同的特征成列在一起的时候&#xff0c;由于特征本身表达方式的原因而导致在绝对数值上的小数据被大数据“吃掉”的情况&#xff0c;这个时候我们需要做的就是对抽取出来的features vector进行归一化处理&am…

机器学习之归一化处理

1.使用随机森林或PCA等算法进行数据的降维处理 减少无关的维度测算 2.统计错误率&#xff0c;精确率&#xff0c;召回率 修正维度测算的准确率 3.归一化处理 保留所有的特征&#xff0c;但是减少参数的大小&#xff08;或者是说&#xff1a;减少参数的重要性&#xff09;为了…