Ein abstand Messgerät für Led-Lampen
Ich brauchte ein Messgerät was mobil ist, wo ich den genauen abstand messen kann, weil ich sehr viele unterschiedliche abstände benötige, zum Beispiel in einer Abstellkammer brauche ich nur paar Zentimeter, ist der Abstand zu groß geht ständig das Licht an und in einen Flur der über acht Meter ist, brauche ich die genaue Position wo der Sensor sein muss, um den ganzen Flur zu erreichen.
Nehmen sie für die Stromversorgung 4 X 1,2 Volt Akkus sie haben dann 5,5 Volt, bitte kontrollieren sie die Volt zahl vorher noch mal.
Die blaue Led zeigt ihnen an, wenn sich eine Statische Person im Bereich sich befindet, diese Zahl ist wichtig beim Einstellen, ist keine Person im Statischen Bereich geht das Licht aus. Es ist kein Bewegungsmelder, sie brauchen sich, nicht bewegen aber das Licht bleibt an.
Die bewegliche anzeige Zahl ist für ein Arduino, da können sie eine Alarmanlage bauen, ein Beispiel für ein Auto oder Fahrrad usw. Da müssen sie denn beweglichen Bereich benutzen.
Was benötigen sie:
1). 4,0 Zoll TFT LCD Touchscreen Modul, Serielles 14 Pin 480×320 HD SPI Touchscreen Display, ILI9488 Treiberchip, Speicherkartensteckplatz, 4,0 Zoll mit Eingabestift
2). ESP32 ESP32D ESP32-WROOM-32D Entwicklungsboard 2.4GHz Dual-Mode WiFi + Bluetooth Dual Cores Microcontroller Processor Integrated with Antenna RF AMP Filter AP STA IDE für Arduino
Meine Wohnung ist komplett, mit dem Sensor LD2410B ausgestattet, auch im Schlafzimmer, erst wenn sie das Bett verlassen geht das Licht an und im Wohnzimmer haben wir drei Bereiche, beim Betreten und beim Rausgehen, dann zwei Sitz Bereiche, wir haben ein großes Wohnzimmer.
Im Bat war es ein bisschen kompliziert, da auch wenn man Unterwasser ist, sollte auch das Licht an bleiben und dann war das mit der dunkelschalt Funktion, die müsste auf die andere Seite seien als die Lampe, also habe ich es mit einer Funkübertragung realisiert, es funktioniert super.
Wir brauchen kein Lichtschalter mehr. Wir hatten erst Flurlampen mit Bewegungsmelder, die sind ganzeinfach nur Müll, immer wenn meine Frau mit den Nachbarn geredet hat ging das Licht aus, sie musste immer mit den Armen rumfuchteln bis das Licht wieder an ging.
Ich kann nicht verstehen warum man in Deutschland keine Lampen mit den Sensor LD2410B und mit einer dunkel Schalter Funktion nicht zu kaufen bekommt.
Alle Lampen laufen über 12 Volt und 12 Watt, sehr hell und extrem Stromsparen!
Ich hoffe das die Chinesen mal, mit diesem Sensor und Dunkelschalter eine Lampe bauen, von Deutschland braucht man das nicht zu erwarten, die haben Fachkräfte Mangel.
Hier nur eine ganz einfache Schaltung:
Mit ESP32 S und ILI9488 LD2410B Arduino IDE
#if defined(ESP32) #ifdef ESP_IDF_VERSION_MAJOR // IDF 4+ #if CONFIG_IDF_TARGET_ESP32 // ESP32/PICO-D4 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 32 #define RADAR_TX_PIN 33 #elif CONFIG_IDF_TARGET_ESP32S2 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 9 #define RADAR_TX_PIN 8 #elif CONFIG_IDF_TARGET_ESP32C3 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 4 #define RADAR_TX_PIN 5 #else #error Target CONFIG_IDF_TARGET is not supported #endif #else // ESP32 Before IDF 4.0 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 32 #define RADAR_TX_PIN 33 #endif #elif defined(__AVR_ATmega32U4__) #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 0 #define RADAR_TX_PIN 1 #endif #include <ld2410.h> #include <TFT_eSPI.h> // Hardware-specific library #include <SPI.h> #include <User_Setups/Setup21_ILI9488.h> TFT_eSPI tft = TFT_eSPI(); // Invoke custom library with default width and height ld2410 radar; uint32_t lastReading = 0; bool radarConnected = false; void setup(void) { tft.init(); // Ausrichtung des Displays anpassen; Diese kann abweichen; Mögl.: 0, 1, 2 und 3 tft.setRotation(3); // Screen leeren indem man ihn mit schwarzer Farbe füllt tft.fillScreen(TFT_BLACK); tft.setTextColor(TFT_WHITE, TFT_BLACK); tft.setTextSize(3); tft.setCursor(50, 30); tft.println("STATISCH"); tft.setTextColor(TFT_WHITE, TFT_BLACK); tft.setCursor(270, 30); tft.println("BEWEGLICH"); tft.setTextColor(TFT_WHITE, TFT_BLACK); tft.setCursor(60, 210); tft.println("in cm"); tft.setTextColor(TFT_WHITE, TFT_BLACK); tft.setCursor(290, 210); tft.println("in cm"); tft.setTextColor(TFT_WHITE, TFT_BLACK); tft.setCursor(60, 270); tft.println("LD 2410 Radarsensor"); MONITOR_SERIAL.begin(115200); //Feedback over Serial Monitor //radar.debug(MONITOR_SERIAL); //Uncomment to show debug information from the library on the Serial Monitor. By default this does not show sensor reads as they are very frequent. #if defined(ESP32) RADAR_SERIAL.begin(256000, SERIAL_8N1, RADAR_RX_PIN, RADAR_TX_PIN); //UART for monitoring the radar #elif defined(__AVR_ATmega32U4__) RADAR_SERIAL.begin(256000); //UART for monitoring the radar #endif delay(2); MONITOR_SERIAL.print(F("\nConnect LD2410 radar TX to GPIO:")); MONITOR_SERIAL.println(RADAR_RX_PIN); MONITOR_SERIAL.print(F("Connect LD2410 radar RX to GPIO:")); MONITOR_SERIAL.println(RADAR_TX_PIN); MONITOR_SERIAL.print(F("LD2410 radar sensor initialising: ")); if(radar.begin(RADAR_SERIAL)) { MONITOR_SERIAL.println(F("OK")); MONITOR_SERIAL.print(F("LD2410 firmware version: ")); MONITOR_SERIAL.print(radar.firmware_major_version); MONITOR_SERIAL.print('.'); MONITOR_SERIAL.print(radar.firmware_minor_version); MONITOR_SERIAL.print('.'); MONITOR_SERIAL.println(radar.firmware_bugfix_version, HEX); } else { MONITOR_SERIAL.println(F("nicht verbunden")); } } void loop() { radar.read(); if(radar.isConnected() && millis() - lastReading > 1000) //Report every 1000ms { lastReading = millis(); if(radar.presenceDetected()) { if(radar.stationaryTargetDetected()) { Serial.print(F("Stationäres Ziel: ")); Serial.print(radar.stationaryTargetDistance()); Serial.print(F("cm Energie:")); Serial.print(radar.stationaryTargetEnergy()); Serial.print(' '); tft.setTextColor(TFT_WHITE, TFT_BLACK); tft.setTextSize(10); tft.setCursor(50, 120); tft.print(radar.stationaryTargetDistance()); tft.print(' '); delay(2); } if(radar.movingTargetDetected()) { Serial.print(F("Bewegliches Ziel: ")); Serial.print(radar.movingTargetDistance()); Serial.print(F("cm Energie:")); Serial.print(radar.movingTargetEnergy()); delay(2); tft.setTextColor(TFT_WHITE, TFT_BLACK); tft.setTextSize(10); tft.setCursor(290, 120); //tft.println("Wert in cm"); tft.print(radar.movingTargetDistance()); tft.print(' '); delay(2); } Serial.println(); delay(2); } else { Serial.println(F("No target")); } } }
Nur ESP32 S und LD2410B Arduino IDE
#if defined(ESP32) #ifdef ESP_IDF_VERSION_MAJOR // IDF 4+ #if CONFIG_IDF_TARGET_ESP32 // ESP32/PICO-D4 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 32 #define RADAR_TX_PIN 33 #elif CONFIG_IDF_TARGET_ESP32S2 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 9 #define RADAR_TX_PIN 8 #elif CONFIG_IDF_TARGET_ESP32C3 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 4 #define RADAR_TX_PIN 5 #else #error Target CONFIG_IDF_TARGET is not supported #endif #else // ESP32 Before IDF 4.0 #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 32 #define RADAR_TX_PIN 33 #endif #elif defined(__AVR_ATmega32U4__) #define MONITOR_SERIAL Serial #define RADAR_SERIAL Serial1 #define RADAR_RX_PIN 0 #define RADAR_TX_PIN 1 #endif #include <ld2410.h> ld2410 radar; uint32_t lastReading = 0; bool radarConnected = false; void setup(void) { MONITOR_SERIAL.begin(115200); //Feedback over Serial Monitor //radar.debug(MONITOR_SERIAL); //Uncomment to show debug information from the library on the Serial Monitor. By default this does not show sensor reads as they are very frequent. #if defined(ESP32) RADAR_SERIAL.begin(256000, SERIAL_8N1, RADAR_RX_PIN, RADAR_TX_PIN); //UART for monitoring the radar #elif defined(__AVR_ATmega32U4__) RADAR_SERIAL.begin(256000); //UART for monitoring the radar #endif delay(500); MONITOR_SERIAL.print(F("\nConnect LD2410 radar TX to GPIO:")); MONITOR_SERIAL.println(RADAR_RX_PIN); MONITOR_SERIAL.print(F("Connect LD2410 radar RX to GPIO:")); MONITOR_SERIAL.println(RADAR_TX_PIN); MONITOR_SERIAL.print(F("LD2410 radar sensor initialising: ")); if(radar.begin(RADAR_SERIAL)) { MONITOR_SERIAL.println(F("OK")); MONITOR_SERIAL.print(F("LD2410 firmware version: ")); MONITOR_SERIAL.print(radar.firmware_major_version); MONITOR_SERIAL.print('.'); MONITOR_SERIAL.print(radar.firmware_minor_version); MONITOR_SERIAL.print('.'); MONITOR_SERIAL.println(radar.firmware_bugfix_version, HEX); } else { MONITOR_SERIAL.println(F("nicht verbunden")); } } void loop() { radar.read(); if(radar.isConnected() && millis() - lastReading > 1000) //Report every 1000ms { lastReading = millis(); if(radar.presenceDetected()) { if(radar.stationaryTargetDetected()) { Serial.print(F("Stationäres Ziel: ")); Serial.print(radar.stationaryTargetDistance()); Serial.print(F("cm Energie:")); Serial.print(radar.stationaryTargetEnergy()); Serial.print(' '); } if(radar.movingTargetDetected()) { Serial.print(F("Bewegliches Ziel: ")); Serial.print(radar.movingTargetDistance()); Serial.print(F("cm Energie:")); Serial.print(radar.movingTargetEnergy()); } Serial.println(); } else { Serial.println(F("No target")); } } }