MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - RPi.GPIOのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - RPi.GPIO
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == RPi.GPIOモジュールは、Raspberry PiのGPIOピンを制御するための基本的なPythonモジュールである。<br> このモジュールを使用することにより、LEDの点灯、スイッチの入力検知、センサからのデータ読み取り等、GPIO (汎用入出力) ピンを通じて外部の電子部品と通信できる。<br> <br> このモジュールのメリットは、簡便な構文でありながら、デジタル入出力、PWM出力、割り込み処理等、多岐にわたる機能を提供していることである。<br> ビギナーでも扱いやすく、高度な制御も可能なバランスの取れたモジュールとなっている。<br> 同時に、高度な制御も可能で、複雑なプロジェクトにも対応できる柔軟性を備えている。<br> <br> また、豊富なドキュメントやサンプルコードが提供されており、ビギナーでも学習しやすい環境が整っている。<br> <br> まず、重要な概念として、ピン番号の指定方法がある。<br> BCMモードとBOARDモードという2つの方式が存在しており、多くの開発者は理解のしやすさからBCMモードを採用している。<br> * BCMモード *: GPIO番号を使用 * BOARDモード *: 物理的なピン番号を使用する。 <br> GPIOピンの設定には、入力と出力の2つの基本モードがある。<br> * 入力モード *: スイッチの状態読み取りやセンサからのデータ取得などが可能である。 *: 入力ピンには、プルアップやプルダウン抵抗の設定もできる。 * 出力モード *: LEDの点灯や電子部品の制御等ができる。 <br> 実際の制御においては、出力ピンではHIGH (オン) と LOW (オフ) の2つの状態を制御できる。<br> 入力ピンでは、接続された部品の状態 (ON / OFF) を読み取ることができる。<br> <br> より高度な機能として、イベント検出機能 (割り込み検出) がある。<br> これは、ピンの状態変化を監視して、変化が発生した時に特定の処理を実行する機能である。<br> 例えば、特定の物理スイッチが押下された時、特定の関数を呼び出すことが可能である。<br> <br> また、PWM (パルス幅変調) 出力にも対応しており、LEDの明るさを段階的に制御したり、モータの速度を制御したりすることも可能である。<br> <br> プログラム終了時には、使用したGPIOピンを適切に解放することが重要である。<br> これにより、次回使用時に問題が発生することを防ぐことができる。<br> <br><br> == RPi.GPIOモジュールのインストール == まず、Raspberry Pi OSのアップデートを行う。<br> sudo apt update sudo apt upgrade <br> 次に、pipのインストールを行う。<br> sudo apt install python3-pip <br> Python3のRPi.GPIOモジュールをインストールする。<br> sudo apt install python3-rpi.gpio # または sudo pip3 install RPi.GPIO <br><br> == 確認 == Python 3を使用して、モジュールをインポートできることを確認する。<br> このとき、import RPi.GPIOコマンドは出力を返さなければ成功である。(モジュールが正常にインポートされたことを意味する)<br> python3 <br> import RPi.GPIO <br><br> == RPi.GPIOを使用したサンプルコード == <syntaxhighlight lang="python"> # Import necessary modules import RPi.GPIO as GPIO import time # Set up GPIO pins GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) pins = [17,18] for pin in pins: GPIO.setup(pin,GPIO.OUT) GPIO.output(pin,1) # Set variables (change these to change behaviour as desired) runcycles = 2 ontime = 45 # minutes offtime = 20 # minutes # Convert run times from minutes to seconds for sleep function ontime *= 60 offtime *= 60 # Run furnace on cycle cycle = 0 try: while cycle < runcycles: cycle += 1 GPIO.output(17,0) print("Furnace turned on for %d seconds. Cycle %d of %d." %(ontime, cycle, runcycles)) time.sleep(ontime) GPIO.output(17,1) if cycle == runcycles: break print("Furnace paused for %s seconds. %s heat cycles remaining." %(offtime, runcycles - cycle)) time.sleep(offtime) except KeyboardInterrupt: # if Ctrl C is pressed... GPIO.output(17,1) # shut off the boiler print("Program stopped and furnace shut off.") # print a clean exit message print("Heat cycles completed.") </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:Raspberry_Pi]]
インストール - RPi.GPIO
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse