#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); }
ESP32的DAC函数可以实现真正的模拟输出。
ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。
本文学习如何使用ESP32开发板来进行多线程的开发。
ESP8266有三种工作模式,分别为:AP,STA,AP混合STA
ESP32有四个SPI外设,分别为SPI0、SPI1、HSPI和VSPI。