硬件连接:
将超声波传感器的VCC和GND连接到ESP8266的3.3V和GND。
将超声波传感器的TRIG引脚连接到ESP8266的数字引脚(如5)。
将超声波传感器的ECHO引脚连接到ESP8266的另一个数字引脚(如,4)。
#include <ESP8266WebServer.h>
const char *ssid = "SonarFishFinder";
const char *password = "12345678";
ESP8266WebServer server(80);
const int trigPin = 5;
const int echoPin = 4;
long duration;
int distance;
void setup() {
Serial.begin(115200);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
WiFi.softAP(ssid, password);
IPAddress myIP = WiFi.softAPIP();
Serial.println("AP IP address: ");
Serial.println(myIP);
server.on("/", handleRoot);
server.begin();
Serial.println("HTTP server started");
}
void loop() {
server.handleClient();
//measureDistance();
}
void handleRoot() {
measureDistance();
String message = "Distance: " + String(distance) + " cm";
server.send(200, "text/plain", message);
}
void measureDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
}