#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);
}
本小节是一个Web服务结合SD卡文件系统的应用示例。
本节主要讲解FileSystem类的使用,以及Flash文件系统配置和SD存储模块的使用。
本节主要讲解Wifi热点的Web服务使用,以及使用网页交互来控制LED。
本节主要讲解WifiBoard类的功能和HTTPClient库及cJSON的使用。
本节主要讲解TFT-LCD显示屏的使用和Window派生类与TFT_eSPI库的使用。
这篇文章展示了如何将化学与工程、信息技术、现代制造技术紧密结合,以“血氧指标控制的简易供氧器”为载体,组织一次真实的跨学科项目。设计中突出“从需求出发”“闭环控制”“可视化反馈”,不仅呼应了新课标中“跨学科实践”的要求,更贴近生活实际需求,尤其适用于对科技应用、健康关怀有兴趣的学生群体,可作为项目式学习或社团活动的优质课例。
本节主要讲解OLED显示屏的使用和Display类及派生类的介绍及使用。
本节主要讲解用TM1650来驱动四位7段式数码管模块的显示使用。
本节主要讲解FreeRTOS任务间如何使用互斥对象来实现资源互斥访问。
在ESP32的开发,经常会有系统崩溃一直重启的情况,那么如何快速定位出现异常的代码呢?