Raspberry Pi Pico(通称RasPico)を発売日に買ったはいいが全然使ってないということに気づいてしまったので消化します
ここに写ってるのは 3 個ですが、実際はもうちょいあります。全部で 5 個かな
して、このうち一つを徴用、、、もとい活用して RasPico 遊びをしていきましょう
マルツに行ったら専用基板があったので使ってみました。いい感じ
外部の電源を使えるようにレギュレータをつけましたが、今のところ使ってません
で、マイコン触るとなると GPIO 使うことが多いですが、今回は ADC を使うことにします。デジタルはまた今度
そのために可変抵抗を追加しま...
した。言わずもがな赤色の線が VSYS、黒色が GND、青色が分圧出力です
早速 ADC を読んでシリアル出力するプログラムを走らせてみましょう
#define ADC0 26 #define ADC1 27 void setup() { Serial.begin(115200); } void loop() { uint16_t ADC_0 = analogRead(ADC0); uint16_t ADC_1 = analogRead(ADC1); char buff[32]; sprintf(buff, "%4d, %5d", ADC_0, ADC_1); Serial.println(buff); delay(125); }
結果:
ちゃんと読めてますね
RP2040 の ADC はデータシートを見る限り 12bit ですが互換性のためか 10bit になってました。そもそもそこまで精度ないと思うのでまあ良いでしょう
シリアルプロッタを開いて可変抵抗を動かさずにちょっと放置
ちょっとちらついてるので実使用では 2bit か 3bit 分くらい落とした方がいいかも? あとは(やり方は知らないけど)ADC の積算回数を弄ってみるか
お次は電圧計モード
とは言っても Vcc 電圧を掛けて最大値で割るだけですが
一応それなりに近い値は出てました。簡易的に電圧見る分には使えそう
Arduino IDE で開発する場合、analogRead(pin)
に GPIO の番号を入れて実行するだけで ADC 読めるので Arduino と同じ感覚で使えそうですね
今後この子にはインバータの制御をしてもらおうかと考えてるので進捗があり次第また何か書くかも