有玩esp32的吗?买了个板子上传项目老是出错不知道是不是接线问题

微信截图_20230304154611.png(559.04 KB)

烧写口:ESP32的GND,RX,TX,5V分别接外部TTL串口模块的GND,TX,RX,5V,下载时IO0需和GND连接,下载完成后再断开IO0和GND间的连接;

微信截图_20230304154708.png(24.48 KB)
我跳线帽是这么接的,应该没错把?
微信图片_20230304155113.jpg(3.35 MB)

但是上传不了

微信截图_20230304153014.png(58.17 KB)
手机

回复列表(73|隐藏机器人聊天)
  • @Ta / 2023-03-04 / /

    微信图片_20230304155514.jpg(4.02 MB)
    手机

  • @Ta / 2023-03-04 / /

    @童真再见,你在Arduino里面设置了串口的端口里没有
    一加8Pro

  • @Ta / 2023-03-04 / /
    tx rx 交叉了没
  • @Ta / 2023-03-04 / /
    图片看起来tx和rx接反了
  • @Ta / 2023-03-04 / /

    @胡图图@童真再见,看图他的tx rx接错了。
    一加8Pro

  • @Ta / 2023-03-04 / /

    @童真再见
    RX接TX
    TX接RX
    一加8Pro

  • @Ta / 2023-03-04 / /

    @胡图图,你是对的。这模块我有十多个。
    一加8Pro

  • @Ta / 2023-03-04 / /

    @胡图图@罐子没仔细看原来是接错了...我刚才把软件卸载了,现在重下呢,疏忽了
    手机

  • @Ta / 2023-03-04 / /

    发完帖后发现端口也选错了,USB转ttl的驱动没装,装完后显示第三个端口了,再试上传显示这个错误,这个错误看来就是线接错了

    微信图片_20230304210211.png(35.62 KB)
    手机

  • @Ta / 2023-03-04 / /

    @胡图图@罐子,线的位置换了后出现这个错误,是不是线的质量不好啊?

    esptool.py v3.0-dev
    Serial port COM3
    Connecting......................................_____

    A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
    A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

    微信截图_20230304230539.png(61.65 KB)

    手机

  • @Ta / 2023-03-05 / /

    @童真再见,可能是感觉是没有拉低短接点用万用表测一下,
    一加8Pro

  • @Ta / 2023-03-05 / /

    ESP32-WROOM-32E下载模式要求GPIO0在EN上升沿时为保持低电平,一般的板子会设计有自动下载电路,但是也不排除没有,可以检查一下, 我看你的图中没有下拉GPIO0。

    红米K30 Pro(变焦版)

  • @Ta / 2023-03-05 / /

    @罐子@Curtion,找到原因了是排针和板子接触不良
    手机

  • @Ta / 2023-03-31 / /

    @ChatGPT,esp32获取MAX30102的代码

  • @Ta / 2023-03-31 / /

    [新会话] @童真再见,以下是使用ESP32获取MAX30102传感器数据的基本示例代码:

    #include <Wire.h>
    #include "MAX30105.h"
    
    MAX30105 particleSensor;
    
    void setup()
    {
      Serial.begin(9600);
      Serial.println("MAX30102 Sensor Test");
    
      // Initialize sensor
      if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) {
        Serial.println("MAX30102 was not found. Please check wiring/power.");
        while (1);
      }
    
      // Set up sensor
      particleSensor.setup();
      particleSensor.setPulseAmplitudeRed(0x0A); // Turn Red LED to low to indicate sensor is running
      particleSensor.setPulseAmplitudeGreen(0); // Turn off Green LED
    }
    
    void loop()
    {
      // Read data from sensor
      particleSensor.check(); 
    
      // Get heart rate
      float hr = particleSensor.getHeartRate();
    
      // Get SpO2 level
      int spo2 = particleSensor.getSpO2();
    
      // Print data to serial monitor
      Serial.print("Heart rate: ");
      Serial.print(hr);
      Serial.print(" bpm, SpO2 level: ");
      Serial.print(spo2);
      Serial.println(" %");
    
      delay(1000);
    }
    

    该示例代码使用了 MAX30105 库,该库已在 Arduino IDE 中提供。如果你使用的是其他开发环境或编程语言,你需要自己编写与 MAX30102 传感器通信的代码。

    此外,需要将 MAX30102 传感器与 ESP32 连接。MAX30102 的 VIN 引脚需要连接到 ESP32 的 3.3V 引脚,GND 引脚需要连接到 ESP32 的 GND 引脚。MAX30102 的 SDA 和 SCL 引脚需要连接到 ESP32 的对应引脚(默认是 GPIO 21 和 GPIO 22)。

  • @Ta / 2023-03-31 / /

    @ChatGPT,我的SDA引脚是4,SCL引脚是5

  • @Ta / 2023-03-31 / /

    @童真再见,如果你的 MAX30102 传感器的 SDA 引脚连接到 ESP32 的 GPIO 4 引脚,SCL 引脚连接到 GPIO 5 引脚,你需要相应地修改示例代码中的 Wire 和 MAX30105 的初始化部分。

    以下是使用 ESP32 的 GPIO 4 和 GPIO 5 引脚连接 MAX30102 传感器的示例代码:

    #include <Wire.h>
    #include "MAX30105.h"
    
    MAX30105 particleSensor;
    
    void setup()
    {
      Serial.begin(9600);
      Serial.println("MAX30102 Sensor Test");
    
      // Initialize sensor
      Wire.begin(4, 5); // SDA = GPIO 4, SCL = GPIO 5
      if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) {
        Serial.println("MAX30102 was not found. Please check wiring/power.");
        while (1);
      }
    
      // Set up sensor
      particleSensor.setup();
      particleSensor.setPulseAmplitudeRed(0x0A); // Turn Red LED to low to indicate sensor is running
      particleSensor.setPulseAmplitudeGreen(0); // Turn off Green LED
    }
    
    void loop()
    {
      // Read data from sensor
      particleSensor.check(); 
    
      // Get heart rate
      float hr = particleSensor.getHeartRate();
    
      // Get SpO2 level
      int spo2 = particleSensor.getSpO2();
    
      // Print data to serial monitor
      Serial.print("Heart rate: ");
      Serial.print(hr);
      Serial.print(" bpm, SpO2 level: ");
      Serial.print(spo2);
      Serial.println(" %");
    
      delay(1000);
    }
    

    注意,我们在 Wire.begin() 函数中传递了两个参数,第一个参数是 SDA 引脚的 GPIO 编号,第二个参数是 SCL 引脚的 GPIO 编号。在本例中,我们将其设置为 4 和 5,以与你所描述的引脚连接匹配。

  • @Ta / 2023-04-01 / /

    @ChatGPT,显示这些错误C:\Users\Administrator\Desktop\esp32程序\30102\30102.ino: In function 'void loop()':
    30102:30:29: error: 'class MAX30105' has no member named 'getHeartRate'
    30102:33:29: error: 'class MAX30105' has no member named 'getSpO2'; did you mean 'getINT2'?

添加新回复
回复需要登录