Raspberry Pi Picoで電子工作をする際のはじめの一歩であるLチカのやりかたの解説をしていきます。Picoについてよくわからない方は、まず以下をごらんください。

Raspberry Pi Picoとは

また、Picoを使う準備が必要ですので、以下を実施してから進めてください。
Raspberry Pi PicoでMicroPythonプログラミング入門

 

Lチカとは、「LEDをチカチカ点灯させる」ことの略で、英語では”Blinking LED”と呼ばれます。

 

プログラミングの世界で入門者が最初に行う儀式を 「“Hello World”と表示させる」ことと同じように、ハードウェアの分野ではこの”Blinking LED”、いわゆるLチカが定番となっています。Picoは基板上にLEDがあるのですが、今回は外につけたLチカをやっていきます。

準備

Raspberry Picoの購入

現在ラズベリーパイPicoは以下のショップ・店舗で取り扱っており、入手は容易です。
SwitchScience
KSY
千石電商
秋月電子

 

周辺機器の購入

PicoにはmicroUSBケーブルのみ必要です。

akizukidenshi.comより

 

電子工作パーツの購入

店舗、もしくはネットショップで以下のパーツを揃えましょう。ラズパイスクールでもネット販売を行っています。詳しくはお問い合わせください。

・LED(VFが3.3V以下)
・抵抗(1/4W, 100〜510Ω)
・ミニブレッドボード
・ジャンパーコード

それぞれのパーツについては、次の電子工作の基礎のセクションで解説しています。本記事で使用したパーツは以下です。

低消費5mm青色LED(VF=2.8V, IF=1mA)
カーボン抵抗(1/4W, 510Ω)
ミニブレッドボード(スケルトン)
ジャンパーワイヤー(オス-オス、

 

電子工作の基礎

ラズベリーパイで電子工作を始める際の電子パーツなどについて紹介します。

LED

LEDはLight Emitting Diodeの略で、日本語では発光ダイオードと呼ばれます。ダイオードとは、電気を一方方向にしか流さない性質を持った電子パーツのことで、そのダイオードのうち、電流が流れた時に光るものをLEDと呼びます。

akizukidenshi.comより

LEDは豆電球と違って、プラス・マイナスの向きがあります。プラス側は足が長くなっているのでよく見ると分かります。なお、プラスとマイナスを逆につなぐと光りません。

また、豆電球と比べてとても小さな電流で光ります。

 

抵抗

akizukidenshi.comより

日本語では抵抗とひとくくりに呼ばれますが、正式名称は抵抗器(Resistor)といい、その大きさは抵抗値(Electrical Resistance)と呼ばれます。

ラズパイにそのままLEDをつなぐと、大きな電流が流れてラズパイやLEDが壊れることがあります。これを防ぐのが抵抗です。

 

ブレッドボード

ラズパイで電子工作を行う場合、電子パーツをつないだり外したり、場所を移動したり、といった具合に作ってはばらして、を繰り返すことが多いです。この時、いちいちはんだ付けをしていたのでは大変ですよね。そこで役立つパーツがこちらのブレッドボードです。

ブレッドボードを使用すると、電子回路をはんだ付けなしで簡単に作ることができます。ブレッドボードの穴は電気的につながっているところとつながっていないところがあります。下の図のラズパイ色の部分ががつながっているところです。実際に使う時は、この接続をうまく利用して電子回路を作っていきます。

ブレッドボードの名前の由来

昔の人はパンを切る板(ブレッドボード)上で電子回路を作ったりばらしてたりしていたので、そのなごりです。

sciencebuddies.orgより

 

ジャンパーワイヤー(ジャンパーケーブル)

ラズパイPico Hはヘッダーと呼ばれるオス型のピンがついています(ついていないPicoは自分ではんだ付けをする必要があります)。ブレッドボードを介して、PicoとLEDをつなぐには、線が必要です。この時に使用するのが、ジャンパーケーブルです。

先が色々なタイプがありますが、今回使うのは、オス―オスのタイプです。

 

ピンアウト

ラズパイPicoの40本のピンですが、どれが何のピンかを表したものをピンアウト図といいます。

 

電子回路図とわかりやすい回路図

回路図記号で記載した電子回路を電子回路図といいます。

電子回路図にはブレッドボードは登場せず、実際にどう電子パーツをつないだらいいかわからない場合もあります。その時は、以下のような実際の見た目に近い図で表現することもできます。

 

ラズパイPicoで扱えるのは0か1(0V か3.3V)

ラズパイPicoはコンピューターでしたね。コンピューターは0と1しか扱えないというのはよく聞く話だと思います。実際にはPico内部では、0Vを0、3.3Vを1、という具合に認識します。

外部との架け橋になっているGPIOピンを入力用にし、ピンに外部から0Vの電圧をかけると0、 3.3Vをかけると1という具合にラズパイPicoは認識してくれます。

逆にGPIOピンを出力用にし、プログラムから1を出力すると、そのピンに3.3Vの電圧がかかります。0を出力すると0Vがかかるわけですね。この時LEDをつないでおくと、光ったり消えたりします。

まとめると、外部の電圧をプログラムで0や1として取得したり、プログラム内部の1や0が、現実世界の光となって現れます。

(通常のラズパイシリーズと違って、PicoシリーズはADCを内蔵していますので、実際は0〜3.3Vの電圧を扱えます。これについては別の記事で詳しく紹介します)

 

実際にやってみよう

それでは実際にラズベリーパイPicoで電子工作のはじめの一歩、LEDをチカチカさせてみましょう!

電子回路の作成

まずは電子回路を作成します。以下の図と写真を参考に、回路を作ってみてください。

 

プログラムの作成

次にプログラムを作成します。今回使うのはこちらのプログラムです。ざっと眺めるだけで大丈夫です。

from machine import Pin
import time

led = Pin(18, Pin.OUT)

while True:
    led.value(1)
    time.sleep(1)
    led.value(0)
    time.sleep(1)

プログラムの実行

お使いのPC上でThonnyエディターを開き、プログラムをペーストしてblink.pyとして保存してから、Run▷ボタンをクリックしましょう。

 

動作チェック

このように1秒間隔でLEDがチカチカしましたか?

 

解説

まずは必要なライブラリをインポートします。GPIOを操作するにはPinライブラリが必要です。timeは一時停止を行うsleep()で必要です。

from machine import Pin
import time

 

LEDをつないだ18番のGPIOピンを入力モードに、それをそのままledという変数に入れておきます。

led = Pin(18, Pin.OUT)

 

次に、while文の条件をTrueとすることで永遠に繰り返しを行えるようになります。

while True:

 

そして以下のようにすることで、18番GPIOピンに3.3Vが出力されます。

led.value(1)

 

その後sleep(1)で1秒間待ちます。

time.sleep(1)

 

次に以下のようにすることで、GPIOが0Vになります。

led.value(0)

 

その後sleep(1)で1秒間待ちます。

time.sleep(1)

 

この4ステップがwhileの中にいますので、永遠に繰り返され、1秒ごとにLEDがチカチカします。

 

おわりに

いかがだったでしょうか? ここがラズベリーパイPicoで電子工作をする時の入り口です。これから先、もっと楽しいことが待っていますので、一緒にとりくんでいきましょう😊

関連記事:はじめ方