예제 #1
0
 def connect(self):
     self.connection = nanpy.SerialManager(device=self.DEVICE)
     self.arduino = nanpy.ArduinoApi(connection=self.connection)
     a = self.arduino
     a.pinMode(self.PIN_LED, a.OUTPUT)
     a.pinMode(self.PIN_SWITCH, a.INPUT)
     self.connected = True
예제 #2
0
    def __init__(self):
        """
		initialize pins as motor outputs
		"""

        self.DB1 = rospy.get_param('DB1')  # Driver Board #1 INH
        self.M1 = rospy.get_param('M1')  # DB #1 IN1 & IN2
        self.M2 = rospy.get_param('M2')  # DB #1 IN3 & IN4
        self.DB2 = rospy.get_param('DB2')  # DB #2 INH
        self.M3 = rospy.get_param('M3')  # DB #2 IN1 & IN2
        self.M4 = rospy.get_param('M4')  # DB #2 IN3 & IN4

        self.turbo = False  # turbo mode
        self.arch = os.environ['ARCHITECTURE']

        if self.arch == 'raspi':
            GPIO.setmode(GPIO.BOARD)  # use RasPi pin numbers
            GPIO.setwarnings(False)  # don't show setup warnings
            # set pins as outputs and initialize to False/Low
            GPIO.setup(self.DB1, GPIO.OUT, initial=False)
            GPIO.setup(self.M1, GPIO.OUT, initial=False)
            GPIO.setup(self.M2, GPIO.OUT, initial=False)
            GPIO.setup(self.DB2, GPIO.OUT, initial=False)
            GPIO.setup(self.M3, GPIO.OUT, initial=False)
            GPIO.setup(self.M4, GPIO.OUT, initial=False)

            # setup all pwm outputs
            self.frequency = 500.0  # pwm frequency
            self.PWM_M1 = GPIO.PWM(self.M1, self.frequency)
            self.PWM_M1.start(0.0)
            self.PWM_M2 = GPIO.PWM(self.M2, self.frequency)
            self.PWM_M2.start(0.0)
            self.PWM_M3 = GPIO.PWM(self.M3, self.frequency)
            self.PWM_M3.start(0.0)
            self.PWM_M4 = GPIO.PWM(self.M4, self.frequency)
            self.PWM_M4.start(0.0)

        else:
            no_connection = True
            while no_connection:
                try:
                    connection = nanpy.SerialManager()
                    self.a = nanpy.ArduinoApi(connection=connection)
                    no_connection = False
                except:
                    print("Failed to connect to Arduino")
            self.a.pinMode(self.DB1, self.a.OUTPUT)
            self.a.pinMode(self.M1, self.a.OUTPUT)
            self.a.pinMode(self.M2, self.a.OUTPUT)
            self.a.pinMode(self.DB2, self.a.OUTPUT)
            self.a.pinMode(self.M3, self.a.OUTPUT)
            self.a.pinMode(self.M4, self.a.OUTPUT)
예제 #3
0
def find_arduino():
    import glob

    # Find /dev/cu.usbmodem* using the glob module:
    ports = glob.glob('/dev/cu.usbmodem*')
    if len(ports) == 1:
        import nanpy
        return nanpy.ArduinoApi(connection=nanpy.SerialManager(device=ports[0]))

    if len(ports) == 0:
        rumps.notification(title='On Air',
                           subtitle='Error detecting Arduino',
                           message='No Arduino device detected (plugged in?)')
    else:
        rumps.notification(title='On Air',
                           subtitle='Error detecting Arduino',
                           message='Multiple devices detected')
예제 #4
0
import nanpy
import time

print("CONNECT")
# Initialise connection
# connection = nanpy.SerialManager(device="/dev/ttyUSB0")
connection = nanpy.SerialManager(device="/dev/ttyUSB0")
arduino = nanpy.ArduinoApi(connection=connection)

# Define pin's
D0 = 0  # D0/RX - PD0
D1 = 1  # D1/TX - PD1
D2 = 2  # D2 - PD2
D3 = 3  # D3 - PD3
D4 = 4  # D4 - PD4
D5 = 5  # D5 - PD5
D6 = 6  # D6 - PD6
D7 = 7  # D7 - PD7

D8 = 8  # D8 - PB0
D9 = 9  # D9 - PB1
D10 = 10  # D10 - PB2
D11 = 11  # D11 - PB3
D12 = 12  # D12 - PB4
D13 = 13  # D13 - PB5

A0 = 14  # D14 - A0 - PC0 - ADC[0]
A1 = 15  # D15 - A1 - PC1 - ADC[1]
A2 = 16  # D16 - A2 - PC2 - ADC[2]
A3 = 17  # D17 - A3 - PC3 - ADC[3]
A4 = 18  # D18 - A4 - PC4 - ADC[4] - SDA
예제 #5
0
#!/usr/bin/python3
import time, nanpy, nanpy.arduinotree

try:
    import readline
except:
    pass  #readline not available

connection = nanpy.SerialManager(device='/dev/serial0')

aa = nanpy.ArduinoApi(connection=connection)
at = nanpy.arduinotree.ArduinoTree(connection=connection)

INPUT, OUTPUT = 0, 1
inp = ""

while inp != "q":
    inp = input(
        "Enter the pin number you wish to see information about ( 0 - 21 ). Type 'q' to quit > "
    )

    if inp != "q":
        i = int(inp)
        pin = at.pin.get(i)
        print(str(i) + ": ==== Global Vars ====")
        #	print("at.pin.get(): " + str(at.pin.get()))
        print("    " + str(i) + ": at.pin.count:             " +
              str(at.pin.count))
        print("    " + str(i) + ": at.pin.count_digital:     " +
              str(at.pin.count_digital))
        print("    " + str(i) + ": at.pin.count_analog:      " +