diff options
| author | Rubenos-soldelos <ruben.sold@gmail.com> | 2024-12-19 15:50:20 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-19 15:50:20 +0100 |
| commit | 90ef47229f6fbe46b0f678045e6918094df69e59 (patch) | |
| tree | 102633108e12d24b8988d3ff699de714b605dfc8 /verbeterde code door chatgpt | |
| parent | dcdfbf743f3a9f89c38b7f2f982d397dc157688c (diff) | |
| download | robotica-90ef47229f6fbe46b0f678045e6918094df69e59.tar.gz robotica-90ef47229f6fbe46b0f678045e6918094df69e59.zip | |
Create verbeterde code door chatgpt
ik heb de code in chat gestopt en heeft mij dit terug geschreven, kunnen we hier iets mee?
Diffstat (limited to 'verbeterde code door chatgpt')
| -rw-r--r-- | verbeterde code door chatgpt | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/verbeterde code door chatgpt b/verbeterde code door chatgpt new file mode 100644 index 0000000..d909db8 --- /dev/null +++ b/verbeterde code door chatgpt @@ -0,0 +1,93 @@ +#include <Wire.h> // https://www.arduino.cc/reference/en/language/functions/communication/wire/ +#include "Adafruit_TCS34725.h" // https://github.com/adafruit/Adafruit_TCS34725 +#include <Adafruit_MCP23X17.h> // https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library/tree/master +#include <LIS3MDL.h> // https://github.com/pololu/lis3mdl-arduino +#include <LSM6.h> // https://github.com/pololu/lsm6-arduino +#include <TimerThree.h> // https://www.arduino.cc/reference/en/libraries/timerthree/ +#include <Servo.h> + +// --- Configuratie van pinnen --- +#define LEFT_MOTOR_PIN 3 // Pin voor de linker motor +#define RIGHT_MOTOR_PIN 5 // Pin voor de rechter motor +#define KICKER_PIN 9 // Pin voor de kicker servo +#define SENSOR_PIN A0 // Analoge pin voor bal detectie + +Servo kickerServo; // Servo object voor de kicker + +// --- Globale variabelen --- +bool ballDetected = false; // Variabele om baldetectie bij te houden + +// Constanten voor leesbaarheid +const int KICK_POSITION = 0; // Trappositie voor de kicker +const int RESET_POSITION = 90; // Resetpositie voor de kicker +const int BALL_DETECTION_THRESHOLD = 500; // Drempelwaarde voor baldetectie +const unsigned long MOVE_DURATION = 1000; // Tijd om te bewegen in milliseconden +const unsigned long SEARCH_DURATION = 500; // Tijd om te zoeken in milliseconden +const unsigned long KICK_DELAY = 500; // Tijd voor de kicker beweging + +// --- Initialisatie --- +void setup() { + pinMode(LEFT_MOTOR_PIN, OUTPUT); + pinMode(RIGHT_MOTOR_PIN, OUTPUT); + pinMode(SENSOR_PIN, INPUT); + + kickerServo.attach(KICKER_PIN); + kickerServo.write(RESET_POSITION); // Startpositie van de kicker + + Serial.begin(9600); // Seriƫle communicatie voor debugging +} + +// --- Hoofdprogramma --- +void loop() { + ballDetected = detectBall(); + + if (ballDetected) { + Serial.println("Bal gedetecteerd!"); + moveTowardsBall(); + kickBall(); + } else { + Serial.println("Zoeken naar bal..."); + searchForBall(); + } +} + +// --- Functies --- + +// Detecteert of er een bal in de buurt is +bool detectBall() { + int sensorValue = analogRead(SENSOR_PIN); + Serial.print("Sensorwaarde: "); + Serial.println(sensorValue); + return sensorValue > BALL_DETECTION_THRESHOLD; // Controleer drempelwaarde +} + +// Beweeg de robot naar de bal +void moveTowardsBall() { + digitalWrite(LEFT_MOTOR_PIN, HIGH); + digitalWrite(RIGHT_MOTOR_PIN, HIGH); + delay(MOVE_DURATION); // Beweeg voor een vaste duur + stopMotors(); +} + +// Laat de robot zoeken naar de bal +void searchForBall() { + digitalWrite(LEFT_MOTOR_PIN, HIGH); + digitalWrite(RIGHT_MOTOR_PIN, LOW); + delay(SEARCH_DURATION); // Draai gedurende een vaste duur + stopMotors(); +} + +// Stop beide motoren +void stopMotors() { + digitalWrite(LEFT_MOTOR_PIN, LOW); + digitalWrite(RIGHT_MOTOR_PIN, LOW); +} + +// Trap de bal +void kickBall() { + Serial.println("Bal wordt getrapt!"); + kickerServo.write(KICK_POSITION); // Beweeg de kicker naar de trappositie + delay(KICK_DELAY); // Wacht een vaste duur + kickerServo.write(RESET_POSITION); // Reset naar de oorspronkelijke positie + delay(KICK_DELAY); // Wacht om stabiliteit te verzekeren +} |
