先日、品川まで行ったついでに映画を見に行った。
品川駅の高輪口にある、映画館である。
映画は、現在上映中のガンダムSEDD freedom
そろそろ入場ということで、並んでいたら・・・
受付の人が箱を取り出して、入場者に何かを配り始めた。
グーグル先生に聞いたら、入場者特典らしい。
今週は第8弾で、原画バッジでした。
映画自体は、そこそこ面白かった~
先日、品川まで行ったついでに映画を見に行った。
品川駅の高輪口にある、映画館である。
映画は、現在上映中のガンダムSEDD freedom
そろそろ入場ということで、並んでいたら・・・
受付の人が箱を取り出して、入場者に何かを配り始めた。
グーグル先生に聞いたら、入場者特典らしい。
今週は第8弾で、原画バッジでした。
映画自体は、そこそこ面白かった~
前回の pico wで遊ぶ ~その2 ハードウェア - いろいろメモる日記 の内容をグレードアップ!
pico w君にLチカ実行してもらいます! 毎回シェルに手入力するのも面倒だし。
まずは、シェルに入力した内容を、pico w君にしてもらいます。
これをそのまま、Thonnyのエディタ部分へコピペする。
ただし、このままだと一瞬光って消える感じなので、消えるまでの時間を伸ばす。
伸ばす時間は timeモジュールのsleep関数を使用して調整する。
コピペしたソースはこんな感じ。
実行->現在のスクリプトを実行(F5キー)で、実行してみると
確かに点灯→1秒継続→消灯と「1回」だけ実行される。
・・・1回だけでなくずっと繰り返してほしい場合はどうするか?
繰り返して動作させたい時は、以下のような構文を使用する。
while True:
~繰り返したい内容
whileの後が繰り返し終了条件で、条件がTrue(真)の間は繰り返し継続、
False(偽)になったら繰り返し終了なのだが、True(真)としているので永遠に終わらないw
プログラミングっぽい書き方である。
書き換えてみたのがこちら。Pythonの書き方で
Whileの次以降の文は、先頭に数文字分インデント入れるのがルール
1秒間隔で、点灯と消灯を繰り返すようになった!
picozeroは、Raspberry Pi 財団が提供しているRaspberry Pi Pico向けのライブラリである。これを使うともう少しわかりやすい構文になる。
導入方法は以下の通り。
ツール->パッケージを管理で、picozeroと入力して検索
検索結果の picozero @ PyPl をクリック
次の画面でインストールをクリック
picozeroを使って書き換えた内容は以下の通り。
value(1)部分がled.onのような英文に近い感じで、理解がしやすくなった。
現時点は開発中ということで、USBケーブル経由で電源供給及び制御という形であるが、本来運用では電池に接続してPCからの接続されていない「スタンドアロン」な状態のはずである。
平たく言うと、電池つないでずっと繰り返し処理させるにはどうするか?
Raspberry Pi公式ドキュメントによると、
電源つないだ状態で、プログラムを「main.py」という名前でpico wに書き込むこと。
とある。
main.pyの作成と書き込み方法は、以下の通り。
今のソースファイル「lchika_min2.py」に対し、
ファイル->名前をつけて保存をクリックし、Raspberry Pi Picoを選択
ファイル名を main.py にしてOKをクリック
別電源に接続すると・・・問題なくスタンドアロンで動作確認できた。
pico w君にLチカ実行させるミッションクリア!
・Lチカを通して、繰り返し処理の書き方がわかった。
・picozero導入により、ライブラリの探し方や使い方がわかった。
・スタンドアロン状態での動作のさせ方やプログラムの書き込み方法がわかった。
次回は、GPIO(電子部品等を接続して入出力に仕えるピン)を使って、電子工作っぽく遊んでみる。
ICソケット(40ピン)の600mlのサイズだと幅が合わないことが判明!
なので、秋月電子で、ピンソケット@50円を2つ買い直しピンに接続。
土台としてブレッドボードを使用した最終形は以下の画像のようになった。後でいろいろ部品も追加したいし。
USBケーブルは、千石電商のレジ前のお買い得品箱で買ったもの。@100円也
赤いので3倍性能が上がるわけでは・・・ない。ダッタライイナー(棒読み)ww
さっそく、定番のLチカ(LEDをチカチカ点灯させる)してみる。
えっ、LEDないじゃん! pico wには標準でLEDがついてるのでそれを使用するので問題なし。初期コスト低くて助かる~
・・・とその前にpico wと通信できているか、その1で記事にした、Thonnyを開いて下部のシェルから以下のように入力して確認してみる。
>>> from machine import Pin
「>>>」部分はシェルのプロンプト。pico wと通信できていれば、プロンプトが新しく表示される。
通信が確認できたので、Lチカ開始。続けてシェルへ入力
>>> led = Pin("LED", Pin.OUT)
>>> led.value(1)
上記入力でLEDがONとなり、点灯する。value(1)というのは、ピンに電圧かけてオンとかHigh状態にする意味だろう。
ちなみに消灯する場合は、続けて以下のように入力する。予想通り、value(0)はオフ(Low状態)の意味だろう。
>>> led.value(0)
意外に簡単にLチカできた。人力だけど。
(Python少し知ってれば)楽勝ですわー
次回はPythonっぽくプログラム化してみる。
こんな貼り紙された経緯を知りたいww
何やらかしたのやら。
久しぶりに遊んでみようとしたら・・・
ぷぎゃー、ボタンが取れた・・・
なんでこんなに脆弱なのか、
こやつは最弱の四天王だから・・・とつぶやきたくなる気分
大急ぎで万能ボンドで固定した。
にしても、その2本編より先に番外編とは如何にww