Hallo liebe Arduino Freaks,
nach mehreren Stunden komm ich einfach nicht weiter. Ich habe zum einen ein Time of Flight VL53L0X Ardafruit, dieser soll Entfernungen messen und es auf dem Elegoo LCD 2,8" ausgeben. Grundlage Arduino UNO R3.
Eine Messung mit dem TOF und Ausgabe auf dem Seriellen Monitor funktioniert, auch eine Textausgabe auf dem Elegoo LCD funktioniert.
Allerdings nie in Kombination. Könnt ihr mir weiterhelfen wo der Fehler begraben liegt ?
WICHTIG: Ich habe aufgrund des LCD Displays Shields, keinen 5V Anschluss mehr freigehabt und habe dann den Pin13 zweckentfremdet, liegt darin der Fehler ?
Besten Dank.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include "Adafruit_VL53L0X.h"
#include <Elegoo_GFX.h>
#include <Elegoo_TFTLCD.h>
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
Elegoo_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
const int VCC=13;
void setup() {
Serial.begin(9600);
pinMode(VCC, OUTPUT);
digitalWrite(VCC, HIGH); // +5V - Pin 13 as VCC
tft.reset();
tft.begin(0x9341);
// wait until serial port opens for native USB devices
while (! Serial) {
delay(1);
}
Serial.println("Adafruit VL53L0X test");
if (!lox.begin()) {
Serial.println(F("Failed to boot VL53L0X"));
while(1);
}
// power
Serial.println(F("VL53L0X API Simple Ranging example\n\n"));
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
Serial.print("Reading a measurement... ");
lox.rangingTest(&measure, false);
if (measure.RangeStatus != 4) {
tft.fillScreen(BLACK);
tft.setCursor(0, 0);
tft.setTextColor(WHITE); tft.setTextSize(5);
tft.println(measure.RangeMilliMeter);
} else {
tft.println(" out of range ");
}
delay(100);
}