SlideShare a Scribd company logo
1 of 25
作:ナカちゃん
ラズピコでLチカ 第二部
震えるぞハード、燃え尽きるほどヒート!
初めに
前回のラズピコ
• ラズピコのGPIOからのLチカを行う回路を試したよ。
• 回路はブレッドボードとジャンパワイヤを使って結線したよ。
• PCにIDE(Thonny)を導入したよ。
※今回は、これらを理解済みである前提で進めます。
さて、前回こう思いませんでした?
思ったこと
• インプットは0V〜3.3Vの間の電圧って受け付けないの?
• 出力=電圧変化になっているような、アナログセンサーとかが使えないや
ん。
• アウトプットは3.3v固定なの?
• LEDの明るさとか、DCモータの回転数とか制御できないやん・・・
はーつっかえ
いいえ、できますよ。
そう、ラズピコならね。
どうやるのか?
0V〜3.3Vの電圧を取るようなインプットを受けるには
• ADCを使います。
• Analog Digital Converterの略
• 電圧(0〜3.3v)を、その電圧に比例した16bitの値(0〜65535)として取得でき
る。
• ラズピコでは指定の端子をADCの入力ピンとして使用できる。
どうやるのか?
0V〜3.3Vの電圧を取るようなインプットを受けるには
• ラズピコのピン配置
ラズピコのピンアウト
(ピン配置)
- ADC0 〜ADC2 がアナログ入力
アナログ回路を3つまで同時に繋ぐことができる。
- AGNDがアナログ入力のGND
どうやるのか?
アウトプットを3.3v以外にするには
• PWM を使います。
• Pulse Witdth Modulationの略
• ON(0V)とOFF(3.3V)をものすごい速さで繰り返すことで、出力を変化させ
ることができる。
• 出力はduty比によって制御する。
• ラズピコでは好きなGP端子をPWMの出力ピンとして使用できる。
どうやるのか?
アウトプットを3.3v以外にするには
• PWM の例
duty比が小さい、つまりON時間 < OFF時間の場合
時間
電圧
0v
3.3v
〜
ON時間 OFF時間
duty比 = ON時間/(ON時間+OFF時間)
電球は暗い
どうやるのか?
アウトプットを3.3v以外にするには
• PWM の例
duty比が大きい、つまりOFF時間 < ON時間 の場合
時間
電圧
0v
3.3v
〜
ON時間 OFF時間
duty比 = ON時間/(ON時間+OFF時間)
電球は明るい
なるほど、わからん。
サンプルとかないの?
はい、ありますよ!
実践してみましょう。
実践編
まずはADCから
AGND
ADC0
• ブレッドボード上に次のような回路を作ります。
3V3
抵抗(10KΩ)
CdSセル
※この電子部品の挙動については後で説明します
実践編
プログラムの実行
• コードを入力し、実行しましょう!
import machine
import utime
#GP26(ADC0)端子をアナログ入力として使うための宣言
analog_input = machine.ADC(26)
while True:
#入力値の読み取り(値は0-65536の範囲をとる)
read_value = analog_input.read_u16()
voltage = (read_value/65536) * 3.3
print(voltage)
#適度にスリープ
utime.sleep_ms(500)
まずは回路の挙動について
ラズピコ
コード
・
・
・
3V3
R1
R2 = 10KΩ
これがCdS(光導電)セル
光を受けると、この素子が
持つ抵抗値が下がる。
可変抵抗器と捉えてOK
AGND
ADC0
解説編
まずは回路の挙動について
ラズピコ
コード
・
・
・
3V3
R1
R2 = 10KΩ
ここの入力電圧はR1,R2の
抵抗値の比によって決まる
ように結線している。
これを抵抗分圧という。
AGND
ADC0
解説編
まずは回路の挙動から
ラズピコ
コード
・
・
・
3V3
R1 = 2KΩ
R2 = 10KΩ
例えば、
周囲が明るい(R1=2KΩ) 場合
ADC0=2.75V
0.55V
2.75V
AGND
ADC0
解説編
まずは回路の挙動から
ラズピコ
コード
・
・
・
3V3
R1 = 10MΩ
R2 = 10KΩ
ほぼ3.3V
ほぼ0V
逆に、
周囲が暗い(R1=10MΩ) 場合
ADC0≒0V
AGND
ADC0
解説編
最後にコード
ラズピコ
コード
#入力値の読み取り(値は0-65536の範囲をとる)
read_value = analog_input.read_u16()
voltage = (read_value/65536) * 3.3
print(voltage)
3V3
• 周囲の明るさによって変化する電圧値をコンソールに表示できる
電圧が変化(0V-3.3V)する
※アナログ入力値を読みとり
明るさが変化した
※入力電圧が表示される
※電圧に変換
AGND
ADC0
OKですか?
次、行きます。
実践編
次にPWM
AGND
ADC0
• ブレッドボード上に次のような回路を作ります。
3V3
抵抗(10KΩ)
CdSセル
抵抗(1KΩ)
LED
GP16
GND
実践編
プログラムの実行
• コードを入力し、実行しましょう!
import machine
import utime
analog_input = machine.ADC(26)
led = machine.PWM(machine.Pin(16))
#周波数(LEDのON・OFFを1秒間にどれくらい繰り返すか)
led.freq(1000)
while True:
read_value = analog_input.read_u16()
duty = 65536 - read_value
led.duty_u16(duty)
utime.sleep_ms(200)
解説編
ラズピコ
コード
read_value = analog_input.read_u16()
duty = 65536 - read_value
led.duty_u16(duty)
3V3
• 周囲の明るさによってLEDの明るさも変化する。
(自動調光ランプができた)
電圧が変化(0V-3.3V)する
明るさが変化した
LEDの光の強さが変化する
※電圧値を読みとり
※電圧値に応じて、16 bitの値でduty比を設定する
電圧値が最大(65536)の時、duty比は0 = 0%
電圧値が最小(0)の時、duty比は65536 =100%
AGND
ADC0
AGND
GP16
以上です。
ありがとうございました。
次回、SPI or IC2やりたい

More Related Content

More from iPride Co., Ltd.

AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
iPride Co., Ltd.
 

More from iPride Co., Ltd. (20)

AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
 
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
 
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
 
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
 
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
 
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものですAWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
 
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
AWS SAM入門  2024/01/26の勉強会で発表されたものです【アイ・プライド】AWS SAM入門  2024/01/26の勉強会で発表されたものです【アイ・プライド】
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
 
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
 
ChatGPTを用いてCDKを勉強
ChatGPTを用いてCDKを勉強ChatGPTを用いてCDKを勉強
ChatGPTを用いてCDKを勉強
 
OpenID Connectについて
OpenID ConnectについてOpenID Connectについて
OpenID Connectについて
 
画像生成AIの問題点
画像生成AIの問題点画像生成AIの問題点
画像生成AIの問題点
 
AI入門
AI入門AI入門
AI入門
 
MVCになぞらえて理解するReact
MVCになぞらえて理解するReactMVCになぞらえて理解するReact
MVCになぞらえて理解するReact
 
AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~
 
OAuth2.0について
OAuth2.0についてOAuth2.0について
OAuth2.0について
 
ゼロトラストについて学んだこと
ゼロトラストについて学んだことゼロトラストについて学んだこと
ゼロトラストについて学んだこと
 
Recoilライブラリを 触ってみる
Recoilライブラリを 触ってみるRecoilライブラリを 触ってみる
Recoilライブラリを 触ってみる
 
ReactでuseEffect()を減らしたい話
ReactでuseEffect()を減らしたい話ReactでuseEffect()を減らしたい話
ReactでuseEffect()を減らしたい話
 
AIについて学んだこと ~ AIとは? ~
AIについて学んだこと ~ AIとは? ~AIについて学んだこと ~ AIとは? ~
AIについて学んだこと ~ AIとは? ~
 
単一責任の原則について
単一責任の原則について単一責任の原則について
単一責任の原則について
 

Recently uploaded

Recently uploaded (8)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

ラズピコでLチカ 第二部 震えるぞハード、燃え尽きるほどヒート!