Skip to content
Snippets Groups Projects

Nacharbeit-skanidis

1 file
+ 143
124
Compare changes
  • Side-by-side
  • Inline
/***************************************************
________ ___ _________ ________ ________
|\ __ \|\ \|\___ ___\\ ____\|\_____ \
\ \ \|\ /\ \ \|___ \ \_\ \ \___|\|____|\ /_
\ \ __ \ \ \ \ \ \ \ \_____ \ \|\ \
\ \ \|\ \ \ \ \ \ \ \|____|\ \ __\_\ \
\ \_______\ \__\ \ \__\ ____\_\ \|\_______\
\|_______|\|__| \|__| |\_________\|_______|
\|_________|
Name:
- Name des Skripts
Description:
- Beschrebiung was dieses Skript macht
Author:
- Namen der Autoren
**************************************************/
/* ******************************* *
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
}
/* ************* *
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
}
/***************************************************
________ ___ _________ ________ ________
|\ __ \|\ \|\___ ___\\ ____\|\_____ \
\ \ \|\ /\ \ \|___ \ \_\ \ \___|\|____|\ /_
\ \ __ \ \ \ \ \ \ \ \_____ \ \|\ \
\ \ \|\ \ \ \ \ \ \ \|____|\ \ __\_\ \
\ \_______\ \__\ \ \__\ ____\_\ \|\_______\
\|_______|\|__| \|__| |\_________\|_______|
\|_________|
Name:
- skanidis 11158213
Description:
- Nacharbeit Modul BITs´3
Author:
- Stefanos Alexandros Kanidis
**************************************************/
/* ******************************* *
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 Encoder
#include <Encoder.h>
/ Ausgabe der Encoder-Werte
long encoderRight = readEncoderRight();
long encoderLeft = readEncoderLeft();
_print_("Encoder Right: "); //Encoder Rechts
_println_(encoderRight);
_print_("Encoder Left: "); //Encoder links
_println_(encoderLeft);
// Ausgabe der Ultraschallsensor-Werte
float usBack = UltrasoundBack();
float usFront = UltrasoundFront();
_print_("Ultrasound Back: "); // für hinten
_println_(usBack);
_print_("Ultrasound Front: "); //für Vorne
_println_(usFront);
/* ************* *
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