完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,
我想在我的 NodeMCU 项目中使用 SSD1306 OLED,但我正在为崩溃而苦苦挣扎。我认为这可能与我使用的引脚有关,但我需要一些帮助,因为我不是专家。 我正在使用 NodeMCU 板 12E 和 platform.io 作为 IDE。该项目是使用 PMS5003 和 MHZ14A 的空气质量传感器(库: ://github.com/avaldebe/PMserial和 ) 对于我使用的 OLED 一些注意事项: 这是设置之前的代码摘录 代码:全选#include #include #include "PMserial.h" // Arduino library for PM sensors with serial interface #include "wifi.h" #include "influxdbHelper.h" #include "MHZ19.h" #include #include "SSD1306Wire.h" // legacy: #include "SSD1306.h" // References // http://www.winsen-sensor.com/d/files/infrared-gas-sensor/mh-z14a_co2-manual-v1_01.pdf // http://www.winsen-sensor.com/d/files/PDF/Infrared%20Gas%20Sensor/NDIR%20CO2%20SENSOR/MH-Z14%20CO2%20V2.4.pdf // MHZ14A // connections: // Check Kicad #define RX_MHZ_PIN D2 // Rx pin which the MHZ19 Tx pin is attached to #define TX_MHZ_PIN D1 // Tx pin which the MHZ19 Rx pin is attached to #define BAUDRATE 9600 // Device to MH-Z19 Serial baudrate (should not be changed) MHZ19 myMHZ19; // Constructor for library SoftwareSerial swMHZSerial(RX_MHZ_PIN, TX_MHZ_PIN); // (Uno example) create device to MH-Z19 serial // PMS5003 // pin for uart reading on the PMS #define PMS_RX D5 // RX pin on device #define PMS_TX D6 // TX pin on device SerialPM pms(PMS5003, PMS_RX, PMS_TX); // PMSx003, RX, TX // Initialize the OLED display using Arduino Wire: #define PROJ_SDA 10 // Use different pins rather than standards SDA and SCL for NodeMCU #define PROJ_SCL 9 // Use different pins rather than standards SDA and SCL for NodeMCU SSD1306Wire display(0x3c, PROJ_SDA, PROJ_SCL, GEOMETRY_128_32); void setup() { Serial.begin(9600); initialiseWiFi(); influx.setDb(INFLUXDB_DATABASE); // MHZ14 swMHZSerial.begin(BAUDRATE); // (Uno example) device to MH-Z19 serial start myMHZ19.begin(swMHZSerial); // *Serial(Stream) refence must be passed to library begin(). myMHZ19.autoCalibration(); // Turn auto calibration ON (OFF autoCalibration(false)) // PMS5003 pms.init(); // Initialising the UI will init the display too. Serial.println("Crashing"); display.init(); // display.flipScreenVertically(); // display.setFont(ArialMT_Plain_10); } 一旦代码到达 display.init() 它就会重新启动。偶尔我会收到此错误 代码:全选!Error: Timed out waiting for response !ERROR: Failed to verify connection(1) to sensor. !ERROR: Initial communication errorCode recieved !Error: Timed out waiting for response OLED甚至没有连接。一旦我评论了 display.init() 行,一切正常。 我也尝试过使用 GPIO13/15,但我遇到了同样的问题(我在闪烁期间断开了电线)。 任何想法?其他选项两个使用 OLED 和两个串行传感器? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
419浏览 6评论
352浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
334浏览 5评论
337浏览 4评论
317浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-24 10:15 , Processed in 0.543494 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191