Raspberry Pi PicoのADC(入力)とGPIO入出力を試してみた。
やってみたことは;
- ADC入力: 半固定抵抗を介して電圧入力
 - GPIO入力: タクトスイッチ
 - GPIO出力: LEDを光らせる
 - PWM出力: LEDの明るさ可変
 - 最後に組み合わせて明るさと色を調整できるようなプログラムを作ってみた
 - ADCの電圧からLEDへの出力を調整
 - タクトスイッチで調整する色を変更
 
| 配線 | 
 
  PIN 
  GPIO 
  信号 
  接続部品  
 
  31 
  26 
  アナログ入力(ADC0) 
  半固定抵抗  
  
  14 
  10 
  入力 
  タクトスイッチ  
  
  17 
  13 
  出力 
  LED緑  
  
  19 
  14 
  出力 
  LED青  
  
  20 
  15 
  出力 
  LED赤  
 
| PIN | GPIO | 信号 | 接続部品 | 
|---|---|---|---|
| 31 | 26 | アナログ入力(ADC0) | 半固定抵抗 | 
| 14 | 10 | 入力 | タクトスイッチ | 
| 17 | 13 | 出力 | LED緑 | 
| 19 | 14 | 出力 | LED青 | 
| 20 | 15 | 出力 | LED赤 | 
使った機材
- 半固定ボリューム 10kΩ
 - https://akizukidenshi.com/catalog/g/gP-08012/
 - 型番: TSR-3386T-EY5-103TR
 
- タクトスイッチ
 - https://akizukidenshi.com/catalog/g/gP-03649/
 - 型番: DTS-63-N-V-BLU
 
- RGBフルカラーLED:
 - https://akizukidenshi.com/catalog/g/gI-02476/
 - 型番: OSTA5131A-R/PG/B
 - カソードコモン
 
- 抵抗 330Ω
 - https://akizukidenshi.com/catalog/g/gR-25331/
 - 型番: CF25J330RB
 - 3個(フルカラーLED3色の脚それぞれに必要)
 
- 抵抗 10Ω
 - https://akizukidenshi.com/catalog/g/gR-25103/
 - 型番: RD25S 10K
 - タクトスイッチ入力のプルダウン抵抗
 
ADC入力: 半固定抵抗を介して電圧入力
PIN31/GPIO26/ADC0に半固定抵抗を接続して読み値を表示。先日オンボードの温度計を読み取った際とほぼ同じ内容。
machine.ADC(#)で値を読み取り。
GPIO入力: タクトスイッチ
GPIO出力: LEDを光らせる
PIN17/GPIO13、PIN19/GPIO14、PIN20/GPIO15を出力として使用しLEDへ接続。出力の設定はPin.OUTと指定、valueに1(on)・0(off)を指定するだけで簡単に出力できる。
タクトスイッチを押した際にON/OFFする。
PWM出力: LEDの明るさ可変
今回試した内容を組合せて実行
タクトスイッチを使って明るさを調整する色を切り替えられるようにしてみた。
ひとまずPicoの使い方を勉強しなおすには適度なお題だった。今後SPIを使ってLEDマトリックスをいじったりしてみようと思う。
参考にしたサイト
- ラズパイスクール
 - ”ラズベリーパイPicoで電子工作の始め方”
 - https://raspi-school.com/blink-led-with-raspberry-pi-pico/
 - ふじむぅスタジオ
 - ”ボリュームを使ってLEDをじわじわ光らせる【ADCとPWM】”
 - https://fujimoostudios.org/?p=188
 - Tech and Investment
 - ”RaspberryPi Pico MicroPythonでGPIOを使う方法”
 - https://tech-and-investment.com/raspberrypi-pico-12-gpio/
 
参考書
- Raspberry Piで学ぶ電子工作
 - https://bluebacks.kodansha.co.jp/books/9784062579773/appendix/
 - Raspberry Pi 3Bを買った際に購入した本
 - コードはPico/MicroPython用に直す必要があったが、久しぶりに電子工作っぽいことを進めるにあたっては回路を組む際の参考になった
 
