このプロジェクトでは、ArduinoとProcessingの助けを借りて、かなり前に修理された既存のFMラジオを使用して、電話を使用して制御されるスマートワイヤレスFMラジオに変換します。
同じ手順で、手動で操作する電子機器をスマートデバイスに変換できます。すべての電子機器は信号の助けを借りて動作します。これらの信号は、電圧または電流の観点からのものである可能性があります。信号は、ユーザーが直接操作するか、ワイヤレスデバイスを使用して手動でトリガーできます。
このプロジェクトの終わりまでに、ボタンで動作するラジオなど、一般的な電子機器のほとんどを、Bluetooth経由でスマートフォンで制御できるスマートワイヤレスガジェットに変換できるようになります。これを達成するには、2つの主要なことを行う必要があります。
1.既存の機械式ボタンシステムで信号がどのように生成されるかを予測します。
2.小さなアドオン回路を使用して同じ信号をトリガーする方法を見つけます。
それでは、始めましょう…
必要なコンポーネント:
このプロジェクトでは、ラジオ、テレビ、CDプレーヤー、ホームシアターなどの古いまたは未使用の電子機器を選択できます。実際のコンポーネントは、選択したデバイスによって異なる場合があります。ただし、ワイヤレスにするには、ここではArduinoであるマイクロコントローラーと、HC-05Bluetoothモジュールであるワイヤレスメディアが必要になります。
リバースエンジニアリング:
さて、今私はずっと前に動作を停止した古いFMラジオプレーヤーを選択しました。それを開くと、ボタンが機能しなくなっていることがわかりました。これは、完全にワイヤレスにするため、ボタンが不要になるため、作業に最適なデバイスになります。下の写真は私が開いたラジオを示しています。
これは私のラジオのボタン設定でした(上の写真)。ご覧のとおり、ラジオが入力を受け取るボタンは8つあります。また、ボード上に8つの抵抗があることに気付くでしょう。これから何を結論付けることができますか…?はい、各抵抗器はスイッチに接続されています。それでは、ボードの裏側を見てみましょう。
PCBトラックの助けを借りて接続を追跡することができますが、それでも混乱している場合は、接続にミリメートルを使用して回路を理解することができます。このボードには、メインFMラジオボードに信号を送る3つの端子(赤で囲まれた)があります。これらのピンは、S1、S2、および1.7Vとしてマークされています。これは、1.7ボルトの定電圧がメインボードからこのボードに送信され、ユーザーがいずれかのボタンを押すと、対応する抵抗の両端で電圧降下が発生し、ピンS1とS2を介して可変電圧が送り返されることを意味します。これが私たちの電子機器のほとんどのボタンの仕組みです。それがどのように機能するかを理解したので、ワイヤレスにしましょう。
作業説明:
したがって、ワイヤレスにするには、S1に0〜1.7Vの電圧を印加し、メインボードを接地する必要があります。マイクロコントローラーを使用してこれらのボタン設定を模倣できる方法はいくつかあります。
デジタルポテンショメータを使用して、プログラムされたとおりに必要なときにボードに抵抗を提供することができます。ただし、Digipotを使用するにはSPIが必要であり、Digipotにはコストがかかるため、これにより複雑でコストがかかります。
また、異なる値の各抵抗がトランジスタによってアクティブ化され、トランジスタがマイクロコントローラ自体によって制御されるトランジスタ抵抗ネットワークを使用することもできます。しかし、これを8つのボタンに対して行うと、回路が複雑になります。
これを行う簡単な方法は、マイクロコントローラーから必要な可変電圧を直接生成し、それを信号ピンに供給することです。悲しいことに、ArduinoにはADCしかなく、DACはありません。しかし、幸いなことに、ArduinoにはPWMがあります。このPWMは、単純なRCローパスフィルターを使用して可変電圧として機能させることができます。
ローパスフィルターを上に示します。ここでの重要なコンポーネントは、脈動信号全体を接地するコンデンサーであり、純粋なDCが出力として送信されます。そのため、ArduinoからのPWM信号は、ローパスフィルターを介して送信され、FMラジオの信号ボードに送られる必要があります。
上に示したように、回路はドットボード上に簡単に構築できます。ここで、黒のワイヤーはアース用で、左側の青と緑のワイヤーはFMボードS1(緑)とS2(青)に送られ、右のワイヤーはArduinoのピン9と10からPWM信号を受信します(上の写真を参照)、ローパスフィルターを介してFMボードに渡します。Bluetoothモジュールは、ピン11と12をRxとTXとして使用します。
これで、0ボルトから1.7ボルトのPWM信号を生成し、さまざまな電圧レベルで無線がどのように動作するかを調べることができます。次のステップは、これをワイヤレスにすることです。
回路接続:
この回路図は、Bluetooth制御FMラジオ用にArduinoMegaに接続されたローパスフィルターとHC-05Bluetoothモジュールのセットアップ全体を示しています。
Arduinoプログラム:
Arduinoのプログラムは、以下のコードセクションに記載されています。こちらのプログラムを使用して、電子機器の可変電圧範囲をテストすることもできます。
ラジオ用に独自のAndroidアプリを作成する前に、以下のビデオに示すように、ターミナルBluetoothモニターアプリを使用してワイヤレス機能をテストすることをお勧めします。ArduinoでBluetoothターミナルアプリを構成するには、この記事を確認してください。その動作に自信が持てたら、独自のAndroidアプリの作成に取り掛かることができます。
処理を使用してAndroidアプリを作成する:
デバイスをワイヤレスにするのはすばらしいことですが、独自のAndroidアプリを作成することで、デバイスに個人的なタッチを加えることもできます。自動スケジュール時間にデバイスを制御したり、ウェイクアップアラームに基づいてデバイスを制御したりできます。家に帰ったら、ラジオでお気に入りのチャンネルを再生することもできます。ここでは想像力があなたの限界です。ただし、今のところ、処理を使用して単純なユーザーインターフェイスを作成します。このアプリには、FMラジオを制御できるボタンがいくつかあります。
Processing は、アーティストがグラフィックデザインに使用するオープンソースソフトウェアです。このソフトウェアは、ソフトウェアおよびAndroidアプリケーションの開発に使用されます。
このワイヤレスFMラジオを制御するためのAndroidアプリの処理コードは次のとおりです。
- FMラジオを制御するためのAndroidアプリ処理コード
まず、このアプリをJavaモードのPCでビルドしました。正しくテストするために、同じ処理コードを次に示します。それを右クリックし、[名前を付けてリンクを保存]をクリックしてコードファイルをダウンロードします。次に、「処理中」ソフトウェアでファイルを開き、「実行」ボタンをクリックして、電話でどのように表示されるかを確認します。 *.pdeファイルを開くには、「Processing」ソフトウェアをインストールする必要があります。
Javaモードでアプリをテストしたら、処理ウィンドウの右上隅にある[Android]タブに変更することで、アプリをAndroidモードに簡単に変換できます。AndroidフォンでBluetoothをオンにして、HC-05モジュールに自動的に接続するには、既存のJavaプログラムに次のコードを追加してAndroidアプリにする必要があります。上記のリンクで完全なAndroidコードをすでに提供しているため、直接使用できます。
以下は、Bluetooth機能を有効にするためのいくつかのヘッダーファイルです。
android.content.Intentをインポートします。android.os.Bundleをインポートします。インポートketai.net.bluetooth。*; インポートketai.ui。*; インポートketai.net。*; android.bluetooth.BluetoothAdapterをインポートします。import android.view.KeyEvent;
以下の行は、 Ketai ライブラリを使用して電話のBluetoothアダプターと通信し、アダプターに bt という名前を付けます。
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter(); KetaiBluetooth bt;
コードの以下の部分は、アプリの起動時にBluetoothをオンにするように求めるユーザーへのリクエストをトリガーします。
//開始時にBTを開始するには********* void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState); bt = new KetaiBluetooth(this); } void onActivityResult(int requestCode、int resultCode、Intent data){bt.onActivityResult(requestCode、resultCode、data); } // **********
ここでは、接続する必要のあるBluetoothデバイスをAndroidアプリに指示します。行 bt.connectToDeviceByName(selection); セットアップ関数からデバイス名を期待します。Bluetoothデバイスの名前は「HC-05」であるため、セットアップに以下の行が追加されます。この名前は、Bluetoothモジュールの名前によって異なります。
// Bluetoothデバイスを選択するには********** void onKetaiListSelection(KetaiList klist){String selection = klist.getSelection(); bt.connectToDeviceByName(selection); //今のところリストを破棄しますklist = null; } // **********
bt.connectToDeviceByName( "HC-05");
PC用の処理コード(Javaモード)でこれらの変更を行うか、上記のリンクに記載されているAndroid処理コードを直接使用することができます。次に、データケーブルを使用して電話をラップトップに直接接続し、電話でUSBデバッグを有効にします。PCの処理ウィンドウで[再生]ボタンをクリックすると、アプリケーションがAndroidフォンに直接インストールされ、自動的に起動します。とても簡単なので、ぜひお試しください。
次の図は、AndroidアプリケーションUIとそのコーディングウィンドウを表しています。ビデオをチェックして、Androidフォンとコンピューターでコードを理解して実行してください。
これで、古いFMラジオを、 Androidアプリケーションで制御できる最新のワイヤレスガジェットに変えました。これが人々の仕事の手助けになることを願っていますが、いつものようにガイダンスが必要な場合は、コメントセクションを使用できます。喜んでお手伝いします。