Raspberry Pi Pico WでLEDをピカピカさせよう(Lチカ)

0
717

だれでも気軽に利用できるマイコンとして人気の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本ピンを取り付けできる場所があります。後からだと付けづらいので、先に付けておきます)

ブレッドボードに回路を組み立てよう

  1. まず、ブレッドボードにピンヘッダが付いているPico Wをブレッドボードに挿します。
    ピン数が多いので挿し込みずらいですが、奥までしっかりと挿しこみましょう。
  2. 次に抵抗のリードを20番ピンのラインと少し離れた位置(Aとします)に挿しこみます。
    (20番ピンはGPIOポート15です。ややこしいですが)
  3. 次はLEDです。LEDの長いほうのリードをAのラインに挿しこみます。反対側の短いの方のリードは空いているラインに挿しこみます。
  4. 最後にLEDの短いほうのリードと同じラインにジャンパーワイヤーの片側を差し込み、ワイヤーの反対側は18番ピンのラインに挿します。
    (18番ピンはGNDです)

完成すると写真のようになります。

プログラムを作ろう

Pico W用のプログラム作成にはThonnyを使用します。
Pico Wの設定、Thonnyのインストールを行っていない方は先に「Raspberry Pi Pico を使う準備(ソフト編)」をご覧ください。

  1. Pico WとパソコンをUSBケーブルで接続します。
  2. パソコンでThonnyを起動します。
  3. プログラムを入力する欄に以下のコードを入力します。コード内の#以下の記述はプログラムの説明です。入力しなくても構いません。
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. 入力したらメニューバーの緑色の丸い「実行ボタン」を押すと動作します。
    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に保存しよう

  1. 作成したプログラムをPico Wに保存しておけば、パソコンと接続していない状態でもPico W単体でプログラムを実行することができます。
  2. メニューバーにある赤い「STOP」ボタンを押してプログラムを停止させます。
  3. Thonnyのファイルメニューから「保存」を選びます。
  4. 保存先を選ぶ画面になるので、「Raspberry Pi Pico」を選択します。
  5. 保存する際のファイル名は必ず「main.py」と入力してください。ほかのファイル名にしたり、拡張子(.py)が無いとPico W単体で動作できません。
  6. 保存ができたら、Thonnyを終了してUSBケーブルを外します。

Pico W単体での動作

Thonnyを開いていない状態でパソコンにつなぎ直すか、スマートフォン用の充電器などPico Wに接続すると、Pico W内に保存されたプログラム(main.py)が動作します。

基本操作は同じです

複雑な電子回路やプログラムを使用する場合でも、「回路を作る、プログラムを作る、Pico Wで動作させる、Pico Wにプログラムを保存して単独動作させる」という作業は、難易度は違えど同じように試行錯誤しながら行います。。

まずは基本操作をしっかり理解しましょう。