Browse Source

Add first version for two R/C TT moto.

Wesley Tsai 8 years ago
commit
f45ad57a4d
2 changed files with 150 additions and 0 deletions
  1. 95 0
      TwoMotoCar.cpp
  2. 55 0
      TwoMotoCar.h

+ 95 - 0
TwoMotoCar.cpp

@@ -0,0 +1,95 @@
1
+/*
2
+Copyright (C) 2016 Wesley Tsai (wesleyboy42@gmail.com)
3
+
4
+Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+this software and associated documentation files (the "Software"), to deal in
6
+the Software without restriction, including without limitation the rights to
7
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+the Software, and to permit persons to whom the Software is furnished to do so,
9
+subject to the following conditions:
10
+
11
+The above copyright notice and this permission notice shall be included in all
12
+copies or substantial portions of the Software.
13
+
14
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+*/
21
+
22
+/*
23
+ * Library for controlling two TT moto of DC 3v-12v.
24
+ *
25
+ * Information about the makercup obtained from:
26
+ * https://medium.com/maker-cup
27
+ */
28
+
29
+
30
+// --------------------------------------------------------------------------------------
31
+
32
+#include "TwoMotoCar.h"
33
+
34
+// --------------------------------------------------------------------------------------
35
+
36
+TwoMotoCar::TwoMotoCar(byte MotoPinL1, byte MotoPinL2, byte MotoPinR1, byte MotoPinR2) :
37
+    _MotoPinL1(MotoPinL1), _MotoPinL2(MotoPinL2), _MotoPinR1(MotoPinR1), _MotoPinR2(MotoPinR2)
38
+{
39
+
40
+}
41
+
42
+TwoMotoCar::~TwoMotoCar()
43
+{
44
+
45
+}
46
+
47
+// --------------------------------------------------------------------------------------
48
+
49
+void TwoMotoCar::init()
50
+{
51
+    pinMode(_MotoPinL1, OUTPUT);
52
+    pinMode(_MotoPinL2, OUTPUT);
53
+    pinMode(_MotoPinR1, OUTPUT);
54
+    pinMode(_MotoPinR2, OUTPUT);
55
+}
56
+
57
+void TwoMotoCar::forward(void)
58
+{
59
+  digitalWrite(_MotoPinL1,HIGH);
60
+  digitalWrite(_MotoPinL2,LOW);
61
+  digitalWrite(_MotoPinR1,HIGH);
62
+  digitalWrite(_MotoPinR2,LOW);
63
+}
64
+
65
+void TwoMotoCar::right(void)
66
+{
67
+  digitalWrite(_MotoPinL1,HIGH);
68
+  digitalWrite(_MotoPinL2,LOW);
69
+  digitalWrite(_MotoPinR1,LOW);
70
+  digitalWrite(_MotoPinR2,LOW);
71
+}
72
+
73
+void TwoMotoCar::left(void)
74
+{
75
+  digitalWrite(_MotoPinL1,LOW);
76
+  digitalWrite(_MotoPinL2,LOW);
77
+  digitalWrite(_MotoPinR1,HIGH);
78
+  digitalWrite(_MotoPinR2,LOW);
79
+}
80
+
81
+void TwoMotoCar::backward(void)
82
+{
83
+  digitalWrite(_MotoPinL1,LOW);
84
+  digitalWrite(_MotoPinL2,HIGH);
85
+  digitalWrite(_MotoPinR1,LOW);
86
+  digitalWrite(_MotoPinR2,HIGH);
87
+}
88
+
89
+void TwoMotoCar::stop(void)
90
+{
91
+  digitalWrite(_MotoPinL1,LOW);
92
+  digitalWrite(_MotoPinL2,LOW);
93
+  digitalWrite(_MotoPinR1,LOW);
94
+  digitalWrite(_MotoPinR2,LOW);
95
+}

+ 55 - 0
TwoMotoCar.h

@@ -0,0 +1,55 @@
1
+/*
2
+Copyright (C) 2016 Wesley Tsai (wesleyboy42@gmail.com)
3
+
4
+Permission is hereby granted, free of charge, to any person obtaining a copy of
5
+this software and associated documentation files (the "Software"), to deal in
6
+the Software without restriction, including without limitation the rights to
7
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
+the Software, and to permit persons to whom the Software is furnished to do so,
9
+subject to the following conditions:
10
+
11
+The above copyright notice and this permission notice shall be included in all
12
+copies or substantial portions of the Software.
13
+
14
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+*/
21
+
22
+/*
23
+ * Library for controlling two TT moto of DC 3v-12v.
24
+ *
25
+ * Information about the makercup obtained from:
26
+ * https://medium.com/maker-cup
27
+ */
28
+
29
+#ifndef __TwoMotoCar_h__
30
+#define __TwoMotoCar_h__
31
+
32
+#include "Arduino.h"
33
+
34
+class TwoMotoCar
35
+{
36
+public:
37
+    TwoMotoCar(byte MotoPinL1, byte MotoPinL2, byte MotoPinR1, byte MotoPinR2);
38
+    ~TwoMotoCar();
39
+
40
+    void init();
41
+    void forward(void);
42
+    void right(void);
43
+    void left(void);
44
+    void backward(void);
45
+    void stop(void);
46
+
47
+private:
48
+    byte _MotoPinL1;
49
+    byte _MotoPinL2;
50
+    byte _MotoPinR1;
51
+    byte _MotoPinR2;
52
+
53
+};
54
+
55
+#endif