※貼付された画像はクリックすると拡大できます。
Make:>>SoftModem2 : ArduinoとiPhoneを繋げる [Make:]
「ArduinoとiPhoneを繋げる」ための方法としてOTOduinoとSoftModemというものがあると知った。両方を試してみた。OTOduinoについては既に投稿したので、今度はSoftModemについて投稿。
[写真の説明]
まずは写真の説明。
左側の青いのがArduino UNO R3、白いのがブレッドボード。その上側の赤いのがSoftModem2。右側がiPhone 4S。
ブレッドボードには半固定抵抗(Arduino側からの出力)、LED(Arduinoへの入力)を配置。
[SoftModem]
SoftModemについての情報は@armsさんのGoogleCode参照。
ただし、現在市販されているのはSoftModemインターフェーズボード2で上記のものと少し異なる。
私に分かった相違点。
1) 基板の形。2は縦長。
2) 2には半固定抵抗がない。
3) 基板上にAIN1という文字はなくVREFになっている。
[組立上の注意点]
製品はキットなので要ハンダ付け。
なお、「PUT SOLDER」のハンダジャンパー箇所に半田付けする。(販売元のスイッチサイエンスさんに確認した。)
そして、ここ重要、利用するオーディオケーブルはOTOduinoと同様に4極ストレートケーブルが必須。(説明に書いてあるのに間違いに気付かず。。。)
私は、ジャンパーのハンダ付けとオーディオケーブルが原因で動作させられず試行錯誤しました。
[プログラム]
Arduino、iPhone用のプログラムは先述のGoogleCodeから取得。
OTOduinoと異なりiPhone用のアプリは自分でコンパイルする必要がある。
用意されているアプリ「SoftModemTerminal.app」は、ターミナルソフトのようなもの。iPhone側で文字入力するとArduino側に転送され、それがArduinoからシリアル回線で返送される。
iPhone用のプログラムをXCode4.2を使ってiOS5.01向けにコンパイル。warningが数件出ましたがコンパイルでき動作テストで動作確認できました。
[動作テスト]
ダウンロードしたArduinoプログラムを修正して動作テスト用のプログラムを作成。
iPhoneから"h"を入力するとLEDが点灯、"l"を入力すると消灯するようにした(Digital PIN12利用)。また、半固定抵抗を回すとその値がiPhone側に表示されるようにした(AnalogPin 1利用)。
そして、写真のごとく動作しました。
ということで、ArduinoとiPhoneがやりとりできる環境が二つ揃いました。でも、iPhoneアプリを作るというのが難関ですな。ふと思ったのだが、シリアル接続出来ればこんな苦労は不要なわけですね。iPhoneがもうちょっとオープンになることを願います。Androidのほうが自由度が高いのだろうな。
しかし、このブログレイアウトでは内容を伝えるのが手狭になってしまうな。ソースコード添付できないし。そのうちMake:関係だけは引っ越ししようかな。
------
関連サイト
@arms22さんのSoftModemに関するGoogleCode
@arms22さんのブログ(SoftModemのカテゴリー)
SoftModem2の購入先としてスイッチサイエンス
[写真の説明]
まずは写真の説明。
左側の青いのがArduino UNO R3、白いのがブレッドボード。その上側の赤いのがSoftModem2。右側がiPhone 4S。
ブレッドボードには半固定抵抗(Arduino側からの出力)、LED(Arduinoへの入力)を配置。
[SoftModem]
SoftModemについての情報は@armsさんのGoogleCode参照。
ただし、現在市販されているのはSoftModemインターフェーズボード2で上記のものと少し異なる。
私に分かった相違点。
1) 基板の形。2は縦長。
2) 2には半固定抵抗がない。
3) 基板上にAIN1という文字はなくVREFになっている。
[組立上の注意点]
製品はキットなので要ハンダ付け。
なお、「PUT SOLDER」のハンダジャンパー箇所に半田付けする。(販売元のスイッチサイエンスさんに確認した。)
そして、ここ重要、利用するオーディオケーブルはOTOduinoと同様に4極ストレートケーブルが必須。(説明に書いてあるのに間違いに気付かず。。。)
私は、ジャンパーのハンダ付けとオーディオケーブルが原因で動作させられず試行錯誤しました。
[プログラム]
Arduino、iPhone用のプログラムは先述のGoogleCodeから取得。
OTOduinoと異なりiPhone用のアプリは自分でコンパイルする必要がある。
用意されているアプリ「SoftModemTerminal.app」は、ターミナルソフトのようなもの。iPhone側で文字入力するとArduino側に転送され、それがArduinoからシリアル回線で返送される。
iPhone用のプログラムをXCode4.2を使ってiOS5.01向けにコンパイル。warningが数件出ましたがコンパイルでき動作テストで動作確認できました。
[動作テスト]
ダウンロードしたArduinoプログラムを修正して動作テスト用のプログラムを作成。
iPhoneから"h"を入力するとLEDが点灯、"l"を入力すると消灯するようにした(Digital PIN12利用)。また、半固定抵抗を回すとその値がiPhone側に表示されるようにした(AnalogPin 1利用)。
そして、写真のごとく動作しました。
ということで、ArduinoとiPhoneがやりとりできる環境が二つ揃いました。でも、iPhoneアプリを作るというのが難関ですな。ふと思ったのだが、シリアル接続出来ればこんな苦労は不要なわけですね。iPhoneがもうちょっとオープンになることを願います。Androidのほうが自由度が高いのだろうな。
しかし、このブログレイアウトでは内容を伝えるのが手狭になってしまうな。ソースコード添付できないし。そのうちMake:関係だけは引っ越ししようかな。
------
関連サイト
@arms22さんのSoftModemに関するGoogleCode
@arms22さんのブログ(SoftModemのカテゴリー)
SoftModem2の購入先としてスイッチサイエンス
コメント 0