Skip to content
Snippets Groups Projects

Nacharbeit-11155812

1 file
+ 142
0
Compare changes
  • Side-by-side
  • Inline
 
/***************************************************
 
________ ___ _________ ________ ________
 
|\ __ \|\ \|\___ ___\\ ____\|\_____ \
 
\ \ \|\ /\ \ \|___ \ \_\ \ \___|\|____|\ /_
 
\ \ __ \ \ \ \ \ \ \ \_____ \ \|\ \
 
\ \ \|\ \ \ \ \ \ \ \|____|\ \ __\_\ \
 
\ \_______\ \__\ \ \__\ ____\_\ \|\_______\
 
\|_______|\|__| \|__| |\_________\|_______|
 
\|_________|
 
 
Name:
 
- Nacharbeit-11155812
 
 
Description:
 
- Code für die Ausgabe der Encoder- und
 
Ultraschall-Sensorwerte
 
 
Author:
 
- Mültici Halit
 
 
**************************************************/
 
 
/* ******************************* *
 
Kommunikation des Arduino Megas
 
* ******************************* */
 
 
//Kommunikation über die USB-Schnittstelle (Serial) oder über WiFi (ESP32 Modul)?
 
#define SERIAL_COMMUNICATION
 
// #define WIFI_COMMUNICATION
 
 
#ifdef SERIAL_COMMUNICATION
 
#define _println_(x) Serial.println(x)
 
#define _print_(x) Serial.print(x)
 
#else
 
#ifdef WIFI_COMMUNICATION
 
#define _println_(x) Serial3.println(x)
 
#define _print_(x) Serial3.print(x)
 
#else
 
#define _println_(x)
 
#define _print_(x)
 
#endif
 
#endif
 
 
/* ************************************** *
 
Einbinden aller benötigten Komponenten
 
* ************************************** */
 
 
#include "config.h"
 
#include "basic_functions.h"
 
#include "custom_config.h"
 
#include "custom_functions.h"
 
 
 
/* *************** *
 
Initialisierung
 
* *************** */
 
 
void setup() {
 
// Hier wird entschieden wie die Serielle Kommunikation vom Mega erfolgen soll.
 
#ifdef SERIAL_COMMUNICATION
 
Serial.begin(115200);
 
#endif
 
#ifdef WIFI_COMMUNICATION
 
Serial3.begin(115200);
 
#endif
 
 
// Starten der I2C Kommunikation
 
Wire.begin();
 
 
// Initialisierung der optischen Time-of-Flight Sensoren
 
tof_controller.init();
 
 
// Initialisierung der LED-Streifen
 
front_strip.init();
 
back_strip.init();
 
left_strip.init();
 
right_strip.init();
 
 
// Pin deklaration der Ultraschallsensoren
 
pinMode(TRIGF, OUTPUT);
 
pinMode(TRIGB, OUTPUT);
 
pinMode(ECHOF, INPUT);
 
pinMode(ECHOB, INPUT);
 
 
// Initialisierung des Motors
 
Motor.init();
 
 
// Initialisierung der Servomotoren
 
ServoSteer.begin();
 
//ServoSearch.begin();
 
 
// Initialisierung der Kommunikation
 
ir_sensor.begin(IR_PIN);
 
nrf_init(); // NRF
 
 
// Initialisierung abgeschlossen
 
_println_("Ready!");
 
// buzzer_signal(350, 2, 100); //tone() und IR-Empfangen läuft nicht gleichzeitig!!!!
 
 
// Heranfahren an Schranke
 
drive_light_on();
 
ServoSteer.turn(STEER_START_POS);
 
readUS();
 
while (US_distance_f >= 100) { //Fahre bis die Schranke 100 mm entfernt
 
Motor.drive_forward(50);
 
readUS();
 
}
 
Motor.stop();
 
 
communication(); // Kommunikation-Funktion (IR+NRF)
 
printCourseTable(); // Ausgabe der Empfangenen Zustandstabelle
 
set_led_color(0, 100, 0);
 
all_led_blink(2, 200);
 
delay(3000); // Warten bis Schranke offen ist
 
}
 
 
// Ausgabe der Ultraschallsensor-Werte
 
float usFront = UltrasoundFront();
 
float usBack = UltrasoundBack();
 
_print_("Ultrasound Front: "); //für Vorne
 
_println_(usFront);
 
_print_("Ultrasound Back: "); // für hinten
 
_println_(usBack);// hier mit println für die Ausgabe
 
 
//Ausgabe der Encoder
 
#include <Encoder.h>
 
/ Ausgabe der Encoder-Werte
 
long encoderLeft = readEncoderLeft();
 
long encoderRight = readEncoderRight();
 
_print_("Encoder Left: "); //Encoder links
 
_println_(encoderLeft);
 
_print_("Encoder Right: "); //Encoder Rechts
 
_println_(encoderRight); // hier mit println für die Ausgabe
 
 
/* ************* *
 
Hauptprogramm
 
* ************* */
 
 
void loop() {
 
drive_course(); //Hier wird nur diese Funktion ausgeführt werden --> Erweitern Sie diese um ihren Funktionen!
 
//Bearbeiten Sie die drive_course Funktion unter custom_functions und erweitern Sie diese an der gekennzeichneten Stelle um die Parkfunktionen
 
}
Loading