注釈
こんにちは。 Facebook の SunFounder Raspberry Pi & Arduino & ESP32 愛好者 コミュニティ へ ようこそ! 仲間 の 愛好者 と 一緒 に Raspberry Pi、 Arduino、 ESP32 を さらに 深く 探求 しましょう。
なぜ 参加 する の です か?
専門的 な サポート : コミュニティ と チーム の 支援 に より、 購入 後 の 問題 や 技術的 な 課題 を 解決 できます。
学習 と 共有 : ヒント や チュートリアル を 共有 し、 スキル を 向上 させましょう。
限定 プレビュー : 新製品 の 発表 や 先行 情報 に いち早く アクセス できます。
特別 割引 : 最新 製品 を 対象 に した 限定 割引 を 利用 できます。
イベント プロモーション と プレゼント : プレゼント 企画 や 祝日 キャンペーン に 参加 できます。
👉 私たち と 一緒 に 探求 と 創作 を 始める 準備 は できました か? [here] を クリック して、 今すぐ 参加 しましょう!
ADC
はじめに
フォトレジスタ( 光 依存 抵抗、 LDR ) は、 光 の 強さ を 検出 する 部品 です。 光 の 強さ が 増える と 抵抗 は 低下 する ため、 自動 ナイト ランプ や 周囲 光 コントローラ など の デバイス で 役立ちます。
この プロジェクト では、 Fusion HAT+ と フォトレジスタ を 使用 して、 周囲 の 明るさ に 応じて LED の 明るさ を 調整 する 方法 を 示します。 動作 原理 は 可変 抵抗( ポテンショメータ ) と 似ています が、 手動 調整 の 代わり に 入力 が 光 に なる 点 が 異なります。
回路 図
以下 は、 部品 の 接続 方法 を 示す 回路 図 です:
配線 図
以下 の 図 の とおり に 回路 を 組み立てて ください:
次 の 点 を 確認 してください:
フォトレジスタ は Fusion HAT+ に 接続 され、 アナログ 信号 を デジタル 値 に 変換 できる よう に なっている こと。
LED は PWM 制御 の ため に GPIO ピン に 接続 されている こと。
すべて の 配線 が しっかり 接続 され、 電源 と GND の 接続 が 正しく 設定 されている こと。
コード
以下 は、 この プロジェクト で 使用 する Python コード です:
#!/usr/bin/env python3
from fusion_hat.adc import ADC
from fusion_hat.pwm import PWM
import time
# Initialize a PWM LED
led = PWM('P0')
# Set up the potentiometer
photoresistor = ADC('A0')
def MAP(x, in_min, in_max, out_min, out_max):
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
try:
while True:
# Get the current reading from the ADC port
result = photoresistor.read()
print('result = %d ' %result)
# Map the ADC value to a range suitable for setting LED brightness
value = MAP(result, 0, 4095, 0, 100)
# Set the LED brightness
led.pulse_width_percent(value)
# Wait for 1 seconds before reading again
time.sleep(0.2)
# Graceful exit when 'Ctrl+C' is pressed
except KeyboardInterrupt:
led.pulse_width_percent(0) # Turn off the LED
この Python スクリプト は、 フォトレジスタ の 値 を 継続 的 に 読み取り、 LED の 明るさ を 設定 する ため の 適切 な 範囲 に マッピング し、 それ に 応じて LED の 明るさ を 調整 します。 また、 ユーザー に より 割り込み された 場合 に LED を 消灯 する、 安全 な 終了 処理 も 含まれています。 実行 すると:
Fusion HAT+ は 入力 チャネル から フォトレジスタ の 値( 0〜4095 ) を 継続 的 に 読み取ります。
光 の 強さ( または 他 の 可変 入力 ) を 表す アナログ 値 が、 コンソール に
result = <value>として 表示 されます。スクリプト は アナログ 値 を PWM 信号 に マッピング し、 LED の 明るさ を 調整 します。
LED の 明るさ は ADC 入力 に 基づいて 動的 に 変化 し、 0.2 秒 ごと に 更新 されます。
プログラム は
Ctrl+Cで 中断 される まで 無期限 に 実行 され、 中断 された 時点 で LED は 消灯 します。