Make: Tokyo Meeting 07に3日行ってきました。
そこで、以前からお世話になってるブログ(なんでも作っちゃう、かも。)の方が出展しており、 DotsduinotというArduino互換のオリジナル製品を売っていたので買っちゃいました。
それで、折角なのでAndroidからDotsduinoを制御できるようにしてみました。
正確に言うと、シリアル通信で、命令をDotsduinoが受け取り表示するといった流れなので、 そのままPCからも制御できちゃいます。
【追記】
動画をアップロードしました
- Dotsduino側のソース
#includeDots myDots = Dots(); void setup() { Serial.begin(9600); Serial.println("Start"); myDots.begin(); } void loop() { int msg[4] = {0}; int i = 0; int flag = 0; // 3バイトを超えてバッファされないと処理しないようにする if (Serial.available() > 3) { i = 0; while(i < 4) { msg[i] = Serial.read(); if (msg[i] < 0) { break; } i++; } // 念のためのデータチェック用 if (msg[0] == '@') { myDots.write(msg[1], msg[2], msg[3]); } } }
とりあえずこれだけで、PCからでも"@111"や"@250"といった形のデータを送れば付けたり消したり出来ます。
ただ、msg[1]〜msg[3]は数値である必要があるのでASCIIコードで送ると、49とか50といったデータが送られてくるので、次のように変更するといいかもしれません。
myDots.write(msg[1] - '0', msg[2] - '0', msg[3] - '0');ただ、これはPCからASCIIコードで送る場合の処置です
数値として送る場合には不要です。
Android側のソースは後日綺麗にしたらGithub上に上げておきます。
https://github.com/iwata-n
#以下アフィリエイト用の広告です
0 件のコメント:
コメントを投稿