見出し画像

新しいおもちゃを手に入れました


どうも、じぇいかわさきです。

気温は上昇してきたとは言え、外は風が強くてまだまだ家の中で何か作業するのが楽しいですね。

そんな中、巷で流行っている物をついに手に入れました。

じゃ〜ん、それはこれです。

画像1

そうです、Raspberry Pi Picoです。結構流行っているようで、今月前半の頃は品切れ状態が続いていたようですね。

Arduinoを今まで少しやっていましたが、こちらのほうが強力だということでついつい買ってしないました。本体自体は税込み550円と格安ですからね。


事前準備をする

購入しただけではピンヘッダーも付いていないので、まずはピンヘッダー付けから始まります。

画像2

こんな感じで、ブレッドボードを使ってハンダ付けすれば、位置も固定できて一石二鳥です。

ここまでできたら、ネットで調べながら使えるように設定をしていきます。

まず、本体上にある白いプッシュスイッチを押しながらUSBケーブルを接続します。これにより、Raspberry Pi Picoがストレージと認識されて、ディスクトップにこんなアイコンが出ます。

ストレージ

このアイコンをダブルクリックして開き、中に有るindex.htmをクリックしてブラウザを立ち上げ、立ち上がったページより開発環境のMicroPythonを選択します。

Raspberry Pi Picoの開発環境はC/C++とMicroPythonの2つがありますが、最近勉強を始めているPython系のMicroPythonを迷わず選びます。

画像4

この、緑のボタンをクリックすることで、MicroPythonのUF2というファイルをダウンロードします。

ダウンロードしたファイルをコピーすると、自動でストレージは切り離されます。これで使用可能な状態になりました。

実際にプログラムを書いて行くには、自分の場合ですと母艦のMacからThonnyというIDEを使用してMacとRaspberry Pi PicoをUSB接続して実行します。

これはArduinoと同じ様は方式ですね。


まずはおなじみのLチカ

Raspberry Pi PicoにはLEDが1つ載っていますので、ご多忙にもれずプログラミングの初歩として、このLEDを点灯させてみます。

Thonnyを立ち上げたら、まずは右下にあるバージョンの部分をクリックするとターゲットを選択できますので、そこでRaspberry Pi Picoを選択します。

これで、ThonnyとRaspberry Pi Picoが接続されたことになります。

Lチカ

たった3行の至ってシンプルなコードになります。実行を押すと、Raspberry Pi PicoのLEDが緑に点灯しました。

画像6

当たり前ですけどね。このままでは、LEDは点灯したままになりますので、次に、1秒間隔でLEDを点滅させるようにします。

LED点滅

whileを使って点滅となるようにループを繰り返します。見事に点灯するようになりました。

動画があるんですが、noteにはMOVファイルを貼り付けることができないのですね。いろいろ調べたら、GIFならOKみたいなので、MOV→GIF変換を行いました。

Lチカ

こんな感じで簡単にできました。


ThonnyでなくいつものVCを使いたい

現在、Pythonの勉強環境はMSのVCを使用している。非常に使いやすいのでお気に入りなんですが、このVCでRaspberry Pi Picoを使うことができるらしいのだ。

VCでRaspberry Pi Picoを使うにはPico-Goというモジュールをインストールするらしいです。

画像9

しかし、このPico-GoをインストールしただけではエラーがでてVCとRaspberry Pi Picoが接続できないんですよね。

エラーコードをチェックしていくと、NodeJSがPico-Goには必要らしいのですが、自分の環境にはインストールされていないということらしい。

さっそくNodeJSをインストールすることにした。

画像10

NodeJSのページからLTS版をダウンロードして、自分のMacにインストールを行いました。

その結果、Raspberry Pi Picoと接続ができたのか、VCのターミナル部分の表示が変わりました。また、ちゃんとPico consoleという表示にもなりました。

Pico-Go起動

これで、VCからRaspberry Pi Picoが使えるはず・・・でしたが。。。


モジュールが無いと起こられ動かない

さて、VCからRaspberry Pi Picoが使えるようになったということで、さっそく先のLチカをもう一度やってみようと思いました。

Thonnyで問題なく動くコードをVCで動かすとエラーになるんです。

画像12

このエラーのように、モジュールが無いって怒られてエラーで動かないんですよね。

しかし、同じコードをThonnyで動かすと何もなかったかのように、普通にエラーなく動くんです。

画像13

この違いは何なのでしょうか?

ちなみに、ターミナルで本当にインストールされていないか確認するために、再度インストールを試みました。

******@NERV ~ % sudo pip3 install machine
Password:
WARNING: The directory '/Users/******/Library/Caches/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: machine in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (0.0.1)
Requirement already satisfied: pycrypto in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (from machine) (2.6.1)
******@NERV ~ %


何だか問題ないように見えるのですが、Thonnyで良くてVCでダメってどういうことですかね。

いろいろとネットで調べたりしていますが、未だ解決策が見つからずです。

No module named 'machine' なので、machineをインストールすれば解決すると思っていたんですが違うんですかね。

VCでPico-Goを動作させている人、不具合などの情報をいただけると嬉しいですね。

なにか始めると、すぐにつまずくのは最近のパターンのような気がします。

でも、また一つおもちゃが増えたんで、またまた時間が無くなりそうですね。


いいなと思ったら応援しよう!

じぇいかわさき@ものづくりアドバイザー兼エッセイニスト
じぇいかわさきです。生産技術者として35年、今まで培った経験とスキルを元に、ものづくりに関わる世の出来事に対して思ったことをホンネで書いてます。ノウハウやアイデアもありますよ。 また写真も全力で撮っています、気に入った写真があればサポートや感想をぜひお寄せください。