Raspberry Piを制御する方法
コンテンツ
- ステージ
- パート1 OSをインストールする
- パート2 NOOBSのダウンロード
- パート3 SDカードをフォーマットする
- パート4 NOOBSをSDカードにコピーする
- パート5 Raspberry piを制御する
- パート6ネットワークを構成する
- 有線ネットワークを構成する
- ワイヤレスネットワーク(SSH / wifi)をセットアップする
- パート7 Geany IDEのインストール
- パート8 PythonでのDCモーターの駆動(配線部分)
- パート9接続を完了する
- パート10 PythonでのDCエンジンの駆動(プログラミングパート)
- パート11最初の課題
- HC-SR04超音波センサーを使用(配線)
- HC-SR04超音波センサーを使用する(プログラミング部)
- パート12 2番目の課題
Raspberry Piは、クレジットカードサイズのコンピューターです。 Raspberry Foundationによって設計および製造されています。RaspberryFoundationは、コンピューターとプログラムを可能な限りアクセス可能にすることに専念する非営利組織です。 Raspberryプロジェクトの当初の使命は、優れたプログラミング機能を備えたできるだけ安価なコンピューターを設計することでした。だから、生徒の手に渡してください。このガイドは、Raspberry Piを使用するための基礎を築き、その取り扱いを容易にすることを目的としています。
警告。この記事は、コンピューターのバックグラウンドが優れている人向けです.
ステージ
パート1 OSをインストールする
- NOOBS(新しいOut of Box Stoftware)とは何かを理解する。 Raspberry Piで使用できるさまざまなオペレーティングシステムのインストールマネージャーであり、目的は、選択したオペレーティングシステム(OS)のインストールを容易にすることです。これは、マイクロコンピューターのソフトウェア部分との最初のコンタクトです。以下のオペレーティングシステムがNOOBSに含まれています。
- Raspbian
- Pidora
- OpenELELC
- RaspBMC
- RISC OS
- アーチライナス
- このチュートリアルに必要な機器は次のとおりです。
- PC
- 8 GB以上のクラス4 SDカード
- Raspberry Piが入っている元の箱には、NOOBSがプリインストールされたSDメモリカードがすでに入っています。したがって、次の手順は、新しいSDカードにインストールする場合にのみ役立ちます。
パート2 NOOBSのダウンロード
-
「NOOBS」は次のアドレスからダウンロードできます。 初心者
パート3 SDカードをフォーマットする
- 少なくとも4 GBのSDカードが必要です。 ただし、推奨サイズは8 GBです。
パート4 NOOBSをSDカードにコピーする
- ファイルを抽出します。 最初の手順でダウンロードしたNOOBSという名前のzipファイルからドキュメントを抽出します。抽出したファイルを新しくフォーマットされたSDカードにコピーします。ただし、場合によっては、抽出されたファイルが新しいフォルダーに移動する可能性があることに注意してください。この場合、フォルダーではなくファイル自体をコピーすることをお勧めします。
- 初めて起動すると、使用可能なオペレーティングシステムのリストが表示されます。
パート5 Raspberry piを制御する
- Raspberry Piを使用するには、以下の手順に従ってください。
- 「カチッ」という音が聞こえるまで、SDカードをRaspberryに挿入します。
- HDMIケーブルを接続し、画面に接続します。プラグインして電源を入れることを忘れないでください
- 画面。 Micro USB充電器でRaspberryに電力を供給します
- キーボードとマウスをUSBポートに差し込みます。
- これらの手順を実行すると、NOOBSソフトウェアがロードされていることがモニターに表示されます。ロードされると、インストール可能なオペレーティングシステムのリストが表示されます。 Raspbianはインストールに推奨されるOSです。 Raspbianを選択し、ウィンドウの上部にある「インストール」ボタンをクリックします。
-
インストールには約20分かかります。 インストールが完了すると、黒いコマンド画面が表示されます。その後、プログラムから要求されたときに、ユーザー名「pi」とパスワード「raspberry」を入力する必要があります。次に、コマンドラインに次のように入力し、Enterキーを押します。startxと
- おめでとうございます! Raspberry piを使用するために必要な環境をインストールできました:)!次に、ネットワーク構成に進みます。
パート6ネットワークを構成する
インターネットに接続します。 Raspberry Piが機能したら、次に行う必要があるのは、Raspberry Pi用にインターネットへの接続を設定することです。完全に異なるコンピューター。接続をセットアップするには、有線(イーサネットケーブルを使用)またはWi-Fiを介してワイヤレスで接続する2つの方法があります。ネットワークをセットアップするには、次の手順に従ってください。
有線ネットワークを構成する
- 必要な機器は次のとおりです。
- 機能的なRaspberry Pi(Raspberry Piの使用開始を参照)
- イーサネットケーブル
- イーサネットケーブルヘッドの1つをRaspberry Piの提供されたポートに接続し、もう1つをモデムまたはインターネットアクセスルーターに接続します。 その結果、Raspberry Piは自動的にインターネットに接続されます。
ワイヤレスネットワーク(SSH / wifi)をセットアップする
- 必要な機器は次のとおりです。
- 機能的なRaspberry Pi(はじめにRaspberry Pi 3を参照)
- wifi USBキー
- USB wifiスティックをRaspberry Piの使用可能なポートの1つに差し込みます。
-
メニューのアイコンをタップして、wifiセットアップサービスを開きます。- サービスを開くと、次のインターフェイスが表示されます。
- サービスを開くと、次のインターフェイスが表示されます。
-
スキャンボタンをクリックします。 新しいウィンドウが表示されます。したがって、使用したいネットワークをダブルクリックします。 -
パスワードを入力してください。 以下に示すように、事前共有キー(PSK)フィールドにネットワークアクセスパスワードを入力します。- ここで、「保存」をクリックしてネットワークを追加します。これを実行すると、インターネットネットワークに接続されます。
- ここで、「保存」をクリックしてネットワークを追加します。これを実行すると、インターネットネットワークに接続されます。
パート7 Geany IDEのインストール
- GeanyはGTK +とScintillaを使用し、統合開発環境の基本機能を含む軽量のeパブリッシャーです。 依存関係がほとんどなく、すぐに開始できるように設計されており、C / C ++、Java、JavaScript、PHP、HTML、CSS、Python、Perl、Ruby、Pascal、およびHaskell言語をサポートしています。
-
メニューのコマンドプロンプトを開きます。 - コマンドライン「sudo root」を入力して、Raspberryのルートフォルダーに移動します。 次に、ユーザー名「pi」とパスワード「raspberry」を入力します。
- 次のコマンドラインを入力します。
apt-get install python geany xterm
- インストールには数秒かかります。
- メニューでGeany IDEを開きます。
- 「ファイル」タブで最初のファイルを作成して、最初のプログラムを作成できるようになりました。
- コードを作成したら、コードを登録してコンパイルするだけです。
パート8 PythonでのDCモーターの駆動(配線部分)
このパートでは、DCモーターをRaspberry Piに配線する方法と、DCモーターの回転速度と方向を変えることができるPythonで小さなプログラムを作成する方法を示します。
-
この小さなチュートリアルは、おそらくロボットプロジェクトの実現に役立つでしょう。 - 原理を理解してください。 まず第一に、あなたはそれを知っている必要があります DCモーターは、Raspberry PiのGPIOピンに直接接続しません。実際、エンジンを回転させるために使用される電流は、小型のRaspberry Piにとって非常に高く、損傷する可能性があります。
- そのため、最大2つのDCモーターを制御するように設計されたチップを使用します。 L293Dチップ。
- Raspberry Piの重要な機能は、ボードの隅にあるGPIOピンの列です。任意のGPIOピンをプログラミングで入力または出力ピンとして指定できます。
- そのため、最大2つのDCモーターを制御するように設計されたチップを使用します。 L293Dチップ。
- L293Dを配線します。
- L293Dのピン4、5、12、および13は、図からわかるようにGNDに接続する必要があります。 L293Dのピン16により、電源を入れることができます。 5Vで給電します。この電圧はモーターには送信されず、L293Dチップにのみ送信されます。
- モーターに電力を供給するには、バッテリーまたはバッテリーに接続されたL293D(正端子)のピン8を使用します。マイナス端子はグランド(GND)に接続する必要があります。モーターの電圧制限を超えないように注意してください。
- L293Dのピン4、5、12、および13は、図からわかるようにGNDに接続する必要があります。 L293Dのピン16により、電源を入れることができます。 5Vで給電します。この電圧はモーターには送信されず、L293Dチップにのみ送信されます。
-
モーターを接続します。 最初のモーターを接続するには、L293Dチップのピン3および6(出力1Aおよび1B)に接続するだけです。
パート9接続を完了する
- L293Dチップのピン1は、最初のモーターの「有効化」ピンです。 このピンが論理的に「高」の場合、モーターは最大速度で動作し、このピンが論理的に「低」の場合、モーターは停止しています。エンジンの速度を下げるには、これらの2つの状態を非常にすばやく交互に切り替えて再生するだけで十分です。これは「PWM」(パルス幅変調)と呼ばれます。 L293Dチップのピン1をRaspberry Piのピン22に接続して、速度を制御します。
- モーターの回転方向を制御するには、L293Dチップのピン2と7を楽しんでください。ピン2が「高」、ピン7が「低」の場合、モーターは一方向に回転します。これら2つのピン間で2つの論理状態が逆になると、モーターは反対方向に回転します。 l293Dチップ2ピンをRaspberryピン18に、l293Dチップ7ピンをRaspberry 16ピンに接続します。
- モーターの回転方向を制御するには、L293Dチップのピン2と7を楽しんでください。ピン2が「高」、ピン7が「低」の場合、モーターは一方向に回転します。これら2つのピン間で2つの論理状態が逆になると、モーターは反対方向に回転します。 l293Dチップ2ピンをRaspberryピン18に、l293Dチップ7ピンをRaspberry 16ピンに接続します。
パート10 PythonでのDCエンジンの駆動(プログラミングパート)
- この小さなコードにより、エンジンの回転の方向と速度を制御できます。 最初に一方向に高速で3秒間回転します。その後、速度を落とします。次に、回転方向が逆になり、モーターは減速してから高速で回転します。次のコードを見てみましょう。
インポートスリープRPi.GPIOからGPIO.setmode(GPIO.BOARD)GPIOをインポート
- これでGPIOポートを構成できます。
Motor1A = 16 ##最初のモーターの出力A、ピン16 Motor1B = 18 ##最初のモーターの出力B、ピン18 Motor1E = 22 ##最初のモーターの有効化、ピン22 GPIO.setup(Motor1A、GPIO.OUT)## 3つのピンが出力(OUT)GPIO.setup(Engine1B、GPIO.OUT)GPIO.setup(Engine1E、GPIO.OUT)
- ここで、PWMを構成します。
pwm = GPIO.PWM(Motor1E、50)## 50Hzの周波数でPWMのピン22 pwm.start(100)## 100%のデューティサイクルでコミット
- GPIOポートの状態はアクティブです。
「直接方向回転、デューティサイクル100%での最大速度」GPIO.output(Motor1A、GPIO.HIGH)GPIO.output(Motor1B、GPIO.LOW)GPIO.output(Motor1E、GPIO.HIGH)
- 次に、エンジンを3秒間実行します。
睡眠(3)
- デューティサイクルは20%に変更され、速度が低下します。
pwm.ChangeDutyCycle(20)
「20%のデューティサイクルでの直接方向回転」スリープ(3)「20%のデューティサイクルでの逆回転」GPIO.output(Motor1A、GPIO.LOW)GPIO.output(Motor1B、GPIO.HIGH) sleep(3)pwm.ChangeDutyCycle(100)「逆回転、最高速度(デューティサイクル100%)」sleep(3)「エンジン停止」GPIO.output(Engine1E、GPIO.LOW)pwm.stop()## PWM GPIO.cleanupを停止します()
パート11最初の課題
今回は2つのエンジンで小さなコードを作成します。それはあなた次第です!
HC-SR04超音波センサーを使用(配線)
- このステージに必要な機器は次のとおりです。
- 超音波モジュールHC-SR04、
- 1kΩの抵抗、
- 2kΩの抵抗、
- 接続ケーブル、
- ブレッドボード
- HC-SR04超音波センサーは、40 kHzで音声信号を送信することにより、2〜400 cmの距離を測定します。放射を超音波信号の受信から分離する時間の関数として、計算により距離が求められます。
- HC-SR04には4つのピンがあります。
- モジュールを接地(0 V)にするために使用されるピン(Gnd)、
- ダルトラソン列車の放出の終了と障害物での反射後の戻りを通知するために使用される出力ピン(エコー)
- ダルトラソン列車の発射をトリガーするために使用される入力ピン(トリガーのトリガー)
- 5 Vでセンサーに電力を供給するために使用されるピン(Vcc)
- Echoピンから出力される出力電圧は5Vですが、Rapsberry Piの入力ピン(GPIO)は最大3.3V向けに設計されています。
- したがって、Rapsberry Piの損傷を防ぐために、2つの抵抗で構成される分圧器ブリッジを使用して、センサーの出力電圧を下げます。
- ちょうどそのとき、上で見ることができるように、プラグイン:
- Raspberry Piの5 Vにある「Vcc」松(赤い糸)
- ラズベリー(黄色い糸)のピンGPIO 23(ピン16)のピン「Trig」
- ラズベリーのピンGPIO 24(ピン18)のピン「エコー」(青線)
- ラズベリーGNDを備えたGNDパイン(黒線)
- あなたの2つの小さな抵抗を忘れないでください!
- これでセンサーがRaspberry Piに接続され、Pythonプログラミングがなくなりました!
HC-SR04超音波センサーを使用する(プログラミング部)
- 最初のステップとして、さまざまなライブラリを以下にインポートする必要があります。
- GPIOポート管理。
- クロック管理
RPi.GPIOをGPIOインポート時間としてインポートするGPIO.setmode(GPIO.BCM)
- 次に、使用するさまざまなピンを識別する必要があります。 この例では、出力ピン「GPIO 23」(TRIG:超音波センサーへのトリガー信号)と入力ピン「GPIO 24」(ECHO:信号の取得)。
TRIG = 23 ECHO = 24
- これでGPIOポートを構成できます。
GPIO.setup(TRIG、GPIO.OUT)GPIO.setup(ECHO、GPIO.IN)
- 「Trig」ピンが最初に低いことを確認するために、「False」に設定し、センサーがリセットできるように待機時間を与えます。
GPIO.output(TRIG、False)「センサーが安定するのを待っています」time.sleep(2)
- 超音波センサーは、モジュールをアクティブにするために10μsのパルスを必要とします。 トリガーを作成するには、Trigピンを10μsの間強制的にハイにした後、ローにリセットする必要があります。
GPIO.output(TRIG、True)time.sleep(0.00001)GPIO.output(TRIG、False)
- ピンの状態変化から発生するさまざまなイベントにタイムスタンプを付けるには、whileループとtime.time()関数を使用します。 信号状態の変化を検出します。最初のステップは、状態が低状態から高状態に変わる直前の瞬間を検出してタイムスタンプを付けることです。この瞬間(pulse_start)は、センサーによるダルトラソン列車の放出の終了時です。
while GPIO.input(ECHO)== 0:pulse_start = time.time()
- 超音波トレインが放射されると、エコーピンは障害物によって反射された超音波が戻るまで高いままです。 次に、エコー信号のロー状態への切り替えを再度検出しようとします。このタイムスタンプ(pulse_end)は、超音波の戻りの検出のタイムスタンプになります。
while GPIO.input(ECHO)== 1:pulse_end = time.time()
- インパルス持続時間(pulse_duration)は、2つのパルスの差を計算することで知ることができます。
pulse_duration = pulse_end-pulse_start
- 距離を知るために、式を適用します:
距離= pulse_duration * 17150
- 距離を小数点以下2桁に四捨五入します。
距離=ラウンド(距離、2)
- 距離を「cm」で表示するには:
「距離:」、距離、「cm」
- GPIOピンをリセットするには、次を追加します。
GPIO.cleanup()
- あとは、たとえば「sensor_distance」という名前を付けてコードを保存し、コマンドラインで起動するだけです。
sudo python remote_capteur.py
- おめでとうございます! モーターを制御するだけでなく、超音波センサーで距離を検出することができます!
パート12 2番目の課題
- この三輪車がある場合。 これまでに学んだことで、この車両を動かして「E」を形成できるようにする必要があります。彼は、超音波センサーを使用して障害物に遭遇した場合にも停止することができます。
- それはあなた次第です!