#include #include #include #include "Adafruit_VL53L0X.h" // declare lcd object for spi // Adafruit_PCD8544(CLK,DIN,D/C,CE,RST); Adafruit_PCD8544 display = Adafruit_PCD8544(18, 23, 4, 15, 2); int contrastValue = 60; // Default Contrast Value const int adcPin = 34; int adcValue = 0; // initialize distance sensor Adafruit_VL53L0X lox = Adafruit_VL53L0X(); void setup() { // initialize display display.begin(); // change contrast display.setContrast(contrastValue); // clear buffer display.clearDisplay(); display.display(); delay(1000); // display setup text display.setTextColor(WHITE, BLACK); display.setCursor(0,1); display.setTextSize(2); display.println("|ESP32|"); display.setTextSize(2); display.setTextColor(BLACK); display.setCursor(0,16); display.println("|Nokia|"); display.setCursor(0,32); display.println("|5110|"); display.display(); if (!lox.begin()) { display.setTextColor(WHITE, BLACK); display.setCursor(0,1); display.setTextSize(2); display.println("|FAIL!|"); display.display(); while(1); } delay(2000); } void loop() { // define measurement variable VL53L0X_RangingMeasurementData_t measure; // clear buffer // need to then display two lines afterward display.clearDisplay(); display.display(); // display dist on the screen display.setTextColor(WHITE, BLACK); display.setCursor(0,1); display.setTextSize(2); display.println("|DIST|"); // get measurement lox.rangingTest(&measure, false); // print for sensor // displays the mm measured by the sensor if (measure.RangeStatus != 4) { // phase failures have incorrect data display.setTextSize(2); display.setTextColor(BLACK); display.setCursor(0,16); display.println(measure.RangeMilliMeter); // display.setCursor(int16_t x, int16_t y); // display.println("mm"); } else { display.setTextSize(2); display.setTextColor(BLACK); display.setCursor(0,16); display.println("|range|"); } // flush buffer display.display(); delay(100); }