Newer
Older
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/***************************************************
________ ___ _________ ________ _______
|\ __ \|\ \|\___ ___\\ ____\ / ___ \
\ \ \|\ /\ \ \|___ \ \_\ \ \___|_/__/|_/ /|
\ \ __ \ \ \ \ \ \ \ \_____ \__|// / /
\ \ \|\ \ \ \ \ \ \ \|____|\ \ / /_/__
\ \_______\ \__\ \ \__\ ____\_\ \|\________\
\|_______|\|__| \|__| |\_________\\|_______|
\|_________|
Name:
<Hier kommt der Name des Projekts>
Description:
<Hier kommt was dieses Skript macht>
Author:
<Hier kommt dein Name>
**************************************************/
#define DEBUG_SERIAL
// #define WIFI_COMMUNICATION
#ifdef DEBUG_SERIAL
#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
#include "config.h"
#include "basic_functions.h"
#include "custom_config.h"
#include "custom_functions.h"
void setup(){
// Hier wird entschieden wie die Serielle Kommunikation vom Mega erfolgen soll. Weiteres siehe in config.h
#ifdef DEBUG_SERIAL
Serial.begin(115200);
#endif
#ifdef WIFI_COMMUNICATION
Serial3.begin(115200);
#endif
// Initialisierung der optischen Time-of-Flight Sensoren
tof_controller.init();
// Starten der I2C Kommunikation
Wire.begin();
Wire.setClock(400000); // 400kHz I2C clock. Comment this line if having compilation difficulties
// Initialisierung der LED-Streifen
front_strip.init();
back_strip.init();
left_strip.init();
right_strip.init();
// Initialisierung der IMU inkl. Lichtspiel
imu.init();
start = millis();
_println_("Waiting for IMU getting ready. Please do not move the car!");
_print_("Waiting");
set_led_color(255,0,0);
for (int k=0; k<13; k++){
for (int i=0; i<FRONT_LED_NUM; i++){
front_strip.set_pixel_color(i,thk_LedStripController::Color(red, green, blue));
front_strip.show();
delay(500/FRONT_LED_NUM);
_print_(".");
}
for (int i=0; i<FRONT_LED_NUM; i++){
front_strip.set_pixel_color(i,thk_LedStripController::Color(0, 0, 0));
front_strip.show();
delay(500/FRONT_LED_NUM);
_print_(".");
}
red -= 20;
green += 20;
}
// 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 abgeschlossen
_println_("Ready!");
buzzer_signal(350, 2, 100);
set_led_color(0,100,0);
all_led_blink(2,200);
}
void loop(){
}