Ardunio 连接OLED触摸屏(SSD1106驱动 4针 IIC通信)
一、准备工作
1、硬件
UNO R3 :1套
OLED触摸屏:1套
导线诺干
2、软件
arduino
二、接线
| UNO R3 | OLED | |
| 5V | VCC | |
| GND | GND | |
| A5 | SCL | |
| A4 | SDA |
脚位如下图所示:
Uno R3脚位图

触摸屏脚位图

查阅显示屏的驱动规格:通常显示屏驱动芯片有SSD1306,SH1106
我在淘宝买到的这款比较奇怪,是SSD1106的

三、写代码
1、安装驱动
Tools->Manage Libraries
在搜索栏收索U8glib,点击安装。(如果是SSD1306驱动的显示屏,则搜索SSD1306)


2、按照厂家示例代码,修改编写一个显示hello world的小程序,通过Arduino IDE下载到R3中(SSD1306驱动的显示屏,第一行改#include “ACROBOTIC SSD 1306”)
#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);void u8g_prepare(void) {u8g.setFont(u8g_font_6x10); // 使用6x10像素字体u8g.setFontRefHeightExtendedText();u8g.setDefaultForegroundColor();u8g.setFontPosTop();
}void drawHelloWorld(void) {u8g_prepare();u8g.firstPage();do {// 计算居中坐标("helloworld"共10字符,6像素宽/字符)int x = (128 - 10*6)/2; // 水平居中int y = 32; // 垂直居中u8g.drawStr(x, y, "helloworld");} while(u8g.nextPage());
}void setup() {// 显示模式设置if (u8g.getMode() == U8G_MODE_R3G3B2)u8g.setColorIndex(255);else if (u8g.getMode() == U8G_MODE_GRAY2BIT)u8g.setColorIndex(3);else if (u8g.getMode() == U8G_MODE_BW)u8g.setColorIndex(1);u8g_prepare();
}void loop() {drawHelloWorld();// 移除所有动画逻辑,保持静态显示// 延迟可保留但非必须delay(100);
}
注意,下载到R3之前,需要安装 U8glib驱动。否则会出现U8glib缺失的报错
如果安装驱动不匹配,可能会出现下面效果或者显示屏不亮的情况

四、测试
显示屏成功显示 “hello world”,测试成功
相关文章:
Ardunio 连接OLED触摸屏(SSD1106驱动 4针 IIC通信)
一、准备工作 1、硬件 UNO R3 :1套 OLED触摸屏:1套 导线诺干 2、软件 arduino 二、接线 UNO R3OLED5VVCCGNDGNDA5SCLA4SDA 脚位如下图所示: Uno R3脚位图 触摸屏脚位图 查阅显示屏的驱动规格:通常显示屏驱动芯片有SSD1306,SH110…...
深度学习 第4章 数值计算和 Deepseek 的实践
第4章 数值计算和 Deepseek 的实践 章节概述 本章主要探讨了数值计算中的关键问题,这些问题在深度学习和机器学习中尤为重要。数值计算的核心挑战在于如何在有限的计算资源和精度限制下,高效且稳定地处理连续数学问题。本章首先讨论了溢出和下溢问题&a…...
【数据分享】2000—2024年我国省市县三级逐年归一化植被指数(NDVI)数据(年最大值/Shp/Excel格式)
之前我们分享过2000-2024年我国逐年的归一化植被指数(NDVI)栅格数据,该逐年数据是取的当年月归一化植被指数(NDVI)的年最大值。(可查看之前的文章获悉详情)!该数据来源于NASA定期发布…...
HW华为流程管理体系精髓提炼华为流程运营体系(124页PPT)(文末有下载方式)
资料解读:HW华为流程管理体系精髓提炼华为流程运营体系(124页PPT) 详细资料请看本解读文章的最后内容。 华为作为全球领先的科技公司,其流程管理体系的构建与运营是其成功的关键之一。本文将从华为流程管理体系的核心理念、构建…...
Linux中管理多版本Python总结
1. pyenv 管理多个 Python 版本 pyenv 是一个流行的工具,用于管理多个 Python 版本。它可以轻松安装、切换和管理不同版本的 Python。 1.1.安装 pyenv 1.1.1安装依赖 sudo apt-get update sudo apt-get install -y make build-essential libssl-dev zlib1g-dev…...
【系统架构设计师】操作系统 - 特殊操作系统 ③ ( 微内核操作系统 | 单体内核 操作系统 | 内核态 | 用户态 | 单体内核 与 微内核 对比 )
文章目录 一、微内核操作系统1、单体内核 操作系统2、微内核操作系统 引入3、微内核操作系统 概念4、微内核操作系统 案例 二、单体内核 与 微内核 对比1、功能对比2、单体内核 优缺点3、微内核 优缺点 一、微内核操作系统 1、单体内核 操作系统 单体内核 操作系统 工作状态 : …...
OpenBMC:BmcWeb添加路由4 设置method
设置method的方式与设置权限的方式类似: //http\routing\ruleparametertraits.hpp struct RuleParameterTraits {...self_t& methods(boost::beast::http::verb method){self_t* self = static_cast<self_t*>(this);std::optional<HttpVerb> verb = httpVerb…...
【RabbitMQ】RabbitMQ的基本架构是什么?包括哪些核心组件?
RabbitMQ基于AMQP协议实现,由多个核心组件组成,确保消息的可靠传递。 Rabbit的架构图: 1.RabbitMQ的基本架构: 1.核心组件: 1.Producer(生产者): 发送消息到RabbitMQ。 2.Exchange(交换机):接…...
(C语言)将整数转化为二进制(转化二进制教学)
#include <stdio.h> #include <stdlib.h>void intToBinary(int num, char *binary) {int index 0;for (int i 31; i > 0; i--) { // 假设 int 是 32 位int bit (num >> i) & 1; // 获取第 i 位binary[index] bit 0; // 将 bit 转换为字符 0 或…...
Octave3D 关卡设计插件
课程参考链接 这位大佬有在视频合集中有详细的讲解,个人体验过,感觉功能很强大 https://www.bilibili.com/video/BV1Kq4y1C72P/?share_sourcecopy_web&vd_source0a41d8122353e3e841ae0a39908c2181 Prefab资源管理 第一步 在场景中创建一个空物体…...
【视频】文本挖掘专题:Python、R用LSTM情感语义分析实例合集|上市银行年报、微博评论、红楼梦、汽车口碑数据采集词云可视化
原文链接:https://tecdat.cn/?p41149 分析师:Zhenzhen Liu,Shuai Fung 作为数据科学家,我们始终关注如何从非结构化数据中提取高价值信息。本专题合集聚焦企业年报的文本分析技术,通过Python与R语言实战案例ÿ…...
反编译内容
“反编译” 是指将可执行的程序(如二进制代码、字节码等)转换回人类可读的高级语言源代码或某种中间表示形式的过程。 在软件领域,比如对于用 Java 编写的程序,编译后是字节码文件(.class),反…...
机器学习扫盲系列(1) - 序
文章目录 序为什么要写这一系列?AI 概念科普原理性思维转行立flag 这一系列的计划神经网络训练框架 序 为什么要写这一系列? AI 概念科普 在各种AI概念铺天盖地向我们袭来的今天,我们作为其他方向的工作者,如果想转行做深度学习…...
英伟达“AI 超级碗”开幕
Nvidia的AI和机器人技术进展 2025年03月19日 | AI日报  欢迎各位人工智能爱好者。 Nvidia的CEO Jensen Huang刚刚拉开了他的“AI超级碗”,并发表了关于该公司最新芯片、…...
DeepSeek扫盲篇: V3 vs R1全面对比架构差异与蒸馏模型演进史
I. 引言:DeepSeek系列的技术革命 在全球大模型军备竞赛白热化的2023年,DeepSeek系列通过V3与R1两款里程碑产品,构建了中文大模型领域的"双塔奇观"。这两个看似矛盾的版本——前者以1280亿参数的MoE架构突破算力边界,后…...
UE5材质法线强度控制节点FlattenNormal
连法 FlattenNormal内部是这样的 FlattenNormal的作用是用来调整法线强度 连上FlattenNormal后 拉高数值...
【一起来学kubernetes】19、Pod使用详解
Kubernetes 中的 Pod 是最小的可调度和可管理单元,也是容器化应用的载体。Pod 封装了一个或多个紧密关联的容器,共享网络、存储和生命周期。 一、Pod 的核心概念 定义 Pod是Kubernetes中最小的部署单元,可以包含一个或多个容器。这些容器紧…...
第2章:容器核心原理:深入理解Namespace、Cgroup与联合文件系统
第2章:容器核心原理:深入理解Namespace、Cgroup与联合文件系统 作者:DogDog_Shuai 阅读时间:约20分钟 难度:中级 目录 1. 引言2. Linux容器核心技术3. Namespace详解4. Cgroup详解5. 联合文件系统6. 容器运行时原理...
计算机网络基础:认识网络硬件与传输介质
计算机网络基础:认识网络硬件与传输介质 一、前言二、网络硬件设备2.1 路由器2.1.1 路由器的基本概念与功能2.1.2 路由器的工作原理2.1.3 路由器的类型与应用场景 2.2 交换机2.2.1 交换机的基本概念与功能2.2.2 交换机的工作原理2.2.3 交换机的类型与应用场景 2.3 服…...
Android audio(8)-native音频服务的启动与协作(audiopolicyservice和audioflinger)
音频策略的构建 1、概述 2、AudiopolicyService 2.1 任务 2.2 启动流程 2.2.1 加载audio_policy.conf(xml)配置文件 2.2.2 初始化各种音频流对应的音量调节点 2.2.3 加载audio policy硬件抽象库 2.2.4设置输出设备 ps:audiopatch流程简介 2.2.5打开输出设…...
法兰克仿真软件FANUC CNC Guide v25.0 安装教程及中文设置
前言 下载地址在文末。 我们公司用新到一批FANUC 系统的设备,为方便使用就装了一个 FANUC 数控系统仿真软件FANUC CNC Guide v25.0 ,还是最新版不是市面上流传的老版本。模拟学习一下。 安装操作 安装环境:Windows 11 专业版 24H2 安装程…...
事务隔离级别是?
事务隔离级别是数据库管理系统用来控制多个事务并发执行时对数据的可见性和一致性的机制。MySQL支持四种标准的事务隔离级别,它们定义了事务如何与其他并发事务交互。 四种事务隔离级别: READ UNCOMMITTED(读未提交) READ COMMIT…...
[JavaScript]如何利用作用域块避免闭包内存泄漏?
出自《你不知道的JavaScript》上卷 以下是本书给出的反例: function process (data) {...} var bigdata{...} process(bigdata); var btn document.getElementById(x); btn.addEventListener(click, function click{...});click会被回调在其他位置, 在addEventListener函数内…...
基于Selenium Grid的分布式测试架构设计与深度实践
一、引言:分布式测试的必然性与挑战 在数字化转型浪潮中,软件交付速度已成为企业竞争力的核心指标。敏捷开发、DevOps和持续交付(CI/CD)的普及,使得传统测试方法面临前所未有的挑战。单机测试模式在应对以下场景时显得…...
JavaScript 金额运算精度丢失问题及解决方案
JavaScript 金额运算精度丢失问题及解决方案 1. 前言2. 为什么 JavaScript 计算金额会精度丢失?2.1 JavaScript 使用 IEEE 754 双精度浮点数2.2 浮点运算错误示例**错误示例 1:0.1 0.2 ≠ 0.3****错误示例 2:浮点乘法精度问题** 3. 解决方案…...
【Python】使用ImageEnhance提升图片画质
使用ImageEnhance提升图片画质 from PIL import Image, ImageEnhance import ioimage_path "PhoneImg_20250319_160023607949_01.png"def enhance_image_quality(image_path):"""使用双三次插值算法提升画质"""with Image.open(imag…...
vector容器以及deque
vector 一.vector容器简介二.vector的默认构造1. 语法和功能2.vector带参数的构造3.vector的赋值4.vector的大小5.vector数值操作 deque简介: 一.vector容器简介 • vector是将元素置于一个动态数组中加以管理的容器。 std::vector 是 C 标准模板库(STL…...
jmeter中,上传文件的MIME类型
text/plain:用于纯文本文件,如.txt文件。 text/html:用于HTML文档,即.html文件。 application/msword:Microsoft Word文档,即.doc和.docx文件。 image/jpeg:JPEG图像&#x…...
《心理学与生活》2025最新网课答案
《心理学与生活》2025最新网课答案 文章目录 《心理学与生活》2025最新网课答案发展与教育单元测试情绪与情感单元测验人格与动机单元测试感知与记忆单元测试文化与社会单元测试 发展与教育单元测试 题数 20 棉花糖实验中哪些小孩长大后的表现更好()。 …...
Java SE 面经
1、Java 语言有哪些特点 Java 语言的特点有: ①、面向对象。主要是:封装,继承,多态。 ②、平台无关性。一次编写,到处运行,因此采用 Java 语言编写的程序具有很好的可移植性。 ③、支持多线程。C 语言没…...
