# Getting Started ここではkonashi 5の基本的な使い方を紹介します。 Python SDK、ビジュアルプログラミングを使ったやり方を順番に説明します。 ## 1. Python SDK [Python SDK](https://github.com/YUKAI/konashi5-sdk-python)でkonashi 5を動かす手順とLEDを点滅させるコードを説明します。 ### 1-1. SDKのインストール まず、konashi 5のPython-SDKをインストールします。 ``` $ pip install konashi ``` ### 1-2. プログラム作成 次に以下のPythonプログラムをblink.pyという名前で作成します。 ```Python from konashi import * from konashi.Io.GPIO import * import asyncio # 接続するkonashiの名前 KONASHI_NAME = "ksXXXXXX" async def main(): k = Konashi(KONASHI_NAME) # 接続する(タイムアウト5秒) await k.connect(5) # GPIO1-4を出力として設定 pin = 0b00011110 await k.io.gpio.config_pins([ (pin, GPIOPinConfig( GPIOPinDirection.OUTPUT, GPIOPinPull.NONE, send_on_change = False )) ]) # 点灯パターン ■□■□ ->□■□■ onled = 0b00010100 while True: await k.io.gpio.control_pins([ (onled, GPIOPinControl.HIGH), # ONにするLED (onled^pin, GPIOPinControl.LOW) # OFFにするLED ]) onled = onled^pin await asyncio.sleep(0.5) main_task = None try: # main関数を実行 main_task = asyncio.run(main()) except KeyboardInterrupt: # Ctrl+Cで終了 main_task.cancel() ``` プログラムの流れは 1. konashiに接続する. 2. 使用するGPIO(1-4)を出力として設定する。 3. 点灯パターンに従ってON-OFFを繰り返す。 となります。 ### 1-3. 実行 そしてblink.pyを実行するとLED1-4が点滅します。 ``` python blink.py ``` ![konashi 5](./blink.gif) プログラムはCtrl+Cで終了します。 ## 2. ビジュアルプログラミング ビジュアルプログラミングでkonashi 5を動かす手順を説明します。 ### 2-1. ビジュアルプログラミング環境を起動 以下のURLにアクセスして、ビジュアルプログラミング環境を起動します。 [https://kurikit.ux-xu.com/play/](https://kurikit.ux-xu.com/play/) ビジュアルプログラミング環境についてはこちらの[note記事](https://note.com/kurikit/n/nbec5b1fbb045)を参考にしてください。 起動できたら、拡張機能からkonashi5を選択します。 ![konashi 5 app](./konashi5_app.png) 左上の「接続する」にチェックを入れます。 ![konashi5 scratch](./konashi_connect.png) デバイスを選んでペア設定をすればkonashi5との接続が完了します。 ### 2-2. Lチカ まずは赤色LEDを一つ光らせてみましょう。 赤色LEDはGPIOの1-4に当たるので、画像のように1番を出力に設定し、HIGHにするプログラムを作成します。 ![konashi5 blink](./konashi_blink.png) ブロックをクリックすると赤色LEDが光ります。 ![konashi5 led](./konashi_redled.JPG) ### 2-3. タクトスイッチ+Lチカ 次はタクトスイッチを押した時に赤色LEDが光るようにしてみましょう。 タクトスイッチはGPIO0に当たるので、0番を入力に設定します。 画像のように、タクトスイッチが押された時に赤色LED(1番)が光るプログラムを作成します。 ![konashi5 switch](./konashi_switch_led.png) 右上の緑の旗のマークを押すと、konashi5のタクトスイッチを押したときだけ赤色LEDが光るようになります。 ## 参考 ### Python SDKを用いたサンプルコード * [タクトスイッチとLED1-4を使う](https://github.com/YUKAI/konashi5-sdk-python/blob/master/examples/konashi_gpio/konashi_gpio.py) * [ADCでAIO0-3を読み取る](https://github.com/YUKAI/konashi5-sdk-python/blob/master/examples/konashi_analog_in/konashi_analog_in.py) * [ハードウェアPWMとソフトウェアPWMを使う](https://github.com/YUKAI/konashi5-sdk-python/tree/master/examples/konashi_pwm/konashi_pwm.py) * [SPI通信を行う](https://github.com/YUKAI/konashi5-sdk-python/tree/master/examples/konashi_spi/konashi_spi.py) * [I2Cで距離センサ(VL6180X)を使う](https://github.com/YUKAI/konashi5-sdk-python/tree/master/examples/konashi_i2c/konashi_i2c.py) * [UARTでhello world](https://github.com/YUKAI/konashi5-sdk-python/tree/master/examples/konashi_uart/konashi_uart.py) * [konashiのMeshを有効にする](https://github.com/YUKAI/konashi5-sdk-python/tree/master/examples/konashi_bluetooth_mesh_enable/konashi_bluetooth_mesh_enable.py) ### Python SDKを用いた作例 * [スマートオフィス:温湿度チェッカー](https://protopedia.net/prototype/3824) * [甘噛みハムハムタイムアタック](https://protopedia.net/prototype/3823) * [鍋振りアカデミー:炒飯達人への道](https://protopedia.net/prototype/3825) ### ビジュアルプログラミングを用いたサンプルコード * [タクトスイッチを押すと赤色LEDが光るプログラム](https://bitbucket.org/yukaiengineeringinc/konashi5-examples/src/main/Visual/switch_led.sb3) * [鼻で絵を描くプログラム](https://bitbucket.org/yukaiengineeringinc/konashi5-examples/src/main/Visual/drawing.sb3) * [人感センサが反応するとフルカラーLEDの色が変化するプログラム](https://bitbucket.org/yukaiengineeringinc/konashi5-examples/src/main/Visual/motion_detector.sb3)