米粒AVRでSoftModem的なこと

米粒AVRからAndroidへデータを送る

米粒AVRとAndroidを繋いで、データのやりとりを行ってみたいと思います。
2つを繋ぐインターフェースは、イヤホンジャック経由の音声データです。

以前、ArduinoとAndroidをイヤホンジャックで繋ぐSoftModemを試したことがありますが、その時とは若干通信手段が異なります。
以前は音声データの周波数の変化でデータを識別していたのですが、米粒AVRでは単純な赤外線リモコンのプロトコル(と言うのか?)を利用します。

簡単に言うと、米粒AVRで作ったリモコン送信機とAndroidのイヤホンジャックに接続するリモコン受信機を直付けすると「米粒AVRからAndroidへデータを送る」ことができると言うことで、今回はその実験です。

 

回路

回路としては、リモコン送信機の回路の赤外線LEDの部分を、イヤホンジャック用に変更。
プログラムもリモコン送信機のものをそのまま使います。
ちなみに、電源は乾電池2本で3Vを想定しています。

tiny10→Android 送信テスト回路
※2013/4/10 回路修正しました。抵抗(R3)を追加しています。

 

Tiny10用 ソース

リモコン送信機のプログラムをそのまま使います。

 

Androidでデータ受信のテスト

データの受信に使うのは、 こちらのSoundIR Analyzerというリモコンデータの解析アプリ。

soundIR スクリーンショット2
受信開始ボタンを押して、アプリを受信待機中にします。

 

ボタンを押す
アプリが受信待機中になれば、作った回路のスイッチ1を押します。

 

tiny10→Android 送信テスト3
正しく受信できれば、このような波形が表示されます。

 

tiny10→Android 送信テスト4
フォーマット解析を行って、受信したデータを確認する。

これはスイッチ1を押した時のデータなので Data(HEX)に 01,00,00,01 が表示されれば正解。
スイッチ2を押した時には、データが 01,00,00,02
スイッチ3を押した時には、データが 01,00,00,03
となるはず。

リモコン送信機のページでも説明していますが、このデータは、ソースの35行目~で指定しています。
ここを変更すれば、受信するデータが変わります。

uint8_t ch_data[][DATA_BYTE_COUNT]=<br />
{<br />
    {0x01,0x00,0x00,0x01},    // ch0<br />
    {0x01,0x00,0x00,0x02},    // ch1<br />
    {0x01,0x00,0x00,0x03},    // ch2<br />
};<br />

 

以上、

「米粒AVRからAndroidへデータを送る」SoftModemのようなことができることが確認できました。

これとは逆に、Androidのイヤホンジャックに接続するリモコン送信機と米粒AVRで行うリモコン受信処理をくっつけるとAndroidから米粒AVRへデータを送ることができるはずで、次は「Androidから米粒AVRへデータを送る」のに挑戦したいと思います。

 

関連記事

no image

Android+Arduinoでリモコン3 その2(AndroidAccessory接続)

何度か、Android+リモコンのネタを書いたことがあるのですが、今回はAndroid Access

記事を読む

Androidで気圧高度計

androidで気圧・高度計(LPS331AP使用)

Androidと大気圧センサー(LPS331AP)をイヤフォンジャックで繋いで気圧と高度、ついで

記事を読む

米粒AVRで温度計

米粒AVRで温度計(STTS751使用)

前回までに紹介したI2CライブラリとLCDライブラリを使って作る、温度計のサンプルです。 温度

記事を読む

no image

オシロスコープを手に入れた

ついにオシロスコープを買っちゃいました。 と言っても、DSO QUADと言うポータブルタイプの

記事を読む

no image

Androidで一眼レフカメラのシャッターを制御する

またSoftModemネタです。 調子に乗って arms22さんの記事 iPhoneで一眼レフカメ

記事を読む

no image

SoundIRModemライブラリのサンプル

 SoundIRModemライブラリは、米粒AVR(Tiny10)とAndroid端末をイ

記事を読む

no image

S2 Resistor Color Code 公開しました。

このアプリは、抵抗のカラーコードから抵抗値を素早く見る為のAndroidアプリです。 4本帯と、5

記事を読む

no image

Atmel Studio 6

米粒AVR(ATtiny10)の開発を行う為に、Atmel Studio 6.0をインストールし

記事を読む

Raspberry Piのサウンドを試したら音が出なかった話

(これはX-WindowのVLCメディアプレイヤーのスクショ) Raspberry Piでは、

記事を読む

no image

米粒AVRでLチカ

  米粒AVR(ATtiny10)でLチカしてみました。 LチカとはLEDをチカチカと

記事を読む

Arduinoで温湿度計 #2

今回は、前回作った温湿度計にRTCモジュールとSDカードアダプタを

Arduinoで温湿度計

秋月電子の温湿度モジュールを使って、温湿度計を作ってみました。 以前

ArduinoでSDカード

電子工作で大量のデータを保存する方法を調べていると、 Arduin

秋月のリアルタイムクロック(RTC)モジュール

今回は秋月電子のI2C接続のリアルタイムクロック(RTC)モジュールを

秋月の小型キャラクタLCD

今回秋月電子で売られている小型のキャラクター液晶2種を買ったので、

PAGE TOP ↑