Skip to the content.

raspifan

GPIO Control Example Code for Raspberry Pi FAN
ラズパイでファンやサーボ・モーターを制御します。
Raspberry Pi 5 Model B にも対応しています。

servo_motor

収録したサンプル・プログラム

Example 1 FAN ON/OFF (ex01_gpio.py)

キーボードから1⏎を入力するとFANが回転、0⏎を入力すると停止します。

Example 2 FAN AUTO ON/OFF (ex02_auto.py)

CPU温度が60℃以上でFANを回転、55℃以下で停止するファンの自動制御を行います。

Example 3 FAN PWM Control (ex03_pwm.py)

CPU温度が55℃以下に抑えるようにファン速度をPWMで調整します。

pwm_controlled_fan

Example 4 Temperature to Ambient (ex04_ambient.py)

CPU温度によるファン制御の様子を Ambient へ送信します。 温度や制御の推移をスマホで確認することが出来るようになります。

Example 5 Servo PWM Control (ex05_servo.py)

Tower Pro製 マイクロ・サーボモータSG90をキーボードから入力した角度の位置に回転して合わせます。

Example 6 Servo Velocity Control (ex06_velocity.py)

予め設定した速度でサーボモータを定速回転させ、入力した角度の位置で止めます。 回転速度を下げることで回転中の消費電流を減らすことが出来ます。

Example 7 HTTP Server for Servo PWM Control (ex07_http_serv.py)

サーボモータをインターネット・ブラウザ等から入力した角度の位置に回転して合わせます。

http_server

Example 8 Heat Dissipation Mechanism for Raspberry Pi (ex08_emission.py)

CPU温度が60℃を超えたときに サーボモータを制御し、ケースの上蓋を開いて排熱します。 また、インターネット・ブラウザ等から開閉制御を行うことも出来ます。

controlled_case_cap

その他のツール

分度器 protractor.pdf

右回り(CW)の角度値※をプロットした分度器の画像ファイルです。 紙に印刷したものをサーボに取り付けて、回転角度を確認することが出来ます。

protractor

※ご注意:一般的に用いられる左回り(CCW)の角度値ではありません。

pwm_tester.py

キーボードから0⏎〜100⏎を入力すると入力に応じたディーティ比でPWMを出力します。

fan_tester_rpi.py

CPUファン制御用のパラメータを変化させて、それぞれの制御の動作確認が出来ます(Raspberry Pi 5は非対応)。

保存先

Raspberry Pi 5 Model B に対応

最新のコミットでは、Raspberry Pi 5 に対応するために、GPIO用ライブラリにGPIO Zeroを使用しています。


詳細情報

製作方法などの詳細については、下記のサイトの書籍「IPネットワーク通信プログラム入門」(CQ出版社)の以下の章をご覧ください。

ただし、書籍は GPIO Zero に対応しておらず、従来の RPi.GPIO を使って解説していますので、本リポジトリ内のソースリストとの比較しながら、お読みください。

CQ出版社の販売サイト:

https://shop.cqpub.co.jp/hanbai/books/42/42241.html

筆者サポートサイト:

https://bokunimo.net/cq/ip/


ライセンス(全般)

Copyright (c) 2021-2024 Wataru KUNINO https://bokunimo.net/


GitHub Pages (This Document)


git.bokunimo.com GitHub Pages site

http://git.bokunimo.com/