2017/01/02

MUGBOT/Fabbotにセンサーを付けたい

2017/1/27: p19「USB-シリアルアダプタの接続」ピンの誤記を訂正しました。
 
PDFファイルが開きます:


2016/12/29

Scratch Boardを作る

2017/1/4 スケッチ、試験プログラムを3.02に更新しました。
 
Scratch上から色々なセンサーの情報を取込むためのScratch Boardがありますが、規定以外のセンサーを接続するのは難しいために、非標準のセンサーを接続できる同等機能のボードの作成します。

日本で入手可能なScratch Boardが「日本で買えるScratchセンサーボード」で紹介されています、また「Scratch Boardの仕様」についても紹介されています。
この中で「ちっちゃいものくらぶ」の「NanoBoardAG」がファームウェアも公開されており改造できそうです、また「スイッチサイエンス」の猫の形で可愛らしい「nekoboard2」も同様に公開されていますが、ファームウェアの改変は非推奨(ISP端子から書換えられる?)のようです。
どちらも安価ですが、現状のMUGBOT/Fabbotは、既にRaspberry PiとArduinoを使用しており、更にマイコンボードを追加して豪華な構成になるのは避けたいところです。
そのために、現行のMUGBOT/Fabbotに使われているArduino上に組込み、超音波距離センサーの計測値をScratch上で読取れることを目標にします。

使用するセンサーに応じてスケッチを変更することができますので、ちょっと変わったセンサーを使用してMUGBOT/Fabbotが操作者からの応答を受取ることができるようになります。
押しボタンスイッチなどとは違ったセンサーで操作者と対話形式のScratchプログラムを作るのも楽しいと思います。

注意)筆者はScratchには習熟していないために、ここで書かれた方法以外にスマートな方法があるかも知れません・・

【続きを読む】

2015/11/15

ESP-WROOM-02の Flash File System(FFS) を使ってみる

ESP-WROOM-02には32Mbit(4MByte)のFlashメモリーが搭載されています。このFlashメモリー内の最大3MByteをFlash File System(FFS)に割り当てることができます。(注あり)
音楽ファイルのような大きなファイルは格納できませんが、スケッチ実行時に使用するSSIDやパスワードなどのパラメータの保存に使うには十分な大きさです。

Flash File Systemについては、Referenceの「File system」に説明があります。
http://arduino.esp8266.com/versions/1.6.5-1160-gef26c5f/doc/reference.html

【続きを読む】

2015/11/02

Arduino時計をESP-WROOM-02でNTP同期させる

前記事の「Arduino+7Seg LED+RTCでデジタル時計」にESP-WROOM-02を接続して、NTP時刻同期します。
WROOMはWi-Fiアクセスポイント経由で60秒毎(正常動作が確認できたら間隔は長くする)にタイムサーバに接続し、標準時刻を受信します。受信した時刻情報はUART経由でArduino UNOに送出し時刻を同期させます。
Arduino UNO側のスケッチはそのままです。

Arduino+ESP-WROOM-02デジタルクロック全体写真

Arduino+ESP-WROOM-02

Arduino+ESP-WROOM-02

【続きを読む】

2015/11/01

Arduino+7Seg LED+RTCでデジタル時計

部品箱で眠っているArduinoに安い7Seg LEDを接続してデジタル時計を作ります。
簡単にするために4桁(12:34)のLED(4桁7セグLED表示器 [BW428G-E1-10MM])を使います。
Arduinoの内部クロックでは精度が得られないので高精度(月差13秒程度)のRTC(RX-8025NB使用 I2C接続リアルタイムクロック(RTC)モジュール)を接続しました。
*RTCを接続しなくても動きますが精度は悪いです・・

電源投入時は、00:00で計時開始します、時刻合わせは「YYMMDDhhmmss+CR(‘\r’)」の形式でUARTに書込めば同期します。

全体の写真

Arduino 7SEG 時計全体

Arduino 7SEG 時計全体

【続きを読む】

2015/10/24

ESP-WROOM-02 Wi-Fiラジコンカー(2)

前記事の「ESP-WROOM-02 Wi-Fiラジコンカー」の受信側を基板化しました、モータードライバにJRCのデュアルフルブリッジドライバ NJM2670E3-TE2を使って小型化しました、基板はEagleでレイアウトし、スイッチサイエンスの基板製造サービスを使用しました。

受信機側のスケッチはモータードライバを変更しても「Wi-FiラジコンカーをAndroid OSCアプリで操作する」と同じコードで動きます。

ESP-WROOM-02

ESP-WROOM-02

【続きを読む】

2015/10/13

加速度センサ(ADXL345)を使ったWi-Fiラジコン・コントローラ

加速度センサ(ADXL345)を使ったWi-Fiラジコンカーのコントローラを作りました。
スマホを使えない幼児向けのコントローラになります。
ESP-WROOM-02にI2Cで3軸加速度センサ(ADXL345)を接続します。
コントローラからWi-Fi AP(SoftAP)モードのラジコンカーに接続し、UDPパケットで左右のモータの速度制御データを送信します。
UDPパケットをiOSCの形式に合わせることでラジコンカー側の変更を不要にします。
このコントローラをおもちゃの「魔法の杖」とか「おきあがりこぼし」などに組込めば面白いかと・・・(^-^;

操作方法

操作の方法

これを使って操作してみました。

【続きを読む】

2015/09/18

Wi-FiラジコンカーをAndroid OSCアプリで操作する

前記事の「ESP-WROOM-02 Wi-Fiラジコンカー」ではApple Store AppのiOSCを使って操作しましたが、今回はAndroid携帯から操作するアプリを紹介します。
Android上でもOSCアプリは多くありますが、その中でラジコンのコントローラーっぽい操作画面に設定できるAndrOSCを使用します。(Android版でも同様にアクセスポイント無しで直接接続できます)

AndrOSCのダウンロードサイト(寄付アプリ)

AndrOSCで設定した操作画面

AndrOSC操作画面

AndrOSC操作画面

AndrOSCネットワーク設定画面

AndrOSCネットワーク設定画面

AndrOSCネットワーク設定画面

【続きを読む】

2015/09/15

ESP-WROOM-02 Wi-Fiラジコンカー

安価なWi-Fiモジュールを使ってiPhoneから操作するラジコンカーを作りました。

リモコン受信側(ESP-WROOM-02)
受信側はAPモードで動作し、アクセスポイント無しでiPhoneと直接接続します。
左右にギアモータを取付けた台車(バッテリケース)に搭載し、iPhone上のiOSCアプリからのコマンドを受信して動作します。
コマンドは、左右のモータ回転速度、回転方向の制御、ヘッドライトの点灯、警笛の鳴動を用意しました。
*モーターの大きさに比べてフルブリッジが大きめですが、旧作の流用ですので・・

ESP-WROOM-02 Wi-Fiラジコンカー

ESP-WROOM-02 Wi-Fiラジコンカー

【続きを読む】

2015/06/04

Edison Kit for Arduino スケッチが書き込めない

久々にPWMの記事を書くためにEdison Kit for Arduinoのファームウェアを更新して、サンプルスケッチを書き込もうとしたところ、以下のようなエラーが表示されて書込みができない。

C:\Intel\arduino-1.6.0+Intel/hardware/intel/i686/tools/izmir/clupload_win.sh: line 56: /dev/ttyS66: Read-only file system

エラーが表示されるメインPC(Win7/32bit)とは別のノートPC(Win7/64bit)ではエラーなしで成功する。
試行錯誤の結果、仮想COMのデバイス名が大きくなりすぎているのが原因らしい。
Edison Linux上ではttyデバイスはtty63まで存在するが、送り込む方(Win7)は COM67とかになっている。
(Arduino、mbed、Galileo など仮想 COM デバイスを色々と使っているので・・)

このデバイス名を無理やりCOM64とか(64以下)に変更してやると何事も無く書き込めるようになる。
(古いデバイス名を削除するスマートな方法を探し出せなかった・・)