2021年2月15日投稿 Pi PicoのADCで電圧表示

 

↑ 以前作ったラズパイPicoのプログラムを、Windows11にインストールしたPico用VSCode C/C++開発環境にコピペする。

以前のCMakeLists.txtでは駄目で、エラーやファールばかりを繰り返して大変でした。そもそも私はズブの素人、CMakeLists.txtの役目を知らずにやっているのですから、本当に大変でした。
でも、最終的にエラーやファール、警告も無く正常にuf2ファイルが出来たので、忘れない内にその方法を残します。

どの様なプログラムかと言うと、次の画像がそのプログラムの実行中の様子で、ADC0の電圧をADCで測定しSSD1331に表示する。と言う事をCore0で無限ループする。それに加え並列してCore1でLEDの点滅をさせています。

 

環境作りは以下のリンクから pico-setup-windows-0.3.5-x64.exe をダウンロードして行う。

pico-setup-windows

VSCodeの立ち上げは、必ず Visual Studio Code for Pico のショートカットを使用する。このショートカットはドキュメントフォルダに作られたPicoフォルダの中にある。

↓ New C/C++ Projectをクリック。

 

↓ New Pico Project

Name SSD1331_test
Board type Pico
Location c:\Users\JM1LXS\Documents\LXS_Pico
Select Pico SDK version v2.1.0
Features spi
Stdio support Console over USB
Code generation options Use project name as entry point file name
Generate C++ code
Debugger DebugProbe

 

↓ CMakeLists.txtに追記
hardware_adc
pico_multicore
pico_bootsel_via_double_reset

↑ pico_bootsel_via_double_reset は、リセットボタンをダブルクリックするとBOOTSELモードになる。なのでUSBケーブルの抜き差しは不要。

 

次は、Cソースファイルの内容を丸ごと入れ替える。以前も今回もソースファイルは1つだけ。以前のソースファイル名は
pico_ssd1331_oled.c

今回新しく作ったソースファイル名は
SSD1331_test.cpp

SSD1331_test.cppの中身は削除して空にする。以前のpico_ssd1331_oled.cの中身をコピーしてSSD1331_test.cppにペーストする。

font.hはコピーしてSSD1331_testフォルダにペーストする。

 

↓ ビルドが成功して最終的なファイルはこんな感じ。

 

 

この記事で扱ったソースファイルをダウンロード出来ます。解凍すると、SSD1331_testフォルダとLXS-TESTフォルダがあり、SSD1331_testが新たなプロジェクトです。このフォルダをImport Projectで読み込めば、そのまま使えると思います。

Pico_SSD1331.zip

尚、SSD1331を初期化するコード lxs_oled_init()内のコマンド 0xAE 0x25から始まるそれは、ネット上で見つけた物で、私には何故そのコマンドなのかなど説明出来ません。
また、font.h内のフォントデータもネットから拝借した物です。

私は素人なので質問されても良い回答が出来ないので悪しからず。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Post Navigation