1
1
#Python library for the Red Robotics 'HeadBoard' and 'SideBoard' Raspberry Pi add on robotics boards.
2
2
#Simple python commands for controlling motors, servos and Neopixels (WS2812B).
3
- #Version 1.21 30/3 /2018
3
+ #Version 1.22 21/6 /2018
4
4
# Author: Neil Lambeth. neil@redrobotics.co.uk @NeilRedRobotics
5
5
6
6
from __future__ import print_function # Make print work with python 2 & 3
28
28
RM = 0
29
29
LM = 0
30
30
31
+ INPUT = 1
32
+ OUTPUT = 0
33
+
31
34
pi = pigpio .pi ()
32
35
33
36
pi .set_mode (dira , pigpio .OUTPUT )
45
48
pi .set_mode (servo_0 , pigpio .OUTPUT )
46
49
pi .set_mode (servo_1 , pigpio .OUTPUT )
47
50
48
- print ("Redboard Library V1.21 loaded" )
51
+ print ("Redboard Library V1.22 loaded" )
52
+
53
+ #-----------------------------------------------------
54
+
55
+
56
+ #GPIO
57
+
58
+ def output_pin (p ):
59
+ pi .set_mode (p , pigpio .OUTPUT )
60
+
61
+ def input_pin (p ):
62
+ pi .set_mode (p , pigpio .INPUT )
63
+
64
+ def pull_up (p ):
65
+ pi .set_pull_up_down (p , pigpio .PUD_UP )
66
+
67
+ def pull_down (p ):
68
+ pi .set_pull_up_down (p , pigpio .PUD_DOWN )
69
+
70
+
71
+ def setPin (p , state ):
72
+ pi .write (p , state )
73
+
74
+ def readPin (p ):
75
+ r = pi .read (p )
76
+ return r
77
+
78
+ #-----------------------------------------------------
49
79
50
80
def servo0 (pos0 ):
51
81
if pos0 >= 0 and pos0 < 91 :
@@ -63,6 +93,8 @@ def servo0(pos0):
63
93
else :
64
94
print ("Out Of Range!" )
65
95
96
+ #-----------------------------------------------------
97
+
66
98
def servo0_P (pos0 ):
67
99
if pos0 > 499 and pos0 < 2501 :
68
100
print ("servo0 =" ,pos0 )
@@ -71,12 +103,13 @@ def servo0_P(pos0):
71
103
else :
72
104
print ("Out Of Range!" )
73
105
106
+ #-----------------------------------------------------
107
+
74
108
def servo0_off ():
75
109
pi .set_servo_pulsewidth (servo_0 , 0 )
76
110
print ("servo0 off" )
77
111
78
-
79
-
112
+ #-----------------------------------------------------
80
113
81
114
def servo1 (pos1 ):
82
115
if pos1 >= 0 and pos1 < 91 :
@@ -94,6 +127,7 @@ def servo1(pos1):
94
127
else :
95
128
print ("Out Of Range!" )
96
129
130
+ #-----------------------------------------------------
97
131
98
132
def servo1_P (pos1 ):
99
133
if pos1 > 499 and pos1 < 2501 :
@@ -103,12 +137,13 @@ def servo1_P(pos1):
103
137
else :
104
138
print ("Out Of Range!" )
105
139
140
+ #-----------------------------------------------------
141
+
106
142
def servo1_off ():
107
143
pi .set_servo_pulsewidth (servo_1 , 0 )
108
144
print ("servo1 off" )
109
145
110
-
111
-
146
+ #-----------------------------------------------------
112
147
113
148
def M1 (lm ):
114
149
@@ -139,6 +174,7 @@ def M1(lm):
139
174
140
175
pi .set_PWM_dutycycle (pwmb ,LM )
141
176
177
+ #-----------------------------------------------------
142
178
143
179
def M1_8bit (lm ):
144
180
@@ -167,7 +203,7 @@ def M1_8bit(lm):
167
203
168
204
pi .set_PWM_dutycycle (pwmb ,LM )
169
205
170
-
206
+ #-----------------------------------------------------
171
207
172
208
def M2 (rm ):
173
209
@@ -200,6 +236,8 @@ def M2(rm):
200
236
pi .set_PWM_dutycycle (pwma ,RM )
201
237
202
238
239
+ #-----------------------------------------------------
240
+
203
241
def M2_8bit (rm ):
204
242
205
243
if rm > 255 : # Make sure the value sent to the motor is 255 or less
@@ -228,7 +266,7 @@ def M2_8bit(rm):
228
266
229
267
pi .set_PWM_dutycycle (pwma ,RM )
230
268
231
-
269
+ #-----------------------------------------------------
232
270
233
271
def Stop ():
234
272
pi .set_PWM_dutycycle (pwma ,0 )
0 commit comments