PyMataでArduinoを操作する(digital_read)


今回はPyMataのdigital_readの機能を紹介します。
使用する回路は以下の回路です。
ボタンは普通の(モーメンタリ動作の)プッシュボタンです。



Raspberry側のコードは以下のようになります。
#!/usr/bin/env python

import sys
import time
import signal

from PyMata.pymata import PyMata

# Digital pins
GREEN_LED = 6
PUSH_BUTTON = 11

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

def signal_handler(sig, frame):
    print('You pressed Ctrl+C')
    if board is not None:
        board.close()
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)

# Set pin modes
board.set_pin_mode(GREEN_LED, board.OUTPUT, board.DIGITAL)
board.set_pin_mode(PUSH_BUTTON, board.INPUT, board.DIGITAL)


# A forever loop until user presses Ctrl+C
while 1:
    digital = board.digital_read(PUSH_BUTTON)
    print(digital)
    board.digital_write(GREEN_LED, digital)
    time.sleep(0.5)

実行すると、ボタンを押している間だけ、LEDが点灯します。

続く...