- 博客(30)
- 资源 (7)
- 收藏
- 关注
原创 ESP32S3使用Adafruit_ST7735驱动1.8寸ST7735彩屏
使用ESP32S3驱动1.8寸屏幕。使用的是这个屏幕,驱动IC为ST7735.尝试使用了TFT_eSPI,发现一直是是白屏,感觉配置起来比较麻烦。没有成功。所以测试了用Adafruit_ST7735来进行测试了引脚配置:也可以换成其他引脚。由于Adafruit_ST7735的库比较简单,所以没有像清屏等操作。需要把屏幕重新涂黑,再进行操作。
2025-02-25 15:25:57
355
原创 ESP32C3 读取RFID MFRC522模块-2
可以看到有0-15,一共16个区块。每个区块的内容也详细展示出来了。使用ESP32C3读取RFID卡中的内容,不只是ID号。
2025-01-07 14:19:11
139
原创 解决使用ESP32C3在使用Adafruit_NeoPixel的问题
在用Adafruit_NeoPixel库控制灯带的时候,发现一个问题,灯的数量不多的时候是没有什么问题,但是灯的数量一多程序就崩溃,灯就无法控制。之前一直以为是灯太多供电的问题,实际每次控制只亮一颗等也是如此。我这里测试了50颗灯全亮,电流就达到了2.26A 平均一个灯电流为0.045A,即45mA。在控制灯比较多的时候一定需要注意功率,一个LED全亮的时候有0.2-0.3瓦。这样可以控制任意数量的灯了,我这里测试了720个灯,没有问题。最近终于在找到原因了,是库中有个ESP32C3的bug。
2024-12-26 22:01:05
161
原创 ESP32C3 读取RFID MFRC522模块
需要修改MFRC522Extended.cpp文件的内容。直接编译会有问题,出现如下问题。上次后可以读取RFID卡。
2024-12-24 18:39:23
324
1
原创 JDY-40无线模块测试1-无线透传
CS需要接低电平,不然处于睡眠模式,CS刚好边上是GND,我这里直接焊接在一起了。测试JDY-40无线模块的基本功能,为后面项目做准备。我这里把无线模块焊接模块到串口模块上。根据手册中最基本的透传模式进行配置。连接多个后就可以实现一发多收。实现透传,还是比较简单的。
2024-12-24 16:29:03
275
原创 ESP32S3通过W5500以太网模块发送数据,并进行简单测速实验。
utilities.h文件中的需要打开17行的注释:LILYGO_T_ETH_LITE_ESP32S3。需要跟你你自己的主机的ip地址修改程序。硬件:ESP32S3和W5500。我这里使用jperf进行简单测速。目录下的TCPClient程序。打开TCP Server。
2024-11-06 14:02:29
969
原创 使用ESP32S3 测频率(频率计)4
下面程序优化后,并把计数溢出值改的比较高,这样避免反复进入定时器中断可以优化一点。针对第二篇的内容,有个小问题,每次读取后需要把定时器的内容清零。输入1KHz,得出频率相差快10Hz。
2024-11-06 13:46:58
277
原创 2个ESP32C3使用I2C进行通信——自定义引脚(2)
从机:Wire.begin((uint8_t)I2C_DEV_ADDR,1,0, 1000000L);可以看到函数定义:从机需要确定地址,主机没有地址。两侧的频率也需要一致。ESP32C3默认的I2C引脚为4和5,我这里自定义为0和1.主机:Wire.begin(1,0, 1000000L);
2024-10-20 17:16:08
599
原创 2个ESP32C3使用I2C进行通信(1)
因为我项目中只用到主机发送数据给多个从机,进行简化。并提高速度,延时设置为1ms。ESP32C3的I2C默认引脚为4和5。只是把ESP32换成了ESP32C3。我这里使用的是合宙的ESP32C3。修改为10ms延时后正常。发现太快会导致程序崩溃。
2024-10-20 17:02:16
355
原创 ESP Now 无线测试
可以看到有很多数据丢失,而且话费的数据明显增加。差不多花费4秒钟才完成1000个数据发送。我这里现测试了一个设备打印0-999,延时1ms,也就是一秒钟发送1千个数据。ESP Now本质上还是通过Wi-Fi来实现的。当然这个是简单的测试,不是很严谨。看时间戳也是1秒钟内完成的。
2024-10-13 14:01:34
386
1
原创 使用舵机的时候需要考虑峰值电流
在使用arduino舵机的时候一定要考虑电流峰值,不如容易造成arduino的重启。一般1117就800mA,大部分也不超过1A,如果接2个舵机很容易造成重启。峰值电流会接近500mA,一般arduino使用的LDO是1117,使用一个UNO和9g舵机进行测试。
2024-10-11 21:05:56
306
原创 ESP32C3在使用Adafruit_NeoPixel库的一个小问题,灯数量超过70个就不工作了
在使用Adafruit_NeoPixel做灯带实验的时候,如果使用ESP32C3(其他几个型号也类似)。灯数量不多的时候是没有问题的,但是灯数量过多的时候就有问题了。这个回答解决了这个问题,是库中的memory溢出了,说明是这个库的问题,卸载原来的库,并安装这个库后就没问题了。我这里测试了160灯,没有问题。
2024-10-11 20:23:57
415
1
原创 ESP32C3 控制WS2812灯带
在用arduino Uno的时候没有任何问题,但是使用ESP32C的时候发现不工作,灯珠数量限制在60以内是没有问题的。一般控制WS2812用的比较多的库是Adafruit_NeoPixel。这个库还是非常好用的。新买了一条COB灯带,一米有160灯珠。换成FastLED库就正常了。
2024-10-11 17:19:21
793
原创 ESP32C3 的Flash坑,配置相关
Flash需要配置成DIO模式和4M大小(根据实际情况选择)在使用ESP32C3(合宙版本),上传程序后出现乱码。这里是因为flash配置错误造成的。
2024-10-09 18:31:48
668
原创 ESP8266使用I2C方式控制OLED 使用Adafruit_SSD1306库方式
因为使用的是I2C接口模式,I2C的从设备有一个地址,那么在使用之前需要确定这个OLED的设备地址。当然最简单的方式是问商家,如果不知道话就需要使用寻找I2C设备地址的程序。我这里使用的硬件是自带OLED的NodeMCU版本的ESP8266。接下来我这里使用官方例程来控制OLED。通过这个程序,我们可以找到。
2024-10-09 14:37:38
527
原创 使用ESP32S3 测频率(频率计)3
输入500Hz,1000H的频率,能够测到频率,但是比如我这里时钟是10M,每隔100次计数一次,可以计算出一次定时器中断为100*1/10M ,时钟为十分之一微秒,100次就是10微秒。如果频率为1KHz,1个周期是1000微秒,也就是一个周期内可以数100次。利用外部中断来确定两个下降沿之间的时间。之间的时间T用定时器来实现。如果测量10个周期,可以提高精度。
2024-09-30 21:39:34
292
原创 使用ESP32S3 测频率(频率计)2
下面程序是统计1000个脉冲需要的时间,计算出频率,显然这个方法频率很低或者太高都不适合,比如频率为100Hz,那么需要10秒,如果频率是10K,只需要0.1秒,精度会下降。使用定时器,利用定时器中的esp_timer_get_time函数,可以获得微秒的时间戳。频率提高精度下降,10KHz的时候频率相差10H,精度是0.1%,可能也还好。低频的情况下精度是够的,但是效率太低了。
2024-09-30 19:52:25
215
原创 ESP32C3 控制0.91寸OLED
使用arduino或者ESP32控制OLED屏幕,用的最多的库是Adafruit_SSD1306库,这个库还是非常好用的。不过在用ESP32C3的时候,这个库不知道怎么就用不了,所以尝试使用了更简单一些的SSD1306Wire。我这里使用的是0.91寸OLED,就是下面这个,这用的I2C协议,屏幕分辨率是128*32.ESP32C3 控制0.91寸OLED。
2024-09-28 21:23:47
911
1
原创 ESP32C3在arduino框架下测试PWM输出
计数1000次触发,即1/1000秒 = 1毫秒。需要注意这种方式频率不能设置太高,比如设置为5KHz就无法正常输出。设置时钟频率为1MHz。该程序即为1毫秒翻转一次电平,即周期是2毫秒,频率为500Hz。提高频率到10M测试,计数改为10000,理论上会更准。测试后发现差异不大了。
2024-09-28 14:06:06
688
原创 ESP32C3的ADC不准,如何解决呢?
使用合宙的ESP32C3,来进行电压采集,但是实验发现非常的不准。本来想应用与测电池的电压的,但是发现测得的电压飘得厉害。
2023-12-22 21:59:36
2138
1
原创 ESP32以及ESP32C3的定时器学习
这个教程中有两个实验1.通过定时器产生一个周期性的中断,来实现一个翻转信号控制一个LED的亮灭2.通过定时器测量两个外部事件之间的时间。
2023-11-05 22:04:07
1433
1
原创 STM32CubeIDE 中文显示 显示乱码 软件汉化
但是这种方式只能把这个页面的编码格式进行更改,如果要把工程里的项目编码格式都修改,需要在项目的属性进行修改。这步也需要花费比较久的时间,可能要半小时,耐心等待。如果不行重复上述步骤。安装成功后重启软件就会显示中文。安装过程中软件的右下角有进度条(我这里没有重复按照图片只是演示)找到简体中文,然后选择安装比例较高的安装。换成GBK,可能下拉菜单中没有这个选项,手动输入就可以了。打开项目如果中文是乱码,是编码格式问题。软件的中文显示需要先按照中文插件。把这个链接粘贴到第二行。等待一会(可能有点慢)
2023-10-29 11:27:24
2109
原创 STM32 单片机测量频率,频率计
从上表可以发现,当频率大于100KHz的时候理论误差已经大于0.1%,这时候就不太适合使用测周期的方法了。通过被测信号的两个上升沿中断之间的过程中,对时钟信号进行计数。相当于测到几个时钟信号,就进行几分频。,理论上在一个周期内可以测得。
2023-10-28 20:15:55
1022
1
原创 使用ESP32C3中串口的小坑
在使用合宙的ESP32C3的串口的时候遇到一个莫名其妙的问题,串口无法正常工作。此外对于ESP32的串口引脚可以通过程序配置,而且是硬件层面实现,不是Uno中的softwareSerial模式。需要注意的是USB CDC On Boot的选项也要设置为Disable,如果Enable的话会占用默认串口。Serial1被绑定到9号和10号引脚,连接一个USB转串口的模块就可以接收串口数据。Serail0为默认USB连线的串口,可以在串口监视器中看到数据。串口芯片的驱动也正常安装,能够识别到CH343。
2023-08-17 21:59:26
3647
7
原创 测试LGT8F328P,替代Arduino Uno
虽然芯片没有之前炒作的那么贵,优势也不那么明显,还是买了LGT8来测试一下。我这里使用的Arduino2.0。
2023-07-15 21:44:16
1367
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人