Skip to main content

PmodHAT3_0169f45fb4fa04f461e28fbceadf597cd8dc7ef3.jpg

Pmod HATアダプター(144-8419)を使えば、Pmodシリーズの拡張モジュールをラズパイに簡単に接続できる。作業は Pmod HATを装着しラズパイをブートするだけ。

Pmod HAT上には6ピン2列のPmodポートが3つ搭載されており、ここに繋がったPmodモジュールがラズパイのGPIOから制御できるようになる。さらにDesignSpark では、ラズパイ上で使えるPythonサンプルコードとデモチュートリアルを公開している。DesignSpark登録メンバーであればどなたでも自由に使う事が出来る。

Pmod KYPD(172-0813)は、0からFまでの16進形式を表すキーパッドボタンが配置された入力装置だ。列線を論理低レベルにデジタルで駆動し、各行をデジタルで読み取ることにより、ユーザーは現在どのボタンが押されているかを判別できる。これは、このプログラムを使用して独自の入力を設定する方法を示している。

Pmod_KYPD_9664e6bfa63966ffef7839614a7e458e3802fed4.png

初めに

まず、コンソールで以下を入力する。

sudo apt-get update

sudo apt-get dist-upgrade

sudo apt-get install -y build-essential git libusb-1.0-0-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libatlas-base-dev git automake byacc lsb-release cmake libgflags-dev libgoogle-glog-dev liblmdb-dev swig3.0 graphviz libxslt-dev libxml2-dev gfortran python3-dev python3-pip python3-setuptools python3-markdown python3-pillow python3-yaml python3-pygraphviz python3-h5py python3-nose python3-lxml python3-matplotlib python3-numpy python3-protobuf python3-dateutil python3-skimage python3-scipy python3-six python3-networkx libfreetype6-dev libjpeg-dev python3-gst-1.0 python3-picamera

sudo pip3 install pyserial

sudo pip3 install designspark.pmod

ラズパイのシリアル機能をオンにする。

sudo raspi-config

>5 Interfacing Options
>6 serial
>Would you like a login shell to be accessible over serial?
>No
>Would you like the serial port hardware to be enabled?
>Yes

 

このプログラムコードは、Pmod KYPDをPmod HATアダプターJAスロットに挿入する必要があることを意味する。 

if __name__ == '__main__':
    
    KYPD = createPmod('KYPD','JA')
    time.sleep(0.1)

次に、Pmod KYPDを以下のラベルが付いたJAスロットに差し込む。

JA1_2f4151ff52e0ba877b3ab213a04ca463d98623ce.png

try:
        # set default key map
        KYPD.setKeyMapDefault()
        
        # set User Key Map
        # keyMap=[['A','B','C','D'],['E','F','G','H'],['I','J','K','L'],['M','N','O','P']]
        # KYPD.setKeyMap(keyMap)
        
        # get keyMap
        print(KYPD.getKeyMap())
        while True:
            # print(KYPD.getColRow())
            print(KYPD.getKey())
            time.sleep(0.5)
    except KeyboardInterrupt:
        pass
    finally:
        KYPD.cleanup()

KYPD.getKeyMapは、端末で出力したいものをkeyMapに設定する関数となっている。

必要に応じてキーマップを変更できる

sudo python3 /home/pi/Desktop/DesignSpark/example/KYPD_example.py

or 

sudo python /home/pi/Desktop/DesignSpark/example/KYPD_example.py 

Screenshot_2020-01-03_at_10.18_.24_AM__54b76811a61f353fcf497d2030d79d69c1565919.png

その他のPmodのライブライについては、以下からご参照ください.
Brian0925 さんはまだ自己紹介を入力されていません...
DesignSpark Electrical Logolinkedin