はじめに
この記事はWHILL Advent Calendar 2018の6日目の記事です。
今流行りのM5StackでModel CRが制御できるので、一番簡単な電源ON/OFFをやってみました。
WHILL Model CRとは
RS232Cで外部から制御できるパーソナルモビリティです。
詳しくはこちらのページご参照ください。
https://whill.jp/model-cr
準備するもの
- WHILL Model CR
- M5Stack
- 極小RS232-TTLコンバータモジュール- Dサブ9ピン オスコネクタ
接続方法
M5StackのHardwareSerial2(16,17pin)を使うため、Model CRから出ているRS232Cケーブルから、下記のポートに接続します。
M5Stack | RS232C-TTLコンバータ |
---|---|
16pin(RXD) | TXD |
17pin(TXD) | RXD |
あとは、3.3VとGNDを各々接続します。
Arduino SDKの取得
Model CR用のArduino SDKをダウンロードしてライブラリに追加します。
M5StackではHardwareSerialを使用するので、esp32ブランチを使用してください。(masterはSoftwareSerialを使用しています。)
ライブラリの詳しい使用方法はこちらの記事を参照ください。
ArduinoからWHILL Model CRを動かす
電源ON/OFFのコーディング
このようなコードを書けば電源ON/OFF出来ます。
- Aボタン:電源ON
- Bボタン:電源OFF
#include <M5Stack.h>
#include "WHILL.h"
#define LCD
WHILL whill(&Serial2);
void setup()
{
Serial.begin(115200);
// Power ON Stabilizing...
delay(500);
M5.begin();
M5.Lcd.setTextColor(GREEN);
M5.Lcd.setTextSize(4);
M5.Lcd.clear(BLACK);
}
void loop() {
M5.update();
if (M5.BtnA.wasPressed())
{
whill.setPower(true); // Turn WHILL on
M5.Lcd.clear(BLACK);
M5.Lcd.setCursor(0, 0);
M5.Lcd.println("POWER ON");
}
if (M5.BtnB.wasPressed())
{
whill.setPower(false); // Turn WHILL off
M5.Lcd.clear(BLACK);
M5.Lcd.setCursor(0, 0);
M5.Lcd.println("POWER OFF");
}
}
#おまけ
POWER ON/OFFのテキスト表示だけだとそっけないのでアバターくんに喋らせてみました。
M5StackからWHILL Model CRの電源を入れられるようにしたので、ついでアバターも喋らせてみた。#M5Stack #WHILL pic.twitter.com/RQkiMcpuuO
— Katsushun89 (@katsushun89) 2018年12月7日
最後に
M5 StackにつないでModel CRの電源ON/OFFしてみました。
Arduino SDKにはJoystickの制御など諸々用意されていますので、簡単にM5Stack経由でModel CRを動かすことも出来ます。
是非試してみてください。