米粒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へデータを送る」のに挑戦したいと思います。

 

関連記事

Raspberry Pi ロゴマーク

Raspberry Piのリビジョン

リビジョンの種類 現在、Rapsberry Piにはリビジョン1とリビジョン2と呼ばれる2つの

記事を読む

no image

Arduino + USBホストシールド で ADK を試す(その2)

前回「Arduino + USBホストシールド で ADK を試す(その1)」では、Androidで

記事を読む

no image

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

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

記事を読む

no image

Android + Arduino でリモコン

今こんなのを作ってますと言う動画です。   DoCoMoのFOMA携帯

記事を読む

no image

Android+Arduinoでリモコン4(Microbridge接続)

前回AndroidAccessory接続で作った赤外線学習リモコンを、今回はMicrobridge接

記事を読む

no image

SoundIRModemライブラリのサンプル

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

記事を読む

no image

米粒AVRで小型8連ナイトライダーを作ってみた

米粒AVR(ATtiny10)を2つ使って、8つのLEDを順番に点灯しています。 &nbs

記事を読む

米粒AVRで温度計

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

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

記事を読む

no image

Android + Arduino でリモコン2 (softmodem接続)

以前、LAN接続のリモコン Android + Arduino でリモコン と言うものを作ったのです

記事を読む

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

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

今回は秋月電子のI2C接続のリアルタイムクロック(RTC)モジュールを買ったので、ちょっと試してみま

記事を読む

Arduinoで温湿度データロガー
Arduinoで温湿度計 #2

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

Arduinoで温湿度計
Arduinoで温湿度計

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

SDカード・マイクロSDカード
ArduinoでSDカード

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

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

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

秋月電子 キャラクタLCD
秋月の小型キャラクタLCD

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

PAGE TOP ↑