Example #1
0
def main():
    #vehicle = connect('udp:192.168.1.177:14554', baud=57600, wait_ready=True)
    #vehicle = connect('udp:10.42.0.1:14555', baud=57600, wait_ready=True)
    #vehicle = connect('udp:127.0.0.1:14553', baud=57600, wait_ready=True)

    arduino = PyMata("/dev/ttyUSB0")

    arduino.sonar_config(3, 4)
    arduino.sonar_config(5, 6)
    arduino.sonar_config(7, 8)

    def signal_handler(signal, frame):
        if arduino != None:
            arduino.reset()
        sys.exit(0)
    
    signal.signal(signal.SIGINT, signal_handler)

    while True:
        arduino.digital_write(13, 1)
        data = arduino.get_sonar_data()

        sonarS = data[3][1]
        sonarL = data[5][1]
        sonarR = data[7][1]

        print sonarS, sonarR, sonarL

        
        time.sleep(.05)

    #vehicle.mode = VehicleMode("LAND")
    #vehicle.close()
    arduino.close()
Example #2
0
import signal

from PyMata.pymata import PyMata

# create a PyMata instance
board = PyMata("/dev/ttyACM0", verbose=True)


# you may need to press ctrl c twice
def signal_handler(sig, frame):
    print('You pressed Ctrl+C')
    if board is not None:
        board.reset()
        board.close()
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)

# Configure the trigger and echo pins
board.sonar_config(12, 12)

time.sleep(1)

# Create a forever loop that will print out the sonar data for the PING device

while 1:
    data = board.get_sonar_data()
    print(str(data[12][1]) + ' centimeters')
    time.sleep(.2)
Example #3
0

def cb_ping(data):
    # time.sleep(2)
    print(str(data[2]) + ' centimeters')
    # if data[2] < 5:
    #     print('检测到物体')
    # else:
    #     print('no')


# you may need to press control-c twice to exit 使用两次contloc来进行程序的退出
def signal_handler(sig, frame):
    print('You pressed Ctrl+C!!!!')
    if board is not None:
        board.reset()
        board.close()
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)

# Configure Trigger and Echo pins
# Using default of 50 ms ping interval and max distance of 200 cm.
data = board.sonar_config(12, 12, cb_ping)

# Example of changing ping interval to 100, and max distance to 150
# board.sonar_config(12, 12, cb_ping, 100, 150)

time.sleep(20)
board.close()
Example #4
0
from PyMata.pymata import PyMata


# create a PyMata instance
board = PyMata("/dev/ttyACM0", verbose=True)


# you may need to press ctrl c twice
def signal_handler(sig, frame):
    print('You pressed Ctrl+C')
    if board is not None:
        board.reset()
        board.close()
    sys.exit(0)

signal.signal(signal.SIGINT, signal_handler)

# Configure the trigger and echo pins
board.sonar_config(12, 12)

time.sleep(1)

# Create a forever loop that will print out the sonar data for the PING device

while 1:
    data = board.get_sonar_data()
    print(str(data[2]) + ' centimeters')
    time.sleep(.2)

# pymata_ultrasonic_ping.py
# ultrasonic sensor test
# FirmataPlus is required on Arduino.

import time
from PyMata.pymata import PyMata

PORT = '/dev/ttyACM0'
board = PyMata(PORT,verbose=True)
pinNo = 12
trig=echo=pinNo
board.sonar_config(trig,echo)
time.sleep(1)


while True:
  data = board.get_sonar_data()
  dist = data[pinNo]
  print 'distance: {} cm'.format(dist[1])
  time.sleep(.1)


# Ping callback function
def cb_ping(data):
    print(str(data[2]) + ' centimeters')


# Create a PyMata instance
board = PyMata("/dev/ttyACM0", verbose=True)


# you may need to press control-c twice to exit
def signal_handler(sig, frame):
    print('You pressed Ctrl+C!!!!')
    if board is not None:
        board.reset()
        board.close()
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)

# Configure Trigger and Echo pins
# Using default of 50 ms ping interval and max distance of 200 cm.
board.sonar_config(12, 12, cb_ping)

# Example of changing ping interval to 100, and max distance to 150
# board.sonar_config(12, 12, cb_ping, 100, 150)

time.sleep(10)
board.close()
Example #7
0
# ultrasonic_ping_2ch_callback.py

# callback function is tested

import time
from PyMata.pymata import PyMata

PORT = '/dev/ttyACM0'
board = PyMata(PORT,verbose=True)
trig=8
echo=9

def callback(res):
    print 'callback:{}'.format(res)



board.sonar_config(trigger_pin=trig,echo_pin=echo,cb=callback,ping_interval=33)
time.sleep(1)


while True:
  data = board.get_sonar_data()
  dist = data[trig]
  print 'distance: {} cm'.format(dist[1])
  time.sleep(.5)
Example #8
0
# instantiate PyMata
firmata = PyMata("/dev/ttyACM0")
time.sleep(2)

# configure a group of pins to control 8 LEDs
firmata.set_pin_mode(46, firmata.OUTPUT, firmata.DIGITAL)
firmata.set_pin_mode(47, firmata.OUTPUT, firmata.DIGITAL)
firmata.set_pin_mode(48, firmata.OUTPUT, firmata.DIGITAL)
firmata.set_pin_mode(49, firmata.OUTPUT, firmata.DIGITAL)
firmata.set_pin_mode(50, firmata.OUTPUT, firmata.DIGITAL)
firmata.set_pin_mode(51, firmata.OUTPUT, firmata.DIGITAL)
firmata.set_pin_mode(52, firmata.OUTPUT, firmata.DIGITAL)
firmata.set_pin_mode(53, firmata.OUTPUT, firmata.DIGITAL)

# configure 4 pins for 4 SONAR modules
firmata.sonar_config(6, 6)
time.sleep(.1)
firmata.sonar_config(7, 7)
time.sleep(.1)
firmata.sonar_config(37, 37)
time.sleep(.1)
firmata.sonar_config(39, 39)
time.sleep(1)

# create a forever loop that will sequentially turn on all LEDS,
# then print out the sonar data for the 4 PING devices
# then sequentially turns off all LEDS and print PING data again
print firmata.get_digital_response_table()
while 1:
    for i in range(46, 54):
        time.sleep(.1)
# instantiate PyMata
firmata = PyMata("/dev/ttyACM0")
time.sleep(2)

# configure a group of pins to control 8 LEDs
firmata.set_pin_mode(46,firmata.OUTPUT,firmata.DIGITAL)
firmata.set_pin_mode(47,firmata.OUTPUT,firmata.DIGITAL)
firmata.set_pin_mode(48,firmata.OUTPUT,firmata.DIGITAL)
firmata.set_pin_mode(49,firmata.OUTPUT,firmata.DIGITAL)
firmata.set_pin_mode(50,firmata.OUTPUT,firmata.DIGITAL)
firmata.set_pin_mode(51,firmata.OUTPUT,firmata.DIGITAL)
firmata.set_pin_mode(52,firmata.OUTPUT,firmata.DIGITAL)
firmata.set_pin_mode(53,firmata.OUTPUT,firmata.DIGITAL)

# configure 4 pins for 4 SONAR modules
firmata.sonar_config(6,6)
time.sleep(.1)
firmata.sonar_config(7,7)
time.sleep(.1)
firmata.sonar_config(37,37)
time.sleep(.1)
firmata.sonar_config(39,39)
time.sleep(1)

# create a forever loop that will sequentially turn on all LEDS,
# then print out the sonar data for the 4 PING devices
# then sequentially turns off all LEDS and print PING data again
print firmata.get_digital_response_table()
while 1:
    for i in range(46,54):
        time.sleep(.1)