Skip to content
Snippets Groups Projects
Commit 214f6a54 authored by Rene Ebeling's avatar Rene Ebeling
Browse files

Flowchart

parent 7f3eaeea
No related branches found
No related tags found
No related merge requests found
/** /**
****************************************************************************** ******************************************************************************
* @file VL53L7CX_Sat_HelloWorld.ino * @file VL53L7CX_Sat_HelloWorld.ino
...@@ -54,10 +55,10 @@ ...@@ -54,10 +55,10 @@
#include <Wire.h> #include <Wire.h>
#include <ArduinoJson.h> #include <ArduinoJson.h>
#include <vl53l7cx_class.h> #include <vl53l7cx_class.h>
#include "74HC154.h"
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <PCF8575.h>
#include <stdint.h> #include <stdint.h>
#include <assert.h> #include <assert.h>
#include <stdlib.h> #include <stdlib.h>
...@@ -70,37 +71,13 @@ ...@@ -70,37 +71,13 @@
#endif #endif
#define LedPin LED_BUILTIN #define LedPin LED_BUILTIN
#define LPN_PIN0 14
#define LPN_PIN1 15
#define LPN_PIN2 9 #define I2C_RST_PIN 99
#define LPN_PIN3 12 #define LPN_PIN0 0
#define LPN_PIN4 99 #define LPN_PIN1 1
#define LPN_PIN5 99 #define LPN_PIN2 2
#define LPN_PIN6 99 #define LPN_PIN3 3
#define LPN_PIN7 99
#define LPN_PIN8 99
#define LPN_PIN9 99
#define LPN_PIN10 99
#define LPN_PIN11 99
#define LPN_PIN12 99
#define LPN_PIN13 99
#define LPN_PIN14 99
#define LPN_PIN15 99
#define LPN_PIN16 99
#define LPN_PIN17 99
#define LPN_PIN1 15
#define I2C_RST_PIN 27
#define LPN_PIN2 9
uint16_t dataPin0 = 18;
uint16_t latchPin0 = 17;
uint16_t clockPin0 = 16;
uint16_t dataPin1 = 13;
uint16_t latchPin1 = 14;
uint16_t clockPin1 = 15;
uint16_t sensoraddress0 = 0x30; uint16_t sensoraddress0 = 0x30;
uint16_t sensoraddress1 = 0x31; uint16_t sensoraddress1 = 0x31;
...@@ -125,15 +102,17 @@ uint16_t sensoraddress17 = 0x41; ...@@ -125,15 +102,17 @@ uint16_t sensoraddress17 = 0x41;
uint16_t wait_for_i2c = 50; uint16_t wait_for_i2c = 50;
uint16_t imageWidth = 8; uint16_t imageWidth = 8;
uint16_t ranging_frequency = 15; uint16_t ranging_frequency = 15;
pin_size_t SDA_PIN1 = 2; pin_size_t SDA_PIN1 = 26;
pin_size_t SCL_PIN1 = 3; pin_size_t SCL_PIN1 = 27;
JsonDocument doc; JsonDocument doc;
// Components. // Components.
VL53L7CX sensor0(&DEV_I2C0, LPN_PIN0, I2C_RST_PIN); PCF8575 PCF(0x20, &DEV_I2C1);
VL53L7CX sensor1(&DEV_I2C0, LPN_PIN1, I2C_RST_PIN); VL53L7CX sensor0(&DEV_I2C1, 99, I2C_RST_PIN);
VL53L7CX sensor2(&DEV_I2C0, LPN_PIN2, I2C_RST_PIN); VL53L7CX sensor1(&DEV_I2C1, 99, I2C_RST_PIN);
VL53L7CX sensor3(&DEV_I2C0, LPN_PIN3, I2C_RST_PIN); VL53L7CX sensor2(&DEV_I2C1, 99, I2C_RST_PIN);
/*
VL53L7CX sensor3(&DEV_I2C1, 99, I2C_RST_PIN);
VL53L7CX sensor4(&DEV_I2C0, LPN_PIN4, I2C_RST_PIN); VL53L7CX sensor4(&DEV_I2C0, LPN_PIN4, I2C_RST_PIN);
VL53L7CX sensor5(&DEV_I2C0, LPN_PIN5, I2C_RST_PIN); VL53L7CX sensor5(&DEV_I2C0, LPN_PIN5, I2C_RST_PIN);
VL53L7CX sensor6(&DEV_I2C0, LPN_PIN6, I2C_RST_PIN); VL53L7CX sensor6(&DEV_I2C0, LPN_PIN6, I2C_RST_PIN);
...@@ -148,8 +127,7 @@ VL53L7CX sensor14(&DEV_I2C1, LPN_PIN14, I2C_RST_PIN); ...@@ -148,8 +127,7 @@ VL53L7CX sensor14(&DEV_I2C1, LPN_PIN14, I2C_RST_PIN);
VL53L7CX sensor15(&DEV_I2C1, LPN_PIN15, I2C_RST_PIN); VL53L7CX sensor15(&DEV_I2C1, LPN_PIN15, I2C_RST_PIN);
VL53L7CX sensor16(&DEV_I2C1, LPN_PIN16, I2C_RST_PIN); VL53L7CX sensor16(&DEV_I2C1, LPN_PIN16, I2C_RST_PIN);
VL53L7CX sensor17(&DEV_I2C1, LPN_PIN17, I2C_RST_PIN); VL53L7CX sensor17(&DEV_I2C1, LPN_PIN17, I2C_RST_PIN);
*/
void blink_led_loop(void);
void blink_led_loop(void) void blink_led_loop(void)
{ {
...@@ -166,31 +144,38 @@ void blink_led_loop(void) ...@@ -166,31 +144,38 @@ void blink_led_loop(void)
void setup() void setup()
{ {
// Led. // Led.
delay(4000);
pinMode(LedPin, OUTPUT); pinMode(LedPin, OUTPUT);
pinMode(LPN_PIN0, OUTPUT); digitalWrite(LedPin, HIGH);
pinMode(LPN_PIN1, OUTPUT);
pinMode(LPN_PIN2, OUTPUT);
pinMode(LPN_PIN3, OUTPUT);
Serial.begin(115200); Serial.begin(115200);
Serial.println("Initialize... Please wait, it may take few seconds..."); Serial.println("Initialize... Please wait, it may take few seconds...");
// Initialize I2C bus. // Initialize I2C bus.
DEV_I2C0.begin(); DEV_I2C0.begin();
DEV_I2C0.setClock(1000000); DEV_I2C0.setClock(400000);
delay(50); delay(50);
DEV_I2C1.setSCL(SCL_PIN1); DEV_I2C1.setSCL(SCL_PIN1);
DEV_I2C1.setSDA(SDA_PIN1); DEV_I2C1.setSDA(SDA_PIN1);
DEV_I2C1.begin(); DEV_I2C1.begin();
DEV_I2C1.setClock(1000000); DEV_I2C1.setClock(400000);
if (!PCF.begin())
{
Serial.println("could not initialize...");
}
if (!PCF.isConnected())
{
Serial.println("=> not connected");
while(1);
}
delay(50); delay(50);
// Initialize and configure sensors // Initialize and configure sensors
Serial.println("Initializing sensors..."); Serial.println("Initializing sensors...");
i2cScanner();
initializeSensor(sensor0, sensoraddress0, LPN_PIN0, I2C_RST_PIN); initializeSensor(sensor0, sensoraddress0, LPN_PIN0, I2C_RST_PIN);
i2cScanner(); i2cScanner();
...@@ -199,52 +184,52 @@ void setup() ...@@ -199,52 +184,52 @@ void setup()
initializeSensor(sensor2, sensoraddress2, LPN_PIN2, I2C_RST_PIN); initializeSensor(sensor2, sensoraddress2, LPN_PIN2, I2C_RST_PIN);
i2cScanner(); // Perform I2C scan i2cScanner(); // Perform I2C scan
/*
initializeSensor(sensor3, sensoraddress3, LPN_PIN3, I2C_RST_PIN); initializeSensor(sensor3, sensoraddress3, LPN_PIN3, I2C_RST_PIN);
i2cScanner(); // Perform I2C scan i2cScanner(); // Perform I2C scan
// initializeSensor(sensor4, sensoraddress4, LPN_PIN4, I2C_RST_PIN); initializeSensor(sensor4, sensoraddress4, LPN_PIN4, I2C_RST_PIN);
// i2cScanner(); i2cScanner();
// initializeSensor(sensor5, sensoraddress5, LPN_PIN5, I2C_RST_PIN); initializeSensor(sensor5, sensoraddress5, LPN_PIN5, I2C_RST_PIN);
// i2cScanner(); // Perform I2C scan i2cScanner(); // Perform I2C scan
// initializeSensor(sensor6, sensoraddress6, LPN_PIN6, I2C_RST_PIN); // initializeSensor(sensor6, sensoraddress6, LPN_PIN6, I2C_RST_PIN);
// i2cScanner(); // Perform I2C scan // i2cScanner(); // Perform I2C scan
// initializeSensor(sensor7, sensoraddress7, LPN_PIN7, I2C_RST_PIN); initializeSensor(sensor7, sensoraddress7, LPN_PIN7, I2C_RST_PIN);
// i2cScanner(); // Perform I2C scan i2cScanner(); // Perform I2C scan
// initializeSensor(sensor8, sensoraddress8, LPN_PIN8, I2C_RST_PIN); initializeSensor(sensor8, sensoraddress8, LPN_PIN8, I2C_RST_PIN);
// i2cScanner(); i2cScanner();
// initializeSensor(sensor9, sensoraddress9, LPN_PIN9, I2C_RST_PIN); initializeSensor(sensor9, sensoraddress9, LPN_PIN9, I2C_RST_PIN);
// i2cScanner(); // Perform I2C scan i2cScanner(); // Perform I2C scan
// initializeSensor(sensor10, sensoraddress10, LPN_PIN10, I2C_RST_PIN); // initializeSensor(sensor10, sensoraddress10, LPN_PIN10, I2C_RST_PIN);
// i2cScanner(); // Perform I2C scan // i2cScanner(); // Perform I2C scan
// initializeSensor(sensor11, sensoraddress11, LPN_PIN11, I2C_RST_PIN); initializeSensor(sensor11, sensoraddress11, LPN_PIN11, I2C_RST_PIN);
// i2cScanner(); // Perform I2C scan i2cScanner(); // Perform I2C scan
// initializeSensor(sensor12, sensoraddress12, LPN_PIN12, I2C_RST_PIN);
// i2cScanner();
// initializeSensor(sensor13, sensoraddress13, LPN_PIN13, I2C_RST_PIN); initializeSensor(sensor12, sensoraddress12, LPN_PIN12, I2C_RST_PIN);
// i2cScanner(); // Perform I2C scan i2cScanner();
// initializeSensor(sensor14, sensoraddress14, LPN_PIN14, I2C_RST_PIN); initializeSensor(sensor13, sensoraddress13, LPN_PIN13, I2C_RST_PIN);
// i2cScanner(); // Perform I2C scan i2cScanner(); // Perform I2C scan
// initializeSensor(sensor15, sensoraddress15, LPN_PIN15, I2C_RST_PIN); initializeSensor(sensor14, sensoraddress14, LPN_PIN14, I2C_RST_PIN);
// i2cScanner(); // Perform I2C scan i2cScanner(); // Perform I2C scan
// initializeSensor(sensor16, sensoraddress16, LPN_PIN16, I2C_RST_PIN); initializeSensor(sensor15, sensoraddress15, LPN_PIN15, I2C_RST_PIN);
// i2cScanner(); i2cScanner(); // Perform I2C scan
// initializeSensor(sensor17, sensoraddress17, LPN_PIN17, I2C_RST_PIN); initializeSensor(sensor16, sensoraddress16, LPN_PIN16, I2C_RST_PIN);
// i2cScanner(); // Perform I2C scan i2cScanner();
initializeSensor(sensor17, sensoraddress17, LPN_PIN17, I2C_RST_PIN);
i2cScanner(); // Perform I2C scan
*/
Serial.println("All sensors initialized successfully."); Serial.println("All sensors initialized successfully.");
} }
...@@ -258,9 +243,10 @@ void loop() { ...@@ -258,9 +243,10 @@ void loop() {
// Process each sensor data and save to respective JSON arrays // Process each sensor data and save to respective JSON arrays
processSensorData(sensor0, Results0, doc["sensor0"].to<JsonArray>(), "sensor0"); processSensorData(sensor0, Results0, doc["sensor0"].to<JsonArray>(), "sensor0");
processSensorData(sensor1, Results1, doc["sensor1"].to<JsonArray>(), "sensor1"); processSensorData(sensor1, Results1, doc["sensor1"].to<JsonArray>(), "sensor1");
/*
processSensorData(sensor2, Results2, doc["sensor2"].to<JsonArray>(), "sensor2"); processSensorData(sensor2, Results2, doc["sensor2"].to<JsonArray>(), "sensor2");
processSensorData(sensor3, Results3, doc["sensor3"].to<JsonArray>(), "sensor3"); processSensorData(sensor3, Results3, doc["sensor3"].to<JsonArray>(), "sensor3");
*/
// Serialize the JSON document and print to Serial // Serialize the JSON document and print to Serial
serializeJson(doc, Serial); serializeJson(doc, Serial);
Serial.println(); Serial.println();
...@@ -271,8 +257,8 @@ bool i2cScanner() ...@@ -271,8 +257,8 @@ bool i2cScanner()
bool status = false; bool status = false;
for (byte address = 1; address < 127; address++ ) for (byte address = 1; address < 127; address++ )
{ {
Wire.beginTransmission(address); DEV_I2C1.beginTransmission(address);
if (Wire.endTransmission() == 0) if (DEV_I2C1.endTransmission() == 0)
{ {
Serial.print("Device found at address 0x"); Serial.print("Device found at address 0x");
if (address < 0x10) if (address < 0x10)
...@@ -285,17 +271,18 @@ bool i2cScanner() ...@@ -285,17 +271,18 @@ bool i2cScanner()
status = false; status = false;
} }
} }
delay(wait_for_i2c);
} }
Serial.println();
delay(wait_for_i2c);
return status; return status;
} }
void initializeSensor(VL53L7CX &sensor, uint16_t sensorAddress, int lpnPin, int i2cRstPin) { void initializeSensor(VL53L7CX &sensor, uint16_t sensorAddress, int lpnPin, int i2cRstPin) {
LPn0(lpnPin, true);
delay(wait_for_i2c); delay(wait_for_i2c);
sensor.begin(); PCF.write16(0x0);
delay(wait_for_i2c);
PCF.write(lpnPin, HIGH);
delay(wait_for_i2c); delay(wait_for_i2c);
sensor.init_sensor(); sensor.init_sensor();
delay(wait_for_i2c); delay(wait_for_i2c);
...@@ -314,8 +301,8 @@ void initializeSensor(VL53L7CX &sensor, uint16_t sensorAddress, int lpnPin, int ...@@ -314,8 +301,8 @@ void initializeSensor(VL53L7CX &sensor, uint16_t sensorAddress, int lpnPin, int
sensor.vl53l7cx_start_ranging(); sensor.vl53l7cx_start_ranging();
delay(wait_for_i2c); delay(wait_for_i2c);
// Reset LPN and I2C pins // Reset LPN
LPn0(lpnPin, false); PCF.write(lpnPin, LOW);
} }
void processSensorData(VL53L7CX &sensor, VL53L7CX_ResultsData &results, const JsonArray& data, const char* sensorKey) { void processSensorData(VL53L7CX &sensor, VL53L7CX_ResultsData &results, const JsonArray& data, const char* sensorKey) {
...@@ -340,109 +327,6 @@ void processSensorData(VL53L7CX &sensor, VL53L7CX_ResultsData &results, const Js ...@@ -340,109 +327,6 @@ void processSensorData(VL53L7CX &sensor, VL53L7CX_ResultsData &results, const Js
for (int x = 0; x <= imageWidth - 1; x++) { for (int x = 0; x <= imageWidth - 1; x++) {
sensorData.add(results.distance_mm[VL53L7CX_NB_TARGET_PER_ZONE * (x + y)]); sensorData.add(results.distance_mm[VL53L7CX_NB_TARGET_PER_ZONE * (x + y)]);
} }
void I2C_RST(int dataPin, int latchPin, int clockPin){
uint8_t Pin_byte1 = 0b11111111; // For pins 0-7
uint8_t Pin_byte2 = 0b11111111; // For pins 8-15
uint8_t Pin_byte3 = 0b11111111; // For pins 16-23
// Update the correct byte based on Pin
digitalWrite(latchPin, LOW);
// Shift out the bits
shiftOut(dataPin, clockPin, MSBFIRST, Pin_byte3); // Send byte for pins 16-23
shiftOut(dataPin, clockPin, MSBFIRST, Pin_byte2); // Send byte for pins 8-15
shiftOut(dataPin, clockPin, MSBFIRST, Pin_void I2C_RST(int dataPin, int latchPin, int clockPin){
uint8_t Pin_byte1 = 0b11111111; // For pins 0-7
uint8_t Pin_byte2 = 0b11111111; // For pins 8-15
uint8_t Pin_byte3 = 0b11111111; // For pins 16-23
// Update the correct byte based on Pin
digitalWrite(latchPin, LOW);
// Shift out the bits
shiftOut(dataPin, clockPin, MSBFIRST, Pin_byte3); // Send byte for pins 16-23
shiftOut(dataPin, clockPin, MSBFIRST, Pin_byte2); // Send byte for pins 8-15
shiftOut(dataPin, clockPin, MSBFIRST, Pin_byte1); // Send byte for pins 0-7
digitalWrite(latchPin, HIGH);
delay(200);
}
void LPn0(uint16_t Pin, bool on) {
uint8_t Pin_byte1 = 0b00000000; // For pins 0-7
uint8_t Pin_byte2 = 0b00000000; // For pins 8-15
// Update the correct byte based on Pin
if (Pin <= 7) {
Pin_byte1 |= (on << Pin); // Set the corresponding bit in Pin_byte1
} else if (Pin <= 15) {
Pin_byte2 |= (on << (Pin - 8)); // Set the corresponding bit in Pin_byte2
}
digitalWrite(latchPin0, LOW);
// Shift out the bits
shiftOut(dataPin0, clockPin0, MSBFIRST, Pin_byte2); // Send byte for pins 8-15
shiftOut(dataPin0, clockPin0, MSBFIRST, Pin_byte1); // Send byte for pins 0-7
digitalWrite(latchPin0, HIGH);
}
void LPn1(uint16_t Pin, bool on) {
uint8_t Pin_byte1 = 0b00000000; // For pins 0-7
uint8_t Pin_byte2 = 0b00000000; // For pins 8-15
// Update the correct byte based on Pin
if (Pin <= 7) {
Pin_byte1 |= (on << Pin); // Set the corresponding bit in Pin_byte1
} else if (Pin <= 15) {
Pin_byte2 |= (on << (Pin - 8)); // Set the corresponding bit in Pin_byte2
}
digitalWrite(latchPin1, LOW);
// Shift out the bits
shiftOut(dataPin1, clockPin1, MSBFIRST, Pin_byte2); // Send byte for pins 8-15
shiftOut(dataPin1, clockPin1, MSBFIRST, Pin_byte1); // Send byte for pins 0-7
digitalWrite(latchPin1, HIGH);
}byte1); // Send byte for pins 0-7
digitalWrite(latchPin, HIGH);
delay(200);
}
void LPn0(uint16_t Pin, bool on) {
uint8_t Pin_byte1 = 0b00000000; // For pins 0-7
uint8_t Pin_byte2 = 0b00000000; // For pins 8-15
// Update the correct byte based on Pin
if (Pin <= 7) {
Pin_byte1 |= (on << Pin); // Set the corresponding bit in Pin_byte1
} else if (Pin <= 15) {
Pin_byte2 |= (on << (Pin - 8)); // Set the corresponding bit in Pin_byte2
}
digitalWrite(latchPin0, LOW);
// Shift out the bits
shiftOut(dataPin0, clockPin0, MSBFIRST, Pin_byte2); // Send byte for pins 8-15
shiftOut(dataPin0, clockPin0, MSBFIRST, Pin_byte1); // Send byte for pins 0-7
digitalWrite(latchPin0, HIGH);
}
void LPn1(uint16_t Pin, bool on) {
uint8_t Pin_byte1 = 0b00000000; // For pins 0-7
uint8_t Pin_byte2 = 0b00000000; // For pins 8-15
// Update the correct byte based on Pin
if (Pin <= 7) {
Pin_byte1 |= (on << Pin); // Set the corresponding bit in Pin_byte1
} else if (Pin <= 15) {
Pin_byte2 |= (on << (Pin - 8)); // Set the corresponding bit in Pin_byte2
}
digitalWrite(latchPin1, LOW);
// Shift out the bits
shiftOut(dataPin1, clockPin1, MSBFIRST, Pin_byte2); // Send byte for pins 8-15
shiftOut(dataPin1, clockPin1, MSBFIRST, Pin_byte1); // Send byte for pins 0-7
digitalWrite(latchPin1, HIGH);
}
} }
} }
...@@ -450,57 +334,3 @@ void LPn1(uint16_t Pin, bool on) { ...@@ -450,57 +334,3 @@ void LPn1(uint16_t Pin, bool on) {
digitalWrite(LedPin, LOW); digitalWrite(LedPin, LOW);
} }
void I2C_RST(int dataPin, int latchPin, int clockPin){
uint8_t Pin_byte1 = 0b11111111; // For pins 0-7
uint8_t Pin_byte2 = 0b11111111; // For pins 8-15
uint8_t Pin_byte3 = 0b11111111; // For pins 16-23
// Update the correct byte based on Pin
digitalWrite(latchPin, LOW);
// Shift out the bits
shiftOut(dataPin, clockPin, MSBFIRST, Pin_byte3); // Send byte for pins 16-23
shiftOut(dataPin, clockPin, MSBFIRST, Pin_byte2); // Send byte for pins 8-15
shiftOut(dataPin, clockPin, MSBFIRST, Pin_byte1); // Send byte for pins 0-7
digitalWrite(latchPin, HIGH);
delay(200);
}
void LPn0(uint16_t Pin, bool on) {
uint8_t Pin_byte1 = 0b00000000; // For pins 0-7
uint8_t Pin_byte2 = 0b00000000; // For pins 8-15
// Update the correct byte based on Pin
if (Pin <= 7) {
Pin_byte1 |= (on << Pin); // Set the corresponding bit in Pin_byte1
} else if (Pin <= 15) {
Pin_byte2 |= (on << (Pin - 8)); // Set the corresponding bit in Pin_byte2
}
digitalWrite(latchPin0, LOW);
// Shift out the bits
shiftOut(dataPin0, clockPin0, MSBFIRST, Pin_byte2); // Send byte for pins 8-15
shiftOut(dataPin0, clockPin0, MSBFIRST, Pin_byte1); // Send byte for pins 0-7
digitalWrite(latchPin0, HIGH);
}
void LPn1(uint16_t Pin, bool on) {
uint8_t Pin_byte1 = 0b00000000; // For pins 0-7
uint8_t Pin_byte2 = 0b00000000; // For pins 8-15
// Update the correct byte based on Pin
if (Pin <= 7) {
Pin_byte1 |= (on << Pin); // Set the corresponding bit in Pin_byte1
} else if (Pin <= 15) {
Pin_byte2 |= (on << (Pin - 8)); // Set the corresponding bit in Pin_byte2
}
digitalWrite(latchPin1, LOW);
// Shift out the bits
shiftOut(dataPin1, clockPin1, MSBFIRST, Pin_byte2); // Send byte for pins 8-15
shiftOut(dataPin1, clockPin1, MSBFIRST, Pin_byte1); // Send byte for pins 0-7
digitalWrite(latchPin1, HIGH);
}
No preview for this file type
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:137.0) Gecko/20100101 Firefox/137.0" version="26.2.14">
<diagram name="Seite-1" id="6M1LCZoZGZ4QGx566Q5F">
<mxGraphModel dx="1188" dy="626" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="2" value="Distanzen zwischen Sensoren und Umgebung" style="whiteSpace=wrap;strokeWidth=2;" parent="1" vertex="1">
<mxGeometry x="217" y="30" width="127" height="62" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-44" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="33X4tJl66k_FHWsIR2in-48" target="7">
<mxGeometry relative="1" as="geometry">
<mxPoint x="280.5" y="253" as="sourcePoint" />
<mxPoint x="280.5" y="373.5" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-45" value="&lt;div&gt;Wire &amp;amp; Wire1&lt;br&gt;(I2C-Interface)&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="33X4tJl66k_FHWsIR2in-44">
<mxGeometry x="0.0056" y="3" relative="1" as="geometry">
<mxPoint x="38" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="7" value="Raspberry Pi Pico" style="whiteSpace=wrap;strokeWidth=2;" parent="1" vertex="1">
<mxGeometry x="185.5" y="320" width="190" height="78" as="geometry" />
</mxCell>
<mxCell id="17" value="" style="curved=1;startArrow=none;endArrow=block;exitX=0.5;exitY=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2" target="33X4tJl66k_FHWsIR2in-48" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points" />
<mxPoint x="280.5" y="112" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-49" value="Time of Flight" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="17">
<mxGeometry x="0.0588" y="2" relative="1" as="geometry">
<mxPoint x="38" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="24" value="" style="curved=0;startArrow=none;endArrow=block;exitX=0.5;exitY=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="7" target="33X4tJl66k_FHWsIR2in-51" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points" />
<mxPoint x="280" y="470" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-46" value="&lt;div&gt;JSON-String&lt;/div&gt;&lt;div&gt;via UART&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="24">
<mxGeometry x="-0.0217" y="1" relative="1" as="geometry">
<mxPoint x="39" y="-3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-48" value="18 VL53L7CX&lt;br&gt;(ToF-Sensoren)" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="220.5" y="160" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-53" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="33X4tJl66k_FHWsIR2in-51" target="33X4tJl66k_FHWsIR2in-52">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-54" value="pointcloud2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="33X4tJl66k_FHWsIR2in-53">
<mxGeometry x="-0.1747" y="2" relative="1" as="geometry">
<mxPoint x="38" y="5" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-51" value="serial_to_pointcloud2" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200.5" y="500" width="160" height="80" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-56" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="33X4tJl66k_FHWsIR2in-52" target="33X4tJl66k_FHWsIR2in-55">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-57" value="Int32" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="33X4tJl66k_FHWsIR2in-56">
<mxGeometry x="-0.0372" y="-2" relative="1" as="geometry">
<mxPoint x="22" y="-4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-59" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="33X4tJl66k_FHWsIR2in-52" target="33X4tJl66k_FHWsIR2in-58">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-60" value="pointcloud2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="33X4tJl66k_FHWsIR2in-59">
<mxGeometry x="-0.0093" y="-3" relative="1" as="geometry">
<mxPoint x="3" y="7" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-52" value="pcl_rob_node" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200.5" y="640" width="160" height="80" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-55" value="moveit2_stop_node" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="220.5" y="770" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-58" value="RVIZ2" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="450" y="630" width="100" height="100" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-61" value="Physical/Hardware" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="100" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-62" value="ROS2 Node" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="200" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-63" value="Visualization Tool" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="299.5" width="120" height="119" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-65" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="33X4tJl66k_FHWsIR2in-64" target="33X4tJl66k_FHWsIR2in-51">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-66" value="Tf- Matrix" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="33X4tJl66k_FHWsIR2in-65">
<mxGeometry x="0.1206" relative="1" as="geometry">
<mxPoint x="-9" y="-20" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="33X4tJl66k_FHWsIR2in-64" value="TF2" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="10" y="500" width="120" height="80" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
Bachelorarbeit/Flowchart_Ba.drawio.png

115 KiB

File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment