近年、組み込み系プログラミングの入門として安価なRaspberry Pi Picoがよく扱われます。
学習キットや文献も多く販売されており,学習のハードルはかなり低いです。
近年インターネットブラウザ上でRaspberry Pi Picoを扱えるシミュレータも性能が向上し,無料で誰でもパソコンさえあればマイコン制御が学べる時代が到来しました。
今回はWOKWiというシミュレータを紹介します。
本サイトの記事もほとんどがこのシミュレータ上で試すことが出来ますので,併用して学習に活用してください。
本コースはPython言語については基礎知識がある前提で進めていきますので、下記コースを一通り修得した後に、取り組んでください。

WOKWi

WOKWiは無料かつオンライン環境さえあれば人気のマイコンのシミュレーションを行うことが出来るサービスです。
扱っているマイコンは
・Arduino Uno / Mega / Nano / ATtiny85 / Franzininho
・ESP32 / ESP32-Sx / ESP32-Cx / Franzininho WiFi
・STM32
・Raspberry Pi Pico / W / Micropython
と人気どころを抑えています。
有料サービスに課金をするとVSCode上でシミュレーションをしながら開発を行えたり,パーツやライブラリを自由に追加できるようになります。
今までシミュレータとして人気のあった、ThinkerCADに比べるとグラフィックや操作性は劣りますが,拡張性が高く,現時点で対応しているライブラリも多い為個人的にはこちらの方がおすすめです。
WOKWiの使い方
簡単にWOKWiの使い方をご紹介します。
ホームページにアクセスします。
使用したいマイコンをクリックします。(今回はRaspberry Pi Pico)

移動したページの中央付近にある、Micropythonをクリックします。

以下がシミュレーション画面になります。大まかな機能は以下の通りです。

Lチカ
Lチカ(LEDチカチカ)は、電子工作の基本的なプロジェクトで、LEDを点滅させることを指します。
Raspberry Pi Picoを使う場合、Lチカを行うことで、GPIO(General Purpose Input/Output)ピンを操作し、LEDを点灯させたり消灯させたりする方法を確認できます。
Raspberry Pi Picoにはボード上にLEDが最初から搭載されています。こちらを光らせてみます。
以下のコードをコピーし、実行してみましょう。
import machine
import time
# Raspberry Pi Pico W のオンボードLEDはGPIO 25番に接続されています
led = machine.Pin(25, machine.Pin.OUT)
while True:
    led.on()  # LEDを点灯
    time.sleep(1)  # 1秒待機
    led.off()  # LEDを消灯
    time.sleep(1)  # 1秒待機
プログラムの説明
- machine.Pin(25, machine.Pin.OUT)でGPIO 25ピン(オンボードLED)を出力モードに設定します。
- led.on()と- led.off()でLEDを点灯・消灯させます。
- time.sleep(1)で1秒間待機します。
このプログラムを実行すると、Raspberry Pi Pico WのオンボードLEDが1秒おきに点灯・消灯を繰り返します。
外部LEDの点灯
次にLEDを自分で追加して光らせてみましょう。
部品の追加をクリックします。

部品を配置しやすいように、ブレッドボードを配置します。
Harf BreadBoardを選択します。

配置して、3.3Vの電源ラインとGNDラインを先に引いておきます。
こうすることでこの後の回路配線がわかりやすく、変更しやすくなります。
配線をクリックすると色や線の位置を調整できます。

同様にしてLEDと抵抗を追加してみましょう。
LEDも配線同様、クリックすると色を変更できます。
抵抗は330Ωにしておきます。
抵抗はGPIO16番につなぎます。

以下のプログラムを実行してみましょう。
import machine
import time
# 外付けLEDを接続するGPIOピンを指定(例:GPIO 15)
led = machine.Pin(16, machine.Pin.OUT)
while True:
    led.on()  # LEDを点灯
    time.sleep(1)  # 1秒待機
    led.off()  # LEDを消灯
    time.sleep(1)  # 1秒待機接続したLEDが点滅すれば成功です。
次回から、様々な電子部品を使いながらPython言語、電子制御に慣れていきましょう。
 
                            
