Unser AZ-Delivery Time-of-Flight (ToF) Laser-Distanzsensor kann in vielen Anwendungen eingesetzt werden. Heute zeigen wir Ihnen eines der spannenden Projekte, in denen Sie ihn einsetzen können. Unser TOF-Sensor kann im Normalmodus Entfernungen von bis zu 1 m mit einer Auflösung von 1 mm messen. Im Langstreckenmodus kann der Sensor Entfernungen von bis zu 2 m melden, allerdings mit geringerer Genauigkeit. Wir haben den ToF-Sensor zusammen mit einem ESP32, einem OLED-Display und einem Buck-Converter in einem 3D-gedruckten Gehäuse untergebracht und erhalten ein praktisches Gadget, das uns die Entfernung auf seinem 0,91-Zoll-Bildschirm anzeigt.
! Achtung: Wenn das Video bei Ihnen nicht angezeigt wird, sollten Sie Ihre Cookie Einstellungen überprüfen. Sie müssen alle Cookies akzeptieren, damit das Video sichtbar ist!
Hier finden Sie den Abstandssensor:
VL53L0X Time-of-Flight (ToF) Laser Abstandssensor
Verdrahtung:
Code:
/* ___ _____ ____ ___ / /__ / / __ \___ / (_) _____ _______ __ / /| | / / ______/ / / / _ \/ / / | / / _ \/ ___/ / / / / ___ |/ /_/_____/ /_/ / __/ / /| |/ / __/ / / /_/ / /_/ |_/____/ /_____/\___/_/_/ |___/\___/_/ \__, / /____/ Produkt, Datenblatt und Pinout unter: https://www.az-delivery.de/ Projekt: DIY Abstandssensor mit ToF Sensor Datum: 11/2022 */ #include <Arduino.h> #include <Wire.h> // for the ToF Sensor #include <VL53L0X.h> // for the ToF Sensor #include <Adafruit_GFX.h> // for the oled Display #include <Adafruit_SSD1306.h> // for the oled Display int btn = 16; // FoT Sensor VL53L0X sensor; unsigned int measurement; // Oled Display #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 32 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); void showMeasurement() { measurement = sensor.readRangeSingleMillimeters(); display.clearDisplay(); if (measurement >= 10 && measurement < 100) display.setCursor(36, 0); else if (measurement >= 100 && measurement < 1000) display.setCursor(18, 0); else display.setCursor(0, 0); display.print(measurement); display.setCursor(92, 0); display.print("mm"); display.display(); } void setup() { Serial.begin(115200); pinMode(btn, INPUT); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.setTextSize(3); display.setTextColor(WHITE); display.clearDisplay(); display.display(); Wire.begin(); sensor.setTimeout(500); if (!sensor.init()) { Serial.println("Failed to detect and initialize sensor!"); while (1) { } } sensor.setMeasurementTimingBudget(200000); // increase timing budget to 200 ms for more accuracy } void loop() { if (digitalRead(btn) == HIGH) { showMeasurement(); } }
2 commentaires
Willem
Ein sehr schönes Projekt, wo kann ich das 3D gedruckte Gehäuse finden. Ich kann keinen Link dazu finden
Danke im voraus
Robert Kranich
Ein ganz großartiges Projekt, danke!