Raspberry Pi Pico/PicoWの完全ガイド:セットアップからWiFi接続、内蔵LED制御まで徹底解説

目次

はじめに

  • Raspberry Pi Pico/Pico WはRP2040というマイクロコントローラ(略してマイコン)を搭載したマイコンボード。
  • 小型で低価格だが、多機能なInput/Output(略してI/O)ポートを持つため、電子工作やプログラミングの入門に最適な筐体です。

一番のおススメ&お気に入りです!

セットアップ手順

  • MicroPythonファームウェアのダウンロード
    MicroPythonの公式サイトからファームウェア(.uf2)をダウンロードします。
    ※PicoとPicoWで異なるので注意しましょう。
  • Raspberry Pi Pico(W)の接続
    Pico(W)をUSBケーブル※でBOOTSELボタンを押しながらPCに接続。PCにマスストレージデバイスとして認識されます。※データ通信可能なケーブルを使用すること。
  • ファームウェアの書き込み
    ダウンロードしたMicroPythonファームウェアを、Pico(W)にドラッグ&ドロップ。これでMicroPythonがインストールされ、Pico(W)は自動的に再起動します。
  • プログラミング環境のセットアップ
    Thonny IDEをPCにインストール。Pico(W)を接続すると、MicroPythonが選択できます。

GPIOについて

GPIO(General Purpose Input/Output)は、マイコンボードやシングルボードコンピュータ(Raspberry Pi4等)において汎用的に使用できる入出力ピンのことを指します。Raspberry Pi Pico(W)では、以下のような特徴を持っています。

特徴

  • 汎用性:デジタル信号(0,1の信号)の入力、出力の両方に使用できるピン
  • プログラム可能:ソフトウェアで制御可能
  • 多機能:特定のピンはPWM(Pulse Width Modulation)やI2C、SPI、UARTなどの通信規格(プロトコル)に対応

GPIOピン配置

  • 電源
    VBUS …PicoにUSBケーブルを接続したときに、USBポートから供給される電源(5V)を受け取るための端子で5V固定。
    VSYS …Pico全体の電源供給を制御するための端子。内部で電源管理回路に接続されており、外部電源(バッテリーなど)やUSBからの電源を統合して管理できる。1.8~5.5Vに対応。こちらを推奨。
  • 同一通信規格で複数のインターフェース
    複数のインターフェースを利用※することで、デバイスの接続や通信が効率化され、独立した通信路を確保することができます。
    ※I2C0にはセンサー類を接続し、I2C1にはディスプレイを接続する等
    <I2C0>
     SDA:GP0またはGP4
     SCL:GP1またはGP5
    <I2C1>
     SDA: GP2またはGP6
     SCL: GP3またはGP7

出展元:https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html#raspberry-pi-pico

WiFiに接続時、内蔵LEDを点滅させるプログラム

左上のLEDを光らせます。WiFi情報のみ手動入力すれば動きます。

import network
import time
from machine import Pin

# WiFi設定
ssid='your_SSID'#自宅のWiFiの名前
password='your_PASSWORD'#自宅のWiFiのパスワード

# 内蔵LEDの設定
led=Pin(25, Pin.OUT)#内蔵LEDは25番

# WiFiに接続
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)

# 接続が確立されるまで待機
while not wlan.isconnected():
    print('Connecting...')
    time.sleep(1)

print('Connected, IP address:', wlan.ifconfig()[0])

# WiFi接続が成功したらLEDを点滅させる
while True:
    led.value(1)  # LEDをオンにする
    time.sleep(1)  # 1秒待機
    led.value(0)  # LEDをオフにする
    time.sleep(1)  # 1秒待機
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次