26
2016.10.5 IoTLT@大阪 西村備山@奈良キカイケン ESP8266でラジコン基板

Esp8266でラジコン基板

Embed Size (px)

Citation preview

2016.10.5 IoTLT@大阪

西村備山@奈良キカイケン

ESP8266でラジコン基板

自己紹介

西村備山 (@lipoyang)

■奈良県在住&勤務

■組込み系技術者

■歩くミニ四駆

歩くミニ四駆

ニコニコ動画で 40万再生

前回のあらすじ

前回やったこと

BLE

DataStore

send

Android (中継機)

Webアプリ 歩くミニ四駆

Milkcocoa

Milkcocoaとは

データの通知/保存と取得が フロントエンドのコーディングだけで 簡単に行えるバックエンドサービス・

BLEラジコン基板

Arduino互換のマイコン

BLEモジュール

DCモータ×2, RCサーボ×3

現在は、イベント等で頒布

GPduino(じーぴーどぅいーの)

http://lipoyang.net/gpduino

今回のテーマ

中継器が邪魔

BLE

DataStore

send

Android (中継機)

Webアプリ 歩くミニ四駆

WiFiで直接ネットにつなぎたい

WiFi

DataStore

send

Webアプリ 歩くミニ四駆

WiFiモジュールの選定

ESP8266

ていうか、ESP-WROOM-02 (ESP8266はチップの名前)

ESP8266 の特長

• 技適ずみWiFiモジュール

• とにかく安い (秋月で550円)

• ファームを書き換え可能

• ArduinoIDEで開発可能

• LuaやPythonやJavaScriptでも

ていうかESP-WROOM-02

• 32bit CPU 80MHz (ただしARMではない)

• データRAM 80kB (SDKが約30kB使用)

• SPIフラッシュ 4MB (SDKが約220kB使用)

ESP8266 のスペック ていうかESP-WROOM-02

WiFiラジコン基板の設計

コンセプト

• GPduinoのWiFi版

• 基板外形やコネクタはGPduinoと同等

• 無線通信機能をBLEからWiFiに変更

• ESP8266(ESP-WROOM-02)を採用

GPduinoWiFi

回路図

アートワーク

⇒ Elecrowに発注

実装

設計ミス orz ESP8266

シリアル

I2C

DCモータ×2 RCサーボ×3

Milkcocoa SDK

Milkcocoa ESP8266 SDK

MilkcocoaはESP8266に対応

Arduino用ライブラリが提供されている

https://github.com/milk-cocoa/ Milkcocoa_ESP8266_SDK

Milkcocoaクラス

• send() :データの送信

• push() :データの送信&保存

• on() : sendやpushのコールバック登録

• loop() : メインループから呼び出すこと

【参考】ESP8266やArduinoでMilkcocoaを使う方法

http://blog.mlkcca.com/iot/milkcocoa-arduino/

Milkcocoa::loop()に注意!

void loop() { // 以下をloopの中で必ず実行します // 歩くミニ四駆の歩行制御 int phase180; // 半周期ずれ位相 switch(walk_state) { // 停止状態 case STATE_STOP: if( walk_dir != 0){

⇒ とりあえず、ライブラリをハックして対応

制御ループが回らない!

milkcocoa.loop(); ここに1秒も

留まる!

できあがり

歩いた!

※ 前回は動画埋め込んだら フリーズしちゃったので、 実演は後で見てください。

ご清聴ありがとうございました

奈良キカイケン http://kikaiken.lipoyang.net

12/3 (土) ~4(日) 大垣市 ソフトピアジャパン

出展予定