def signal_handler(sig, frame): print('You pressed Ctrl+C') if board is not None: board.reset() sys.exit(0) signal.signal(signal.SIGINT, signal_handler) # Create a PyMata instance board = PyMata("/dev/ttyACM0") # Set the pin mode board.servo_config(5) board.set_pin_mode(12, board.OUTPUT, board.DIGITAL) board.set_pin_mode(0, board.INPUT, board.ANALOG) # Send query request to Arduino board.capability_query() # Some boards take a long time to respond - adjust as needed time.sleep(5) print("Pin Capability Report") print(board.get_capability_query_results()) print("PyMata Digital Response Table") print(board.get_digital_response_table()) print("PyMata Analog Response Table") print(board.get_analog_response_table())
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) firmata.digital_write(i, 1) print firmata.get_sonar_data() for i in range(46, 54): time.sleep(.1) firmata.digital_write(i, 0) print firmata.get_sonar_data()
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) firmata.digital_write(i, 1) print firmata.get_sonar_data() for i in range(46,54): time.sleep(.1) firmata.digital_write(i, 0) print firmata.get_sonar_data()