#include <WiFi.h>
// Define pins for HC-SR04
const int trigPin = 5; // GPIO 5
const int echoPin = 18; // GPIO 18
// Wi-Fi credentials
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
// Server IP and port
const char* serverIP = "192.168.1.100";
const int serverPort = 3000;
void setup() {
// Initialize serial communication
Serial.begin(115200);
// Initialize HC-SR04 pins
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Connect to Wi-Fi
WiFi.begin(ssid, password);
// while (WiFi.status() != WL_CONNECTED) {
// delay(1000);
// Serial.println("Connecting to WiFi...");
// }
Serial.println("Connected to WiFi");
}
void loop() {
// Clear the trigPin before setting it high
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Set the trigPin on HIGH state for 10 microseconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Read the echoPin, calculate the distance (duration / 2) / 29.1
long duration = pulseIn(echoPin, HIGH);
int distance = duration * 0.034 / 2;
// Print the distance to the serial monitor
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Send the distance to the server
sendDataToServer(distance);
delay(2000); // Wait for 2 seconds before the next loop
}
void sendDataToServer(int distance) {
WiFiClient client;
if (client.connect(serverIP, serverPort)) {
client.print("Distance: ");
client.print(distance);
client.println(" cm");
client.stop();
}
// else {
// Serial.println("Connection to server failed");
// }
}