米粒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でSoftModemを試してみた

今回、ここで言うSoftModemとは、携帯電話のオーディオ端子(イヤホン・マイク端子)を利用し

記事を読む

no image

S2 Resistor Color Code 公開しました。

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

記事を読む

no image

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

以前書いた、Androidで一眼レフカメラのシャッターを制御するでは、AndroidとArduino

記事を読む

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

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

記事を読む

no image

USBホストケーブルとUSBケーブルの違い

USBホストケーブル(OTGケーブル)と普通のUSBケーブルの違いは、USBホストケーブルとして振る

記事を読む

no image

Atmel Studio 6

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

記事を読む

Raspberry Piの起動SDカードを準備する

先日入手したRaspberry PiでLinuxを起動する為のSDカードを準備します。 Ras

記事を読む

no image

米粒AVRでLチカ

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

記事を読む

Androidで温度計

Androidで温度計(STTS751使用)

  Androidに温度センサー(STTS751)を繋いで温度表示してみました。 温度

記事を読む

no image

AndroidにPS2キーボードを繋いでみた

@yishiiさんの素のAndroid端末を外部のキーにより操作する実験と言う記事を参考に、Ardu

記事を読む

Arduinoで温湿度計 #2

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

Arduinoで温湿度計

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

ArduinoでSDカード

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

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

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

秋月の小型キャラクタLCD

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

PAGE TOP ↑