回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

使用ESP32-C6初试用 简单

头像 风隐 2024.04.22 89 0

         使用体验:原本用ESP32 C6编写了一些包含子函数的小程序,用Arduino来调试都可以运行。但是用ESP32 C6时都不能运行。

image.png

        想了一下,这个主板是针对物联网、蓝牙的,从本质上与Arduino有着不同。老老实实的找物联网、蓝牙案例仿着写代码。而且主板这么小,功率肯定是很小的,也就是低功耗,什么舵机、电机等需要外接驱动板来控制。

没骗人的,下面是我用Arduino UNO编写的用按键控制MP3语音模块播放音乐。

代码
#include <SoftwareSerial.h>
 
    SoftwareSerial Serial1(10, 11);

    unsigned char order[4] = {0xAA,0x06,0x00,0xB0};
 
    void setup() {
    //Serial.begin(115200);
     Serial1.begin(9600);
     volume(0x1E);//音量设置0x00-0x1E
    }

    void loop() {
     if (digitalRead(2)){play(0x01);//指定播放:0x01-文件0001
    // Serial1.write(order,4);//顺序播放
     delay(5000);//只有一首歌,故延时多长时间都可以。如果有两首音乐,第一首必须与实际歌的时间一致,第二首(最后一首)时间多少都可以。
     }
    }

    void play(unsigned char Track)
    {
     unsigned char play[6] = {0xAA,0x07,0x02,0x00,Track,Track+0xB3};//0xB3=0xAA+0x07+0x02+0x00,即最后一位为校验和
       Serial1.write(play,6);
    }
    void volume( unsigned char vol)
    {
      unsigned char volume[5] = {0xAA,0x13,0x01,vol,vol+0xBE};//0xBE=0xAA+0x13+0x01,即最后一位为校验和
         Serial1.write(volume,5);
     }

        Arduino运行的好好的,导入到ESP32 C6竟然不能运行!编写的简单子函数程序一样不能。还有这个模块没焊接,看到焊接就头痛,上次的活动焊接害怕了。好了,不吐槽了,以下为仿写蘑菇云官网案例(DFROBOT DFR1075 FireBeetle 2 Board ESP32-C6 产品资料 进阶教程)。当然对官网的代码做了简单的修改,WiFi的账号,灯的闪烁方式等。

代码
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiAP.h>

#define myLED 15 //设置引脚15为LED引脚
// 设置WIFI名称以及密码
const char *ssid = "xin";//WIFI名称
const char *password = "12345678";//密码

WiFiServer server(80);//网页服务端口默认为80

void setup() {
  pinMode(myLED, OUTPUT);

  Serial.begin(115200);
  Serial.println();
  Serial.println("Configuring access point...");

  //如果想要无密码开放网络请删除password
  WiFi.softAP(ssid, password);
  IPAddress myIP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(myIP);
  server.begin();

  Serial.println("Server started");
}

void loop() {
  WiFiClient client = server.available();   // 检测等待连接

  if (client) {                             // 检测是否连接
    Serial.println("New Client.");
    String currentLine = "";                // 创建String变量来保存数据
    while (client.connected()) {            // 保持连接时一直循环
      if (client.available()) {             // 检测连接是否有数据
        char c = client.read();             // 读取接收的数据
        //Serial.write(c);                    // 打印在串行监视器
        if (c == '\n') {                    // 如果读取的是换行符

          //结尾用换行符提醒结束
          if (currentLine.length() == 0) {
            client.println("HTTP/1.1 200 OK");
            client.println("Content-type:text/html");
            client.println();
             //将字符与here连接
            client.print("Click <a href=\"/ON\">here</a> to turn ON the LED.<br>");
            client.print("Click <a href=\"/OFF\">here</a> to turn OFF the LED.<br>");

            // HTTP响应为空行
            client.println();
            // 跳出循环
            break;
          } else {    // 如果有一个换行符就清除变量缓存的数据
            currentLine = "";
          }
        } else if (c != '\r') {  // 如果获得回车以外的字符
          currentLine += c;      // 获得的字符添加到变量末尾
        }

        // 检查是否获得/ON或者/OFF
        if (currentLine.endsWith("/ON")) {
          for (int index = 0; index < 4; index++) {
            digitalWrite(myLED, HIGH);               //得到/ON时打开灯
            delay(500);
            digitalWrite(myLED, LOW);
            delay(500);
          }
        }
        if (currentLine.endsWith("/OFF")) {
          digitalWrite(myLED, LOW);                //得到/OFF时关闭灯
        }
      }
    }
    // 关闭连接
    client.stop();
    Serial.println("Client Disconnected.");
  }
}

4af27c6e86c37aa4208d215b7633669.jpg

ESP32 C6建立WIFI

5b5e3203b5679a27e8ff69702e0907a.jpg

用手机登录192.168.4.1,进入控制界面

fa192309eee846afef04d4d3ac8a3df.jpg

点灯实验,我的面包板接触不良

评论

user-avatar