From e5374b2278571859a6989799379fc03533771bce Mon Sep 17 00:00:00 2001 From: Orhan-Timo Altan <timo.altan@th-koeln.de> Date: Mon, 22 Aug 2022 18:52:52 +0200 Subject: [PATCH] =?UTF-8?q?Pr=C3=A4fix=20thk=5F=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 18 +++----- examples/drive/drive.ino | 46 ++++++++----------- keywords.txt | 2 +- motor_driver.cpp | 9 ---- thk_motor_driver.cpp | 9 ++++ motor_driver.h => thk_motor_driver.h | 4 +- ...2fng.cpp => thk_motor_driver_tb6612fng.cpp | 12 ++--- ...b6612fng.h => thk_motor_driver_tb6612fng.h | 10 ++-- 8 files changed, 48 insertions(+), 62 deletions(-) delete mode 100644 motor_driver.cpp create mode 100644 thk_motor_driver.cpp rename motor_driver.h => thk_motor_driver.h (91%) rename motor_driver_tb6612fng.cpp => thk_motor_driver_tb6612fng.cpp (80%) rename motor_driver_tb6612fng.h => thk_motor_driver_tb6612fng.h (64%) diff --git a/README.md b/README.md index cfd2f9d..c21cb78 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# **BITs DCMotor** +# **DC-Motor Driver** Eine Klasse zur Ansteuerung von Gleichstrommotoren für unterschiedliche Motortreiber. @@ -20,25 +20,19 @@ Zur Verwendung siehe zunächst das Beispiel `drive.ino`<br /> Es wird für jeden Motortreiber nur ein Objekt benötigt, dem beim instanziieren alle benötigten Informationen übergeben wird.<br /> <br /> -Einbinden der Libraries: +**Einbinden der Libraries:** ```arduino -#include <motor_driver_tb6612fng.h> +#include <thk_motor_driver_tb6612fng.h> ``` -Instanziieren eines Motortreiber-Objektes mit Standard Pinbelegung für das BITs-Fahrzeug: +**Instanziieren eines Motortreiber-Objektes:** ```arduino -MotorDriverTB6612FNG motorDriverTB6612FNG +thk_MotorDriverTB6612FNG motorExample(MOTOR_COUNT, MOTOR_STBY, MOTOR_PWM_A, MOTOR_IN1, MOTOR_IN2, MOTOR_PWM_B, MOTOR_IN3, MOTOR_IN4) ``` -Instanziieren eines Motortreiber-Objektes mit angepasster Pinbelegung: - -```arduino -MotorDriverTB6612FNG motorDriverTB6612FNG(MOTOR_COUNT, MOTOR_STBY, MOTOR_PWM_A, MOTOR_IN1, MOTOR_IN2, MOTOR_PWM_B, MOTOR_IN3, MOTOR_IN4) -``` - -Die Parameter des Motortreiber-Objektes: + Die Parameter des Motortreiber-Objektes: - `MOTOR_COUNT`: Anzahl der anzusteuernden Gleichstrommotoren - `MOTOR_STBY`: Pin für die Steuerung des Motortreiber Chips. diff --git a/examples/drive/drive.ino b/examples/drive/drive.ino index dba2e9a..2972ccd 100644 --- a/examples/drive/drive.ino +++ b/examples/drive/drive.ino @@ -1,54 +1,46 @@ -#include <motor_driver_tb6612fng.h> +#include <thk_motor_driver_tb6612fng.h> uint8_t velocity = 255; -/* *************************************************************************** * - * Wenn die Default Pinbelegung genutzt werden soll, folgende Zeile verwenden: * - * *************************************************************************** */ -MotorDriverTB6612FNG motorDriverTB6612FNG; - -/* ********************************************************************************************** * - * Wenn eine andere Pinbelegung gewünscht ist, dann wie folgt den Motortreiber in Betrieb nehmen: * - * ********************************************************************************************** */ -// const int MOTOR_COUNT = 1; -// const int MOTOR_STBY = 38; -// const int MOTOR_PWM_A = 10; -// const int MOTOR_IN1 = 40; -// const int MOTOR_IN2 = 42; -// const int MOTOR_PWM_B = 0; -// const int MOTOR_IN3 = 0; -// const int MOTOR_IN4 = 0; -// MotorDriverTB6612FNG motorDriverTB6612FNG(MOTOR_COUNT, MOTOR_STBY, MOTOR_PWM_A, MOTOR_IN1, MOTOR_IN2, MOTOR_PWM_B, MOTOR_IN3, MOTOR_IN4); +const int MOTOR_COUNT = 1; +const int MOTOR_STBY = 38; +const int MOTOR_PWM_A = 6; +const int MOTOR_IN1 = 40; +const int MOTOR_IN2 = 42; +const int MOTOR_PWM_B = 0; +const int MOTOR_IN3 = 0; +const int MOTOR_IN4 = 0; +thk_MotorDriverTB6612FNG motor(MOTOR_COUNT, MOTOR_STBY, MOTOR_PWM_A, MOTOR_IN1, MOTOR_IN2, MOTOR_PWM_B, MOTOR_IN3, MOTOR_IN4); void setup() { Serial.begin(115200); - motorDriverTB6612FNG.init(); + motor.init(); } void loop() { - motorDriverTB6612FNG.drive_forward(velocity); + motor.drive_forward(velocity); delay(2000); - motorDriverTB6612FNG.stop(); + motor.stop(); delay(1000); - motorDriverTB6612FNG.drive_backward(velocity); + motor.drive_backward(velocity); delay(2000); - motorDriverTB6612FNG.stop(); + motor.stop(); delay(1000); - motorDriverTB6612FNG.drive_forward(velocity); + motor.drive_forward(velocity); delay(2000); - motorDriverTB6612FNG.stop(); + motor.stop(); delay(1000); - motorDriverTB6612FNG.drive_backward(velocity); + motor.drive_backward(velocity); delay(2000); - motorDriverTB6612FNG.stop(); + motor.stop(); delay(1000); } \ No newline at end of file diff --git a/keywords.txt b/keywords.txt index 4b23475..8db0bdd 100644 --- a/keywords.txt +++ b/keywords.txt @@ -2,7 +2,7 @@ # Datatypes (KEYWORD1) ####################################### -MotorDriverTB6612FNG KEYWORD1 +thk_MotorDriverTB6612FNG KEYWORD1 ####################################### diff --git a/motor_driver.cpp b/motor_driver.cpp deleted file mode 100644 index b9a30ad..0000000 --- a/motor_driver.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include "motor_driver.h" - -void MotorDriver::drive_forward(uint8_t speed) { - this->drive(speed, true); -} - -void MotorDriver::drive_backward(uint8_t speed) { - this->drive(speed, false); -} \ No newline at end of file diff --git a/thk_motor_driver.cpp b/thk_motor_driver.cpp new file mode 100644 index 0000000..d67a107 --- /dev/null +++ b/thk_motor_driver.cpp @@ -0,0 +1,9 @@ +#include "thk_motor_driver.h" + +void thk_MotorDriver::drive_forward(uint8_t speed) { + this->drive(speed, true); +} + +void thk_MotorDriver::drive_backward(uint8_t speed) { + this->drive(speed, false); +} \ No newline at end of file diff --git a/motor_driver.h b/thk_motor_driver.h similarity index 91% rename from motor_driver.h rename to thk_motor_driver.h index 31b3684..e7f97c0 100644 --- a/motor_driver.h +++ b/thk_motor_driver.h @@ -1,5 +1,5 @@ /* -* Interface: Motortreiber +* Interface: thk_Motortreiber * * Enthält alle notwendigen Standardfunktionen eines Motortreibers * @@ -13,7 +13,7 @@ #include <Arduino.h> -class MotorDriver { +class thk_MotorDriver { public: enum Driving_state { stoped, forward, backward}; void drive_forward(uint8_t speed); diff --git a/motor_driver_tb6612fng.cpp b/thk_motor_driver_tb6612fng.cpp similarity index 80% rename from motor_driver_tb6612fng.cpp rename to thk_motor_driver_tb6612fng.cpp index ca09f69..7d58963 100644 --- a/motor_driver_tb6612fng.cpp +++ b/thk_motor_driver_tb6612fng.cpp @@ -1,10 +1,10 @@ -#include "motor_driver_tb6612fng.h" +#include "thk_motor_driver_tb6612fng.h" -MotorDriverTB6612FNG::MotorDriverTB6612FNG(){} +thk_MotorDriverTB6612FNG::thk_MotorDriverTB6612FNG(){} -MotorDriverTB6612FNG::MotorDriverTB6612FNG(uint8_t motor_count, uint8_t pin_stby, uint8_t pin_pwm_a, uint8_t pin_in_1, uint8_t pin_in_2, uint8_t pin_pwm_b, uint8_t pin_in_3, uint8_t pin_in_4) : motor_count(motor_count), pin_stby(pin_stby), pin_pwm_a(pin_pwm_a), pin_in_1(pin_in_1), pin_in_2(pin_in_2), pin_pwm_b(pin_pwm_b), pin_in_3(pin_in_3), pin_in_4(pin_in_4){} +thk_MotorDriverTB6612FNG::thk_MotorDriverTB6612FNG(uint8_t motor_count, uint8_t pin_stby, uint8_t pin_pwm_a, uint8_t pin_in_1, uint8_t pin_in_2, uint8_t pin_pwm_b, uint8_t pin_in_3, uint8_t pin_in_4) : motor_count(motor_count), pin_stby(pin_stby), pin_pwm_a(pin_pwm_a), pin_in_1(pin_in_1), pin_in_2(pin_in_2), pin_pwm_b(pin_pwm_b), pin_in_3(pin_in_3), pin_in_4(pin_in_4){} -void MotorDriverTB6612FNG::init() +void thk_MotorDriverTB6612FNG::init() { if(this->motor_count < 1 || this->motor_count > 2) { @@ -39,7 +39,7 @@ void MotorDriverTB6612FNG::init() this->is_setup_correct = true; } -void MotorDriverTB6612FNG::drive(byte speed, bool is_forward) { +void thk_MotorDriverTB6612FNG::drive(byte speed, bool is_forward) { if(this->is_setup_correct == false) { Serial.println("Motoren werden nicht angesteuert, da keine gültige Initialisierung durchgeführt worden ist!"); @@ -87,7 +87,7 @@ void MotorDriverTB6612FNG::drive(byte speed, bool is_forward) { } } -void MotorDriverTB6612FNG::stop() { +void thk_MotorDriverTB6612FNG::stop() { if(this->is_setup_correct == false) { Serial.println("Motoren werden nicht angesteuert, da keine gültige Initialisierung durchgeführt worden ist!"); diff --git a/motor_driver_tb6612fng.h b/thk_motor_driver_tb6612fng.h similarity index 64% rename from motor_driver_tb6612fng.h rename to thk_motor_driver_tb6612fng.h index 3069ced..2a7bc78 100644 --- a/motor_driver_tb6612fng.h +++ b/thk_motor_driver_tb6612fng.h @@ -1,5 +1,5 @@ /* - * Klasse: MotorDriverTB6612FNG + * Klasse: thk_MotorDriverTB6612FNG * * Zur Ansteuerung von Gleichstrommotoren mit dem Motortreiber TB6612FNG * @@ -11,13 +11,13 @@ #define MOTOR_DRIVER_TB6612FNG_H #include <Arduino.h> -#include "motor_driver.h" +#include "thk_motor_driver.h" -class MotorDriverTB6612FNG : public MotorDriver +class thk_MotorDriverTB6612FNG : public thk_MotorDriver { public: - MotorDriverTB6612FNG(); - MotorDriverTB6612FNG(uint8_t motor_count, uint8_t pin_stby, uint8_t pin_pwm_a, uint8_t pin_in_1, uint8_t pin_in_2, uint8_t pin_pwm_b, uint8_t pin_in_3, uint8_t pin_in_4); + thk_MotorDriverTB6612FNG(); + thk_MotorDriverTB6612FNG(uint8_t motor_count, uint8_t pin_stby, uint8_t pin_pwm_a, uint8_t pin_in_1, uint8_t pin_in_2, uint8_t pin_pwm_b, uint8_t pin_in_3, uint8_t pin_in_4); void stop() override; void drive(uint8_t speed, bool is_forward) override; void init(); -- GitLab