0.96寸OLED无法点亮,TM1637 4位数字LED显示模块无法使用delay
arduino吧
全部回复
仅看楼主
level 1
皇马沐沐 楼主
请教大家两个问题,本人小白,刚自学Arduino,网上买了0.96寸OLED和TM1637数码管,按照网上视频实例操作,发现0.96寸屏幕无法点亮,使用了Adafruit的库,也用了U8G和U8G2的库,使用库里面自带的实例,代码编译没问题,但上传后,屏幕都不亮,买了两块屏幕都不亮。
另外,自己测试的TM1637的数码管,发现跑代码编译正常,但代码里面只要有delay,数码管就显示不正常,一闪一闪的,无法正常显示,就像屏幕要坏了一样,而且只是部分显示,不是delay的时间短,我试过不同的delay时间,都不行,把delay代码去掉,数码管就显示正常了。这是为什么呢?
0.96寸的模块,唯一不同的是,网上别人视频里面模块时钟引脚是SCL,我的模块印的SCK,难道是这里的问题吗?我使用的是SSD1306库,难道这个模块是1315或者别的库才能驱动?(代码I2C地址0x3D自己修改了0x3C,电压5V和3.3V都试过,都不行。)
以上代码,我在网上模拟器跑,都可以正常显示,但上传到硬件就不行,难道是我买的模块有问题吗?
2025年03月12日 12点03分 1
level 3
很抱歉我能力有限,只能解答部分OLED问题。
1.1306和1315驱动方式是一样的,对于OLED模块来说没有任何区别。这点可以放心。
2.这个屏幕是iic,读作i方c,协议,通过两条线来传输数据。其中,SCL(SCK,写法不同但是其实是一码事)是时钟线,SDA为数据线。如果你想对iic有更多了解,可以去看b站爱上半导体等up有比较详细的解答。
3.可以向卖家索要arduino的源代码,按照他的接法接线,看看有没有问题。若能点亮,则排除OLED损坏。依照他的程序检查一下看看是不是哪里出错了或者不太一样。
最后呢,我个人是比较喜欢倒腾屏幕的,但是起步也是arduino的u8g2还有adafruit的库,发现学的有点点晕。如果你想深入理解屏幕,可以试试看看底层的原理。说不定醍醐灌顶。
只能帮你到这啦[干饭]
2025年03月23日 11点03分 2
1