【Raspberry Pi Pico】私的チュートリアル
はじめに
Raspberry Pi Pico Wを買いました
いろいろ試したので、サンプルコードだけ載せておきます
環境:micropython (Thonny)
1. ボード上LEDでLチカ
LEDの点灯と消灯を、1秒毎に繰り返すサンプルコード
import machine # なくても動作するが、一応記述しておく
import utime # こっちは必要
led = machine.Pin('LED', machine.Pin.OUT) # 内臓LEDにつながってるPINを定義
while True: # 無限loop
led.on() # LEDを点灯状態にする
utime.sleep(1) # 1秒間、処理を停止する
led.off() # LEDを消灯状態にする
utime.sleep(1) # 1秒間、処理を停止する
2. BOOTSELボタンの活用
BOOTSELボタンの押下を検知するサンプルコード
import machine # なくても動作するが、一応記述しておく
import rp2 # なくても動作するが、一応記述しておく
import utime # こっちは必要
led = machine.Pin('LED', machine.Pin.OUT) # 内臓LEDにつながってるPINを定義
while True: # 無限loop
if rp2.bootsel_button() == 1: # bootselボタンが押下状態の場合
led.on() # LEDを点灯状態にする
else:
led.off() # LEDを消灯状態にする
utime.sleep(0.1) # 0.1秒間、処理を停止する
3. 内臓温度センサ値の取得
内臓CPU温度センサの確認(公式にもあるやつの改変)
実際の値は結構ぶれるので、センサの絶対制度は低い
import machine # なくても動作するが、一応記述しておく
import rp2 # なくても動作するが、一応記述しておく
import utime # こっちは必要
def read_temperature_on_cpu():
reading = sensor_temp.read_u16() * conversion_factor
temperature = 27 - (reading - 0.706)/0.001721
return temperature
sensor_temp = machine.ADC(4) # Analog Digital Convertor
conversion_factor = 3.3 / (65535) # 変換用の係数の定義
while True: # 無限loop
if rp2.bootsel_button() == 1: # bootselボタンが押下状態の場合
cpu_temp = read_temperature_on_cpu()
print("[temp] : {}(℃)".format(cpu_temp))
utime.sleep(0.1) # 0.1秒間、処理を停止する
実行時の結果
ボタン押下で0.1秒毎に出力しても結構ぶれている
![](https://assets.st-note.com/img/1681530383715-y97NHo0ihb.png?width=1200)
以上。
参考URL
RP2 クイックリファレンス
https://micropython-docs-ja.readthedocs.io/ja/latest/library/machine.Pin.htmlクラス Pin -- I/O ピンの制御
https://micropython-docs-ja.readthedocs.io/ja/latest/library/machine.Pin.html(GItHub) pico-micropython-examples
https://github.com/raspberrypi/pico-micropython-examples/blob/master/adc/temperature.py