Skip to content
Snippets Groups Projects

Nacharbeit-hmueltic

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