190605

Files at this revision

API Documentation at this revision

Comitter:
jinyoung_KIL
Date:
Wed Jun 05 04:49:24 2019 +0000
Commit message:
good

Changed in this revision

motor.cpp Show annotated file Show diff for this revision Revisions of this file
motor.h Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 72fcb2468532 motor.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/motor.cpp	Wed Jun 05 04:49:24 2019 +0000
@@ -0,0 +1,120 @@
+#include "motor.h"
+
+/**
+ * Constructor.
+ */
+Motor::Motor(PinName _pwma,PinName _pwmb, PinName _ain0, PinName _ain1, PinName _bin0, PinName _bin1, float _speed)
+: pwma(_pwma), pwmb(_pwmb), ain1(_ain1), ain0(_ain0), bin0(_bin0), bin1(_bin1) {
+    Speed_L = _speed;
+    Speed_R = _speed;
+    init_speed = _speed;
+}
+ 
+/**
+ * Destructor.
+ */
+Motor::~Motor() {
+}
+
+void Motor::speed_l(float sp_l){
+    Speed_L = sp_l;
+    
+    if(Speed_L > 1){
+        Speed_L = 1;
+    }
+    if(Speed_L < 0){
+        Speed_L = 0;
+    }    
+}
+
+void Motor::speed_r(float sp_r){
+    Speed_R = sp_r;
+    
+    if(Speed_R > 1){
+        Speed_R = 1;
+    }
+    if(Speed_R < 0){
+        Speed_R = 0;
+    }    
+}
+
+void Motor::speedup_l(void){
+    Speed_L += 0.005; 
+    if(Speed_L > 1){
+        Speed_L = 1;
+    }
+}
+
+void Motor::speeddown_l(void){
+    Speed_L -= 0.005;
+    if(Speed_L < 0){
+        Speed_L = 0;
+    }
+}
+
+void Motor::speedup_r(void){
+    Speed_R += 0.005; 
+    if(Speed_R > 1){
+        Speed_R = 1;
+    }
+}
+void Motor::speeddown_r(void){
+    Speed_R -= 0.005;
+    if(Speed_R < 0){
+        Speed_R = 0;
+    }
+}
+
+void Motor::forward(void){
+    pwma = Speed_L * 0.7;
+    pwmb = Speed_R;
+
+    ain0 = 1;
+    ain1 = 0;
+
+    bin0 = 1;
+    bin1 = 0;
+}
+
+void Motor::backward(void){
+    
+    pwma = Speed_L;
+    pwmb = Speed_R;
+
+    ain0 = 0;
+    ain1 = 1;
+
+    bin0 = 0;
+    bin1 = 1;    
+}
+
+void  Motor::left(void){
+    pwma = Speed_L*0.8;
+    pwmb = Speed_R;
+
+    ain0 = 1;
+    ain1 = 0;
+
+    bin0 = 1;
+    bin1 = 0;
+}
+void Motor::right(void){
+    pwma = Speed_L;
+    pwmb = Speed_R*0.85;
+
+    ain0 = 1;
+    ain1 = 0;
+
+    bin0 = 1;
+    bin1 = 0;
+}
+void Motor::stop(void){
+    pwma = init_speed;
+    pwmb = init_speed;
+
+    ain0 = 0;
+    ain1 = 0;
+
+    bin0 = 0;
+    bin1 = 0;
+}
\ No newline at end of file
diff -r 000000000000 -r 72fcb2468532 motor.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/motor.h	Wed Jun 05 04:49:24 2019 +0000
@@ -0,0 +1,47 @@
+#ifndef _MOTOR_H_
+#define _MOTOR_H_
+ 
+#include <mbed.h>
+  
+/**
+ * IR receiver class.
+ */
+class Motor {
+public:
+ 
+    /**
+     * Constructor.
+     *
+     * @param rxpin Pin for receive IR signal.
+     */
+    Motor::Motor(PinName _pwma=D6, PinName _pwmb=D5, PinName _ain0=PA_0, PinName _ain1=PA_1, PinName _bin0=PB_0, PinName _bin1=PA_4, float _speed=0.7);
+    /**
+     * Destructor.
+     */
+    ~Motor();
+     
+    float Speed_L, Speed_R, init_speed;
+        
+    PwmOut pwma;
+    PwmOut pwmb;
+    DigitalOut ain0;
+    DigitalOut ain1;
+    DigitalOut bin0;
+    DigitalOut bin1;
+    
+    void right(void);
+    void left(void);
+    void forward(void);
+    void backward(void);
+    void stop(void);
+    
+    void speedup_l(void);
+    void speeddown_l(void);
+    void speedup_r(void);
+    void speeddown_r(void);
+    
+    void speed_l(float sp_l);
+    void speed_r(float sp_r);
+};
+ 
+#endif
\ No newline at end of file