ラズベリーパイで電子工作をする際のはじめの一歩であるLチカのやりかたの解説をしていきます。Lチカとは、「LEDをチカチカ点灯させる」ことの略で、英語では”Blinking LED”と呼ばれます。

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

準備

ラズベリーパイの購入

まず、どのラズパイを購入すべきか分からない場合、ラズベリーパイの種類と選び方をごらんください。

現在ラズベリーパイは以下のショップ・店舗で取り扱っていますが、キーボード一体型のRaspberry Pi 400、およびPicoシリーズ以外、今の所品薄で入手が困難な状況です。
SwitchScience
KSY
千石電商
秋月電子

以下の通販サイトにもありますが、転売価格で定価の倍以上します。どうしても今ラズパイが必要な場合のみ見てみてください。
Amazon
AliExpress

 

ラズパイ周辺機器の購入

ラズベリーパイの周辺機器の選び方を参考に、必要な周辺機器を揃えましょう。

 

OSのインストールと初期設定

ラズベリーパイのOSインストールと初期設定を参考に、下準備を行ってください。

 

電子工作パーツの購入

店舗、もしくはネットショップで以下のパーツを揃えましょう。それぞれのパーツについては、次の電子工作の基礎のセクションで解説しています。

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

ラズパイスクールでもネット販売を行っています。詳しくはお問い合わせください。なお、本記事で使用したパーツは以下です。

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

 

電子工作の基礎

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

LED

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

akizukidenshi.comより

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

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

 

抵抗

akizukidenshi.comより

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

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

 

ブレッドボード

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

akizukidenshi.comより

そこで役立つパーツがブレッドボードです。ブレッドボードを使用すると、電子回路をはんだ付けなしで簡単に作ることができます。

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

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

 

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

akizukidenshi.comより

ラズパイのGPIOはヘッダーと呼ばれるオス型のピンがついています。これとブレッドボードに挿したLEDをつなぐには、線が必要です。この時に使用するのが、ジャンパーケーブルです。

先が色々なタイプがありますが、今回使うのは、オス―メスのタイプです。オス側をブレッドボードに、メス側をラズパイに接続して使用します。

 

ピンアウト

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

raspberrypi-spy.co.ukより

 

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

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

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

 

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

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

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

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

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

 

実際にやってみよう

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

電子回路の作成

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

 

プログラムの作成

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

import RPi.GPIO as GPIO
import time
 
led = 26
 
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(led,GPIO.OUT)
 
while True:
    GPIO.output(led, 1)
    time.sleep(1)
    GPIO.output(led, 0)
    time.sleep(1)

 

プログラムの実行

ラズパイ上でThonnyエディターを開き、プログラムをペーストしてRun▷ボタンをクリックしましょう。

 

動作チェック

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

 

解説

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

import RPi.GPIO as GPIO
import time

 

LEDをつないだピンを指定します。このプログラムではGPIOはBCMタイプを使用しますので、GPIO26番ピンとして26と指定します。

led = 26

 

GPIOの設定を行います。まずsetmode()でBCMタイプを指定し、GPIOの番号でピンを指定できるようにします。さらに、setup()でGPIOを出力モードにします。

GPIO.setmode(GPIO.BCM)
GPIO.setup(ledPin,GPIO.OUT)

 

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

while True:

 

そしてoutput(LEDのピン, 1)とすることで、GPIOに3.3Vが出力されます。

GPIO.output(ledPin, 1)

 

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

time.sleep(1)

 

次にoutput(LEDのピン, 0)とすることで、GPIOが0Vになります。

GPIO.output(ledPin, 0)

 

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

time.sleep(1)

 

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

 

おわりに

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

関連記事:はじめ方