Untitled
#include <Arduino.h> #include <WiFi.h> #include "SparkFun_LSM6DSV16X.h" #include <Wire.h> #define WIFI_SSID "ESP32_Network" // ESP32'nin oluşturacağı ağ adı #define WIFI_PASSWORD "123456789" // Ağ şifresi String x1s, y1s, z1s, x2s, y2s, z2s, adc1s, adc2s; SparkFun_LSM6DSV16X myLSM; sfe_lsm_data_t accelData; sfe_lsm_data_t gyroData; WiFiServer server(80); // HTTP server için port 80 void setup() { Serial.begin(115200); Wire.begin(19, 20); // I2C pinleri pinMode(1, INPUT); pinMode(2, INPUT); // LSM6DSV16X sensörünü başlat if (!myLSM.begin()) { Serial.println("Did not begin, check your wiring and/or I2C address!"); while (1); } myLSM.deviceReset(); while (!myLSM.getDeviceReset()) { delay(1); } Serial.println("Board has been Reset."); Serial.println("Applying settings."); myLSM.enableBlockDataUpdate(); myLSM.setAccelDataRate(LSM6DSV16X_ODR_AT_7Hz5); myLSM.setAccelFullScale(LSM6DSV16X_16g); myLSM.setGyroDataRate(LSM6DSV16X_ODR_AT_15Hz); myLSM.setGyroFullScale(LSM6DSV16X_2000dps); myLSM.enableFilterSettling(); myLSM.enableAccelLP2Filter(); myLSM.setAccelLP2Bandwidth(LSM6DSV16X_XL_STRONG); myLSM.enableGyroLP1Filter(); myLSM.setGyroLP1Bandwidth(LSM6DSV16X_GY_ULTRA_LIGHT); Serial.println("Ready."); // ESP32 Wi-Fi ağını başlat WiFi.softAP(WIFI_SSID, WIFI_PASSWORD); // Wi-Fi ağını başlat IPAddress IP = WiFi.softAPIP(); Serial.print("ESP32 Wi-Fi ağı başlatıldı. IP adresi: "); Serial.println(IP); // Web server'ı başlat server.begin(); } void loop() { // Sensör verilerini oku if (myLSM.checkStatus()) { myLSM.getAccel(&accelData); myLSM.getGyro(&gyroData); x1s = String(accelData.xData); y1s = String(accelData.yData); z1s = String(accelData.zData); x2s = String(gyroData.xData); y2s = String(gyroData.yData); z2s = String(gyroData.zData); adc1s = String(analogRead(1)); // A0 pininden okuma adc2s = String(analogRead(2)); // A1 pininden okuma } // Bağlantı kontrol et ve veri gönder WiFiClient client = server.available(); if (client) { Serial.println("Yeni bir istemci bağlandı!"); String request = ""; // İstemciyi dinle ve isteklerini al while (client.connected()) { if (client.available()) { char c = client.read(); request += c; if (c == '\n') { break; } } } // Verileri JSON formatında oluştur String data = "{"; data += "\"A0\":\"" + adc1s + "\","; data += "\"A1\":\"" + adc2s + "\","; data += "\"accelx\":\"" + x1s + "\","; data += "\"accely\":\"" + y1s + "\","; data += "\"accelz\":\"" + z1s + "\","; data += "\"gyrox\":\"" + x2s + "\","; data += "\"gyroy\":\"" + y2s + "\","; data += "\"gyroz\":\"" + z2s + "\","; // Zaman damgası ekle data += "\"Ts\":" + String(millis()) + "}"; // HTTP yanıtı gönder client.println("HTTP/1.1 200 OK"); client.println("Content-Type: application/json"); client.println("Connection: close"); client.println(); client.println(data); // JSON verilerini gönder // Bağlantıyı kes client.stop(); Serial.println("İstemci bağlantısı kesildi."); } // Bu döngüde delay yok, sürekli olarak veriler güncellenir. }
Leave a Comment