diff --git a/README.md b/README.md index cfd2f9dcad52337d15ad8f3d894fbcfe968b67e8..c21cb781f271fd4febfc1a53470377368b8fa3cb 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 dba2e9a832ff89bf19fd374ea560cf8096d1c5df..2972ccd8ebd4b6b5a171d2ba17798228b4f5e307 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 4b2347503469c709c504436c7181d4d04f997bd5..8db0bdd2a7ee16d6447488cff2a6a5fdba40fc5b 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 b9a30ad0bfe32c56955923aeb09fd712ac37fd18..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..d67a107d2f213346f2294ebfc2b58d47bbcf0708 --- /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 31b36846c46e55aac61810fafa0bbfbf17fb9145..e7f97c0998943df470f38e371ff0b83a89f2a9ea 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 ca09f69bf5a679cb153986fb59d811d518287714..7d58963374782e648f49d2c01eb6da53c8c8220a 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 3069cedaa2266f42d8cac3d228f70e442b02634a..2a7bc78dc59ce77bd97a1165e73b6683cd3add6b 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();