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以下)に変更してやると何事も無く書き込めるようになる。
(古いデバイス名を削除するスマートな方法を探し出せなかった・・)

2014/09/23

漢字フォントファイルからの漢字表示

SeeedStudio Arch Pro+Aitendo TFT-LCD = Music Player」で使用した「日本語フォントROM GT20L16J1Y」が在庫なしのままなので、代替としてフォントファイルを使用した漢字表示にトライしました。
漢字フォントは「JISX0213(所謂第3,4水準漢字)用bdfフォントのページ」で公開されている16×16版をバイナリ化しています。

フォントファイル:jiskan16.fnt
表示テストプログラム:GKanji16.cpp(mbed.orgからimport)

(more…)

2014/09/12

mbed NXP LPC1768+☆board Orange+aitendo=Music Player

前記事の「SeeedStudio Arch Pro+Aitendo TFT-LCD = Music Player」のソースコードを変更せずに、mbed NXP LPC1768+☆board Orangeにaitendo TFT-LCDを接続して、音楽再生します。

mbed NXP LPC1768+☆board Orange

mbed NXP LPC1768+☆board Orange

(more…)

2014/09/11

SeeedStudio Arch Pro+Aitendo TFT-LCD = Music Player

前回の記事でmbed LPC1768を使ったwavファイルの再生ができたので、タッチパネル付きのTFT液晶と組み合わせて音楽プレーヤーの形にしてみました。
CPUボードは、Arduino互換のインターフェイスコネクタの付いたSeeedStduioのArch PROを使用、SDメモリーカードのスロットの付いたaitendoのTFT液晶を組み合わせました。
この組み合わせに画面に曲名などの日本語を表示するために漢字フォントを接続します。
音楽データは、16bit/Stereo、32/44.1/48kbps形式の非圧縮wavファイルでを再生できます、音楽ファイルとセットになる楽曲情報(アーティスト/アルバム/曲名)、ジャケット画像(.jpg)が存在すれば、再生時に画面に表示します。

(more…)

2014/08/17

mbed NXP LPC1768+☆board Orangeで.WAVファイルの再生(2)

mbed NXP LPC1768+☆board Orangeで.WAVファイルの再生」の続きです。
出力のPWM値の書込処理時間短縮のために、PWM値を標準の実数値での書込みから整数値での書込みに(かなり強引な方法で)変更しました。
実数値で書込みを行った場合の割込処理時間は約7.6usでしたが、整数値での書込みにしたことで1.85usに短縮されます。
これによって、WAVファイルの読込時間が1.77msから1.21msと短くなりました。

(more…)

2014/08/15

mbed NXP LPC1768+☆board Orangeで.WAVファイルの再生

Arduino UNO/Mega 2560 .WAVファイルの再生」では、非力なCPUで「16000Hz/8bit/Mono」形式の.WAVファイルを再生してみました。
今回は、mbed NXP LPC1768で「44100Hz/16bit/Stereo」形式の.WAVファイルの再生を試行します。

「44100Hz/16bit/Stereo」形式になると単純計算で44,100*2*2=176,400(Byte/s)の転送能力が必要になります。
最初のネックはSDからの.WAVファイルの読み出し速度ですが、SDFileSystemのデフォルトでは、SPIのクロックは1MHzに設定されているために約125,000(Byte/s)となり、必要な転送速度を下回ります。
実験のためにSDFileSystem.cpp内のSPIクロックの設定を24MHzに変更し、3MB/s(理論値)の転送速度にして実験しています。

(more…)

2014/08/06

Intel Galileo GEN 2 超音波距離センサーモジュール

Galileo GEN 2のポート操作が普通の速さになったので、気を良くして、超音波距離センサーモジュール(HC-SR04)を接続して、パルス幅を読取るファンクションpulseIn()を使ったスケッチを試したところ、あっさりと動いてしまいました。
(以前にはpulseIn()は非サポートとなっていました)

Galileo GEN2 + HC-SR04

Galileo GEN2 + HC-SR04

(more…)

2014/08/05

Intel Galileo GEN 2 ポート操作速度計測

昨年末に「Intel Galileo ポート操作が異様に遅い」という記事を書きましたが、Galileo GEN 2が発売になり、購入しましたので再計測しました。
ポート操作(digitalWrite)の処理速度を確認するために、前回と同じ下記のスケッチでポート操作に必要な時間を計測してみました。

(more…)

2014/03/23

液晶表示のオシロスコープ

インターフェース誌2014/3、4月号に掲載された後閑先生の「アナログ・リッチPIC24FGCで作る高速オシロスコープ」で紹介されたMicrchip PIC24FJ64GC006を使って、先生の作例(PIC24FGCで波形生成と波形観測を行って、観測結果はBluetoothでタブレットに送信)とは違って、タッチパネル液晶に表示するオシロスコープを作ってみました。

オシロの全体写真

PIC24FJ128GC006を使ったオシロスコープ

(more…)