Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
B
Bits3 Bare Minimum
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
bits_libs
Bits3 Bare Minimum
Merge requests
!6
Nacharbeit-11155812
Code
Review changes
Check out branch
Download
Patches
Plain diff
Expand sidebar
Open
Nacharbeit-11155812
bits3_2024_g16/bits3-bare-minimum:main
into
main
Overview
0
Commits
2
Pipelines
0
Changes
1
Open
Nacharbeit-11155812
Halit Mültici
requested to merge
bits3_2024_g16/bits3-bare-minimum:main
into
main
11 months ago
Overview
0
Commits
2
Pipelines
0
Changes
1
0
0
Merge request reports
Viewing commit
32f0bce3
Prev
Next
Show latest version
1 file
+
142
−
0
Side-by-side
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
32f0bce3
Upload New File
· 32f0bce3
Halit Mültici
authored
11 months ago
bits3-bare-minimum_Code_fuer_Ausgabe_Encoder_Ultraschallsensor.ino
0 → 100644
+
142
−
0
View file @ 32f0bce3
Edit in single-file editor
Open in Web IDE
/***************************************************
________ ___ _________ ________ ________
|\ __ \|\ \|\___ ___\\ ____\|\_____ \
\ \ \|\ /\ \ \|___ \ \_\ \ \___|\|____|\ /_
\ \ __ \ \ \ \ \ \ \ \_____ \ \|\ \
\ \ \|\ \ \ \ \ \ \ \|____|\ \ __\_\ \
\ \_______\ \__\ \ \__\ ____\_\ \|\_______\
\|_______|\|__| \|__| |\_________\|_______|
\|_________|
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