#include <Arduino.h> #include "Ultrasonic.h" double voltage = 0; Ultrasonic ultrasonic1(4, 18); void setup() { Serial.begin(115200); } void loop() { Serial.print("当前距离是: "); Serial.print(ultrasonic1.distanceRead()); // Prints the distance on the default unit (centimeters) Serial.println("cm"); delay(1000); }
/* * SR04.h * 这里写说明和版本信息 */ #ifndef SR04_H #define SR04_H #include <Arduino.h> class SR04 { public: SR04(int trigPin, int echoPin); int getdistance(); private: int trig_Pin; int echo_Pin; }; #endif
#include "sr04.h" SR04::SR04(int TP, int EP) { pinMode(TP, OUTPUT); pinMode(EP, OUTPUT); trig_Pin = TP; echo_Pin = EP; } float SR04::getdistance() { //在这里按照时序方法操作引脚获取并换算成距离返回 Serial.println("haha"); return 0.0; }
#include <Arduino.h> void setup() { Serial.begin(115200); } void loop() { String str = ""; while (Serial.available()) { char tmp = Serial.read(); str += tmp; delay(10); } if (str != "") { Serial.println("recive: "); Serial.println(str); } }
#include <Arduino.h> #define LED_R 27 #define LED_G 33 #define LED_B 32 String revstr = ""; const String red = "red"; const String green = "green"; const String blue = "blue"; String getStr() //ESP32中, 此函数可以用Serial.readString()代替 { String str = ""; while (Serial.available()) { char tmp = Serial.read(); str += tmp; delay(10); } if (str != "") { return str; } return ""; } void strToRGB(String revstr) { if (revstr == red) { digitalWrite(LED_R, !digitalRead(LED_R)); } else if (revstr == green) { digitalWrite(LED_G, !digitalRead(LED_G)); } else if (revstr == blue) { digitalWrite(LED_B, !digitalRead(LED_B)); } } void setup() { Serial.begin(115200); pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); } void loop() { revstr = getStr(); if (revstr != "") { strToRGB(revstr); } }
#include <Arduino.h> String str = ""; void setup() { str = "11滚滚长江东逝水,浪花淘尽英雄,是非成败转头空,青山依旧在,几度夕阳红123!"; Serial.begin(115200); } void loop() { Serial.println(str.length()); Serial.println(str.indexOf("水")); Serial.println(str.lastIndexOf("山")); Serial.println(str.indexOf("山",20)); Serial.println(str.substring(21)); Serial.println(str.substring(21,60)); Serial.println(str.toInt()); Serial.println(str.endsWith("!")); Serial.println(str.endsWith("宏")); delay(5000); }
ESP-Hosted 解决方案提供了将 ESP 板用作 Wi-Fi 和 Bluetooth/BLE 连接的通信处理器的方法。
ESP-Hosted 提供了一种将ESP芯片和模组用作通信协处理器的解决方案,该解决方案为主机微处理器或微控制器提供无线连接,使主机能够与其他设备通信。简单来说为网卡方案。
Arduino+ESP32上使用TFT_eSPI库快速点亮这个屏幕,驱动芯片ST7789
本文给出了一个ESP32与SPI 接口TFT显示屏接线的详细说明,供大家参考。
本文讲解如何在Micropython环境下使用ESP32的ESPNow功能进行数据传输。
ESP-Dongle 是一款基于 ESP32-S3 芯片开发的多功能 USB Device 解决方案。它不仅外形小巧,功能齐全,更集成了无线 U 盘、SD 卡读取以及 USB 无线网卡等多项功能。
ESP32 系列芯片可以利用 CSI 数据实现动作检测和存在检测。无论是自动调节灯光、风扇,还是节能控制,CSI 技术为智能家居带来了新的可能性。随着 CSI 技术的发展,未来的智能家居将能够更精确地感知和响应我们的行为,实现更高效、更人性化的控制。
ESP32-FreeRTOS项目提供了丰富的示例,帮助开发者快速掌握ESP32的硬件功能和FreeRTOS实时操作系统。
本节我们在迭代二的基础上使用四位数码管和OLED显示屏显示相关交互信息。
本节我们在迭代一的基础上增加采集土壤湿度数据,并根据湿度数据来决定是否自动进行浇水动作。