2016年6月12日日曜日

Symaマルチコプターに付いているカメラの制御 ー Arduino偏

 SymaのマルチコプターX5シリーズに付いているカメラ(SDカードに記録するタイプ)をArduinoで制御してみました。このカメラは、AliexpressでSDカード(4G)、カードリーダー付きで1500円程度で購入できます。
 
○カメラのコントロール方法
 制御端子(黄色)に300ms以下のパルス(アクティブLOW)入力で静止画撮影を、300ms以上のパルス入力で動画撮影を開始します。動画撮影は再度パルスを入れると停止します。

○回路図
 

○プログラム(スケッチ)
FlexiTimer2インストールしてください。




2016年6月9日木曜日

FMラジオモジュールの制御 - Arduino偏

 Arduinoはライブラリがあるので、RRD-102 v2.0(FMラジオモジュール)の制御も簡単にできます。


 Radioのほうが機能も、サポートするチップも多くお勧めです。

○ライブラリのインストール
 Radioライブラリをダウンロードしてインストールします。

○回路・配線図
  PCからのUSB給電の場合、電源にノイズが乗りFMの受信に影響します。このため、RRD-102 v2.0の3.3Vは別電源から供給するのが望ましいです。

・FMラジオ
 
※I2Cのロジックレベル変換の部品は適当なモノで書いています。実際には、次の部品を使用しました。

・キーパッド
 
 

○プログラム




MP3モジュールの制御 - Arduino偏

MP3モジュール(Grove - MP3 v2.0)の詳細は、次のページを参照してください。


○ライブラリのインストール
 Grove – Serial MP3 Player V2.0のライブラリをダウンロードして、インストールします。
 ※このライブラリは基本的な機能のみサポートしています。

○回路・配線図


○プログラム(スケッチ)





2016年6月7日火曜日

Johnny-Fiveでマイコン制御6 - OLEDディスプレイ



○使用部品

○OLEDディスプレイ制御端子
Arduino A4(SDA)、A5(SCL)
Raspberry Pi SDA0、SCL0

○配線
・Arduino











Raspberry Pi
 
※OLEDディスプレイの形状は異なります。

○Node.jsモジュールのインストール
 次のように操作して、「oled-js」と関連モジュールをインストールします。
①コマンドプロンプト、またはターミナルを起動し、作業用フォルダに移動します。
②「npm install oled-js」と入力します。
③「npm install pngparse png-to-lcd oled-font-5x7」と入力します。

oled-js」の詳細は、こちらを参照してください。

○プログラム
◇Arduino
・テキスト表示


・グラフィックス(PNG画像を変換)表示

 



※上半分が影があるように暗くなっていますが、目視では見えません。



◇Raspberry Pi
・テキスト表示



・グラフィックス(PNG画像を変換)表示



OLEDディスプレイの制御 -Arduino偏

 AliExpressの電子部品がとても安いので、最近よく利用しています。無料配送だと、届くまで時間がかかりますが。
 今回は、OLEDディスプレイを購入して、遊んでみました。
 

○配線図
 
※OLEDディスプレイの形状は異なります。

○I2Cアドレスの確認
 次のスケッチをArduinoに書き込み、シリアルモニターでI2Cアドレスを確認します。


○ライブラリのインストール
Adafruit SSD1306」「Adafruit GFX」ライブラリをダウンロードしてインストールします。

○サンプルスケッチの書き込み
①[ファイル]→[スケッチの例]→[Adafruit SSD1306]→[ssd1306_128x64_i2c]を選択します。
②I2Cのアドレスを確認したアドレスに書き換えます。

  display.begin(SSD1306_SWITCHCAPVCC, 0x3D);  // initialize with the I2C addr 0x3D (for the 128x64)
  ↓
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3D (for the 128x64)

③「#if~#endif」の3行をコメントアウトします。
④[スケッチ]→[マイコンボードに書き込む]を選択します。


2016年6月2日木曜日

50円で作るFMラジオ - IchigoJam偏

 RRD-102 v2.0(FM ステレオ ラジオ RDA5807M ワイヤレス モジュール)をIchigoJamで制御してみました。

○回路図
 


・使用部品
   電解コンデンサ 4.7μF × 2
 ※アンテナは電波状況が良いところなら、ジャンパワイヤー等で代用できます。
 ※RRD-102 v2.0は、AliexEressで50円程度で購入できます(表題の50円はこの価格です)。

○プログラム


 キーボードの方向キー[→]でシークアップ、[←]でシークダウンで選局します。受信周波数を直接指定する場合には、10行目に受信周波数(×100)を入力します。たとえば、81.8MHzを受信したい場合は、「F=8180」と指定します。音量は調整できません。

2016年6月1日水曜日

50円で作るFMラジオ - Rasberry Pi&Node.js偏

 RRD-102 v2.0(FM ステレオ ラジオ RDA5807M ワイヤレス モジュール) をRasberry Pi&Node.js(Johnny-Five)で制御してみました。RRD-102 v2.0は、AliexEress50円程度で購入できます。
 
○回路、配線図
 

・使用部品(ゼロから揃えると、50円では、収まりませんが....)
   電解コンデンサ 4.7μF × 2
 ※アンテナは電波状況が良いところなら、ジャンパワイヤー等で代用できます。

○プログラム 
 受信周波数を直接指定する場合には、「setFrequency」関数を使います。引数に受信周波数(×100)を指定してください。たとえば、81.8MHzを受信したい場合は、「setFrequency(8180)」と指定します。シーク機能で選局するには、「seekUp」「seekDown」関数を使用します。音量は「setVolume」関数で設定します。設定範囲は、0x00~0x0Fです。