著者:Rishabhジャイナ教の
コンパイル:トニー
その応用および構造の点が、ラズベリーPiとArduinoのは、二つの異なるハードウェアですが、彼らは2つの競合するオープンソースのハードウェアプラットフォームであると考えられています。彼らは両方とも非常に強力なコミュニティとサポートを持っています。今日、我々はいくつかの変更を行い、それらを使用する方法を紹介します。あなたは両方のArduinoとラズベリーパイボードを持っている場合は、この記事では、あなたが表示されますラズベリーパイとPythonコントロールのArduinoを使用する方法。
私たちは、使用するPyFirmataファームウェアをラズベリーパイのPythonスクリプトによってアルドゥイーノにコマンドを送信します。PyFirmataは、本質的に、Arduinoの上に取り付けることができ、ライブラリパッケージのpythonプログラムの構築物は、Pythonと任意のコンピュータ上のArduinoのスクリプト間のシリアル通信を可能にします。Pythonのパッケージには、Arduinoの上のピンのいずれかにアクセスすることができます。だから、ここではArduinoの上で実行されているラズベリーパイのpythonプログラムを使用します。
このように、このチュートリアルでは、我々はライブラリを使用し、かつますラズベリーでのArduinoのArduinoパイボードの開発を制御するためにそれを使用します。
請求
- Raspbianオペレーティングシステムインストールラズベリーパイ
- Arduinoの宇野またはその他のArduino開発ボード
- Arduino USB线
- LED
このチュートリアルでは、私は、HDMIケーブルを介して外部モニタを使用してラズベリーパイに接続します。ノーモニターする場合は、(パテなど)SSHクライアントを使用することができるか、VNCサーバは、ラズベリーパイやラップトップコンピュータに接続されています。
ラズベリーパイPyFirmataはArduinoの中で使用されて取り付けられました
PyFirmata Arduinoのファームウェアアップロードするには、我々は、ラズベリーパイでArduinoのIDEをインストールする必要があります。以下の手順に従ってインストールします。
- *ステップ1:インターネットに接続**ラズベリーパイ。ターミナルを開き、次のコマンドを入力し、Enterキーを押します
sudo apt-get -y install arduino python-serial mercurial
数分待って、それはいくつかの時間がかかります。このコマンドは、あなたのラズベリーパイでArduinoのIDEをインストールします。
- **ステップ2:**今、私たちは、指定されたgithubのpyFirmataインストールファイルを使用します。
git clone https://github.com/tino/pyFirmata
そして、次のコマンドを実行します。
cd pyFirmata
sudo python setup.py install
- ステップ3:我々は必要なすべてのファイルと設定がインストールされています。
さて、USBケーブルのArduinoラズベリーパイボードと接続を使用して、ターミナルウィンドウを起動するのArduino IDE Arduinoの中に入力します。
- **ステップ4: - **とArduinoのラズベリーパイとの接続をかどうかを確認するlsusbがコマンドを入力します。
ArduinoのIDEには、ボードとシリアルポートを選択し、[ツール]。
- ステップ5 **:**ファイルをクリックして - >例 - >ファームウェア - >標準ファームウェア、その後、以下に示すように、ArduinoのPyFirmataのファームウェアをアップロードするには、アップロードボタンをクリックしてください。
私たちは、pyFirmataのArduinoボードのファームウェアが正常にインストールされています。今、私たちは、ラズベリーパイコントロールのArduinoを使用することができます。
実証するために、我々は、Arduinoの上のLEDとラズベリーパイにPythonコードを記述することによって等級分け点滅になります。
コード説明
セクションを符号化するために、あなたがよりよく理解するためにpyFirmataのドキュメントを読んでください、私たちはpyFirmata機能コードを使用します。
あなたのラズベリーパイの上にお好みのテキストエディタを開き、pyFirmataライブラリをインポートします。
import pyfirmata
LEDを接続するピンで定義されているアルドゥイーノ
led_pin = 9
今、私たちが使用する必要がpyfirmata.Arduino()ボードのArduinoの書き込み接続に機能をシリアルポート名し、ボードの変数によってポート割り当てのインスタンスを作成します。
board = pyfirmata.Arduino("/dev/ttyACM0")
print "Code is running”
whileループでは、使用board.digitalを[]。書き込み()関数LEDピンを使用して設定ハイとローである board.pass_timeの遅延を提供する機能が。
while True:
board.digital[led_pin].write(0)
board.pass_time(1)
board.digital[led_pin].write(1)
board.pass_time(1)
私たちのコードは、の.py拡張子によってコードにファイルを保存する準備ができています。
コマンド端子を開き、型のpython blink.pyコードのArduinoボードを実行します。Arduinoのラズベリーパイボードボードの開発に接続されたUSBケーブルを使用してください。
今、あなたは、LEDはArduinoのボードを点滅さ見ることができます。
PyFirmataはアルドゥイーノにLEDを使用して等級付け
今、私たちはpyFirmata機能を持つあなたがより身近にするLED勾配のためのコードを記述します。このコードは、単純なコードと同じです。あなたは、ループのための2つ、低輝度のための明るさと1を上げるための1つを使用する必要があります。
このコードでは、我々は、次のような様々な方法でピンを定義:LED = board.get_pin(「P D :. 9」) Dはデジタルピンを表します。これは以下のように、コードの一部機能pyFirmataライブラリです:
led = board.get_pin('d:9:p')
while True:
# increase
for i in range(0, 10):
brightness = brightness + 0.1
print "Setting brightness to %s" % brightness
led.write(brightness)
board.pass_time(delay)
今、あなたはそれらを構築するためにラズベリーパイやPythonスクリプトを使用しようとすると、システム内の複数のセンサを追加することができます。
完全なコードを接続します。
#Python code for LED blink:
import pyfirmata
led_pin = 9
board = pyfirmata.Arduino("/dev/ttyACM0")
while True:
board.digital[led_pin].write(0)
board.pass_time(1)
board.digital[led_pin].write(1)
board.pass_time(1)
#Python code for Fading LED:
import time
import pyfirmata
delay = 0.3
brightness = 0
board = pyfirmata.Arduino("/dev/ttyACM0")
led = board.get_pin('d:9:p')
while True:
# increase
for i in range(0, 10):
brightness = brightness + 0.1
print "Setting brightness to %s" % brightness
led.write(brightness)
board.pass_time(delay)
# decrease
for i in range(0, 10):
print "Setting brightness to %s" % brightness
led.write(brightness)
brightness = brightness - 0.1
board.pass_time(delay)
マイクロチャンネル公衆数に焦点:TonyCode
Arduinoの学習交換基:868 283 450
もっと、私は公共の数の関心を歓迎します。Fangerウェイコードに従うようにマイクロチャネルを掃引: