硬件准备:
主板:ESP32开发板
OELD屏幕:0.96寸 128*64 IIC通信
OELD屏幕-主连接图:
SDA:GPIO21
SCL:GPIO22
GND:GND
VCC:3V3
开始编程:
Vs Code 的PlatformIO IDE 插件 Arduino框架
引入U8G2
查看是否引入成功
main文件:
代码:
开始运行:#include <Arduino.h> #include <U8g2lib.h> #include <Wire.h> U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2( U8G2_R0, /* clock=*/ 22, /* data=*/ 21, /* reset=*/ U8X8_PIN_NONE); void setup(void) { u8g2.begin(); u8g2.enableUTF8Print(); //中文必要设置 } uint8_t z_y=20; uint8_t z_x=0; void loop(void) { u8g2.setFont(u8g2_font_unifont_t_chinese2); //含有中文的字库 //u8g2.setFont(u8g2_font_ncenB14_tr); //没有中文的字库 u8g2.firstPage(); do { u8g2.setCursor(z_x, z_y); //动态改变位置 u8g2.print("你好,世界!"); //中文 u8g2.setCursor(10,40); u8g2.print("Hello,world!"); //普通英文 } while ( u8g2.nextPage() ); delay(1000); z_y++; }
运行结果:
PID控制算法是结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应用最为广泛的一种控制算法。
本文主要介绍在未联网(AP热点)情况下实现WEB交互界面的CSS和javascript库。
本文介绍如何使用Arduino-ESP32库中的API函数获取ESP32的芯片、RAM信息等,并提供了一个示例程序代码。
ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。
ESP32 芯片有34个物理GPIO管脚。每个GPIO管脚都可用作一个通用IO,或连接一个内部的外设信号。IO_MUX ¹、RTC IO MUX 和GPIO交换矩阵用于将信号从外设传输至GPIO管脚。
ESP32Encoder库是一个利用ESP32脉冲计数器硬件外设实现高效旋转编码器读取的软件库。
本文对比了几款适合物联网开发的盒子硬件参数,供大家参考。
乐动掌控采用掌控板作为主控,塑胶一体式外壳,侧面和底面开具多个乐高扩展孔位,兼容乐高积木,可完成多种创意应用。
在MicroPython的ESP32库中,NVS类用于管理非易失性存储,支持 32 位有符号整数和 二进制blob。
Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。
本方案是一个基于ESP32-CAM + 物联网的图像采集方案。