だれでも気軽に利用できるマイコンとして人気のRaspberry Pi Pico W。
今回は、簡単な電子回路との組み合わせで、Pico Wを使ってLED(発光ダイオード)の点滅、消灯をコントロールしてみましょう。
また、パソコンで作成したプログラムをPico Wに保存して、Pico W単体でプログラムを実行する方法を確認しましょう。
今回やること
電子回路上にあるLEDを自動で点灯・消灯するプログラムを作り、実際に動作させます。
やることとしては、以下の5つです。
- LEDが点灯する電子回路を作る。
- Pico Wと電子回路をつなげる。
- Pico W からLEDを点灯・消灯させるプログラムを作る。
- プログラムを実行して、動作確認をする。
- プログラムをPico Wに保存して、パソコンなしで単体動作させる。
LEDが点灯する電子回路を作る(Lチカ回路)
電子回路とプログラムを組み合わせた際の基本としてLEDをチカチカ点滅させる、通称:Lチカに挑戦します。
LEDが点滅する電子回路を作るには、以下の部品などが必要です。
- LED(色は何でもOK、順方向電圧が1.8~2.1Vのもの)
- 抵抗(100Ω~220Ωのもの)
- ブレッドボード(試作の電子回路を組み立てる板です。ブレッドボードの解説はこちら)
- ジャンプワイヤー
Pico Wと、Pico Wを単独で動かすための電源アダプタ―(5V-1A程度)、USBケーブルも使用します。
基本的な電子部品がセットになったパーツセットなどを用意しておくと便利です。
Pico Wをブレッドボードで使えるようにするには
標準状態のPico W は平べったい形状です。このPico Wをブレッドボードで使用するには「ピンヘッダ」と呼ばれるピン部品をハンダ付けする必要があります。片側に20本、両側合わせると40本のピンが必要です。
ピン無し(写真手前)とピンヘッダ取り付け済(写真奥)
ハンダ付けが苦手な方には、最初からピンヘッダが取り付けられたPico WHを購入するのもおすすめです。
ピンヘッダのハンダ付けはブレッドボードに固定すると簡単です。Pico Wの幅に合わせてピンヘッダを差し込み、Pico Wをセットしてからハンダ付けをすると簡単です。
(Pico Wの中央にDEBUGと書かれた3本ピンを取り付けできる場所があります。後からだと付けづらいので、先に付けておきます)
ブレッドボードに回路を組み立てよう
- まず、ブレッドボードにピンヘッダが付いているPico Wをブレッドボードに挿します。
ピン数が多いので挿し込みずらいですが、奥までしっかりと挿しこみましょう。
- 次に抵抗のリードを20番ピンのラインと少し離れた位置(Aとします)に挿しこみます。
(20番ピンはGPIOポート15です。ややこしいですが) - 次はLEDです。LEDの長いほうのリードをAのラインに挿しこみます。反対側の短いの方のリードは空いているラインに挿しこみます。
- 最後にLEDの短いほうのリードと同じラインにジャンパーワイヤーの片側を差し込み、ワイヤーの反対側は18番ピンのラインに挿します。
(18番ピンはGNDです)
完成すると写真のようになります。
プログラムを作ろう
Pico W用のプログラム作成にはThonnyを使用します。
Pico Wの設定、Thonnyのインストールを行っていない方は先に「Raspberry Pi Pico を使う準備(ソフト編)」をご覧ください。
- Pico WとパソコンをUSBケーブルで接続します。
- パソコンでThonnyを起動します。
- プログラムを入力する欄に以下のコードを入力します。コード内の#以下の記述はプログラムの説明です。入力しなくても構いません。
import machine #GPIO使用のため、machineモジュールのインポート import utime #時間制御のため、utimeモジュールをインポート # LEDを接続するGPIOピンの番号 (今回はGP15) led_pin = machine.Pin(15, machine.Pin.OUT) while True: led_pin.value(1) # LEDを点灯 utime.sleep(1) # 1秒間待つ led_pin.value(0) # LEDを消灯 utime.sleep(1) # 1秒間待つ
- 入力したらメニューバーの緑色の丸い「実行ボタン」を押すと動作します。
1秒ごとにLEDがON・OFFを繰り返します。
動作しない場合は、回路の接続の確認、ソースコードに誤りがないかを確認してください。
(補足)プログラムの説明
- import machine
GPIOピンを制御するために、machineモジュールをインポートします。 - import utime
時間を制御するために、utimeモジュールをインポートします。 - led_pin = machine.Pin(0, machine.Pin.OUT)
GPIOピン0を出力モードでled_pin変数に割り当てます。 - while True
無限ループを開始します。以下の4行をループします。電源を切らない限り動作はずっと続きます。 - led_pin.value(1)
LEDを点灯します。 - utime.sleep(1)
1秒間待ちます。 - led_pin.value(0)
LEDを消灯します。 - utime.sleep(1)
1秒間待ちます。
プログラムをPico Wに保存しよう
- 作成したプログラムをPico Wに保存しておけば、パソコンと接続していない状態でもPico W単体でプログラムを実行することができます。
- メニューバーにある赤い「STOP」ボタンを押してプログラムを停止させます。
- Thonnyのファイルメニューから「保存」を選びます。
- 保存先を選ぶ画面になるので、「Raspberry Pi Pico」を選択します。
- 保存する際のファイル名は必ず「main.py」と入力してください。ほかのファイル名にしたり、拡張子(.py)が無いとPico W単体で動作できません。
- 保存ができたら、Thonnyを終了してUSBケーブルを外します。
Pico W単体での動作
Thonnyを開いていない状態でパソコンにつなぎ直すか、スマートフォン用の充電器などPico Wに接続すると、Pico W内に保存されたプログラム(main.py)が動作します。
基本操作は同じです
複雑な電子回路やプログラムを使用する場合でも、「回路を作る、プログラムを作る、Pico Wで動作させる、Pico Wにプログラムを保存して単独動作させる」という作業は、難易度は違えど同じように試行錯誤しながら行います。。
まずは基本操作をしっかり理解しましょう。