Raspberry PiとArduinoは、ElectronicsCommunityで最も人気のある2つのオープンソースボードです。それらは、その使いやすさとシンプルさから、電子技術者だけでなく、学校の学生や愛好家の間でも人気があります。Raspberry PiとArduinoのおかげで、エレクトロニクスが好きになったばかりの人もいます。これらのボードには大きな能力があり、いくつかの簡単な手順と少しのプログラミングで非常に複雑なHi-Fiプロジェクトを構築できます。
非常に単純なものから複雑なものまで、多数のArduinoプロジェクトとチュートリアルを作成しました。また、Raspberry Piチュートリアルのシリーズも作成しました。ここから、誰でも「最初から」学習を開始できます。これは私たちの側からのエレクトロニクスコミュニティへの小さな貢献であり、このポータルはエレクトロニクスのための素晴らしい学習リソースとしての地位を証明しています。そこで本日、ArduinoとRaspberry Piをインターフェースすることで、これら2つの優れたボードを統合します。
このチュートリアルでは、RaspberryPiとArduinoUnoの間のシリアル通信を確立します。 PIには26個のGPIOピンとゼロADCチャネルしかないため、3Dプリンターのようなプロジェクトを行う場合、PIはすべての対話を単独で行うことはできません。したがって、より多くの出力ピンと追加の機能が必要です。PIに機能を追加するには、PIとUNO間の通信を確立します。これにより、PI関数であるUNOのすべての関数を使用できます。
Arduinoはプロジェクト開発のための大きなプラットフォームであり、Arduino Uno、Arduino Pro mini、Arduino Dueなどの多くのボードがあります。これらは、電子エンジニアや愛好家向けに設計されたATMEGAコントローラーベースのボードです。Arduinoプラットフォームには多くのボードがありますが、Arduino Unoは、プロジェクトの実行のしやすさから多くの評価を得ました。Arduinoベースのプログラム開発環境は、他の環境と比較してプログラムを作成する簡単な方法です。
必要なコンポーネント:
ここでは、Raspbian JessieOSとArduinoUnoでRaspberryPi2モデルB を使用してい ます。Raspberry Piに関するすべての基本的なハードウェアおよびソフトウェア要件については前に説明しましたが、必要なものを除いて、RaspberryPiの概要で調べることができます。
- 接続ピン
- 220Ωまたは1KΩ抵抗(2個)
- 導いた
- ボタン
回路の説明:
上の回路図に示すように、USBケーブルを使用してUNOをPIUSBポートに接続します。PIには4つのUSBポートがあります。あなたはそれらのいずれかにそれを接続することができます。シリアル通信を初期化するためのボタンと、データが送信されていることを示すLED(点滅)が接続されています。
作業とプログラミングの説明:
Arduino Unoパート:
まず、UNOをプログラムしましょう。
最初にUNOをPCに接続してから、Arduino IDEソフトウェアでプログラム(以下のコードの確認セクション)を作成し、プログラムをUNOにアップロードします。次に、UNOをPCから切断します。回路図に示すように、プログラミング後にUNOをPIに接続し、LEDとボタンをUNOに接続します。
ここで、プログラムはUNOのシリアル通信を初期化します。UNOに接続されているボタンを押すと、UNOはUSBポートを介してPIに数文字をシリアルに送信します。PIに接続されているLEDが点滅して、送信されている文字を示します。
ラズベリーパイパート:
その後、UNOから送信されるこのデータを受信するために、PI用のプログラム(以下のコードのチェックセクション)を作成する必要があります。そのためには、以下に示すいくつかのコマンドを理解する必要があります。
ライブラリからシリアルファイルをインポートします。この関数を使用すると、データをシリアルまたはUSBポートで送受信できます。
シリアルをインポート
ここで、PIがエラーなしでUNOからデータを受信するためのデバイスポートとビットレートを指定する必要があります。以下のコマンドは、ACM0ポートで毎秒9600ビットのシリアル通信を有効にしていることを示しています。
ser = serial.Serial( '/ dev / ttyACM0'、9600)
UNOが接続されているポートを見つけるには、PIの端末に移動して次のように入力します。
ls / dev / tty *
PIに接続されているすべてのデバイスのリストが表示されます。次に、ArduinoUnoをUSBケーブルでRaspberryPiに接続し、コマンドを再入力します。表示されたリストから、UNO接続ポートを簡単に識別できます。
以下のコマンドは永久ループとして使用され、このコマンドを使用すると、このループ内のステートメントが継続的に実行されます。
一方1:
データをシリアルに受信した後、PIの画面に文字を表示します。
印刷(ser.readline())
したがって、UNOに接続されているボタンを押すと、PI画面に文字が印刷されます。そのため、RaspberryPiとArduinoの間に基本的な通信ハンドシェイクを確立しました。