top of page

ラズベリーパイ(Raspberry Pi)とPythonを使ってLEDを光らせたりスイッチを作ってみた

  • kfukakusa
  • 2023年9月22日
  • 読了時間: 3分

記事概要

ラズベリーパイ(Raspberry Pi)を購入し、実際にスイッチを押すとLED点灯する装置を作ってみました。


ラズベリーパイとは?


ラズベリーパイとはプリント基板にCPUやコネクタ、入出力インタフェースなどの最低限の機能のみを持たせた小型コンピュータのことです。

電子工作と言えば似たような機器に、Arduinoというマイコンボードがありますが、ArduinoにはOSが存在しません。

Webを用いたシステムや複数のシステムを連動させるようなものも作ってみたいと考えたため、今回はラズベリーパイを題材としました。

どちらも元々、学習用に開発された機器ということもあり数千円程度で購入できるコスパの良さも魅力の一つです。

買ったもの


・ラズパイ3A+ スターターキット

ラズベリーパイ本体とケース、OSインストール済みのmicroSDカード、SCアダプタとHDMIケーブルが付属しているものを購入しました。

本体のみ購入する場合、OSをインストールしたmicroSDカードを用意する必要があります。

OSインストールする手順

ラズベリーパイにOSをインストールする手順を以下にまとめます。

ラズベリーパイのモデルやOSのバージョンによって若干の違いがあるかもしれませんが、一般的な手順をご紹介します。


OSのダウンロード: 公式のRaspberry Piウェブサイトから、お使いのラズベリーパイモデルに対応したOSイメージをダウンロードします。例えば、Raspberry Pi OS(以前はRaspbianと呼ばれていました)が一般的な選択肢です。


MicroSDカードのフォーマット: フォーマット済みのmicroSDカードを用意します。


OSイメージの書き込み: ダウンロードしたOSイメージをBaleneEtcher等のツールを使用して、MicroSDカードに書き込みます。


MicroSDカードの挿入: 書き込みが完了したら、MicroSDカードをラズベリーパイのMicroSDカードスロットに挿入します。


初回起動: ラズベリーパイに電源を接続して起動します。初回起動時には、OSの設定画面が表示されることがあります。ここで基本的な設定(言語、キーボードレイアウト、パスワードなど)を行います。


アップデートと設定: OSが起動したら、まずはアップデートを実行します。ターミナルを開き、以下のコマンドを実行します。

sudo apt update
sudo apt upgrade 

その後、必要に応じてアプリケーションやライブラリのインストール、ネットワーク設定、ユーザーアカウントの設定などを行います。

これらの手順を基本に、お使いのラズベリーパイモデルとOSに合わせて詳細なガイドを参照しながら進めてください。



・ブレッドボード

ブレッドボードとは各種電子部品やジャンパ線をボードの穴に差し込み、手軽に電子回路を組むことの出来る基板です。

はんだ付けをしなくても手軽に電子回路を組むことができ、配線を何度も再利用できるため、学習や電子回路の簡単な動作確認のために使用されます。



・その他部品

今回使用する部品は、LEDと押しボタンと、配線のためのジャンパ線に加えて、電圧を調整するための抵抗を用意しました。

LEDや抵抗を選定する際に、電子回路の組み方や抵抗の選定方法も学ぶ必要がありますが、これはまたの機会にまとめたいと思います。

今回はラズベリーパイ本体から流れる電流と、LED電球のサイズを考慮して、200Ωの抵抗を使用しました。

・実際に電子回路組んでみた

ラズベリーパイ本体の初回セットアップを済ませて、ブレッドボードにLEDと抵抗と押しボタン、ジャンパ線を繋げGPIOという外部接続用のピンへ組付けました。



・プログラミングコード

電子回路の用意はできたので、コーディングをしていきます。

ラズベリーパイにはPython3と、開発ツールとしてThonny Python IDEというものがデフォルトでインストールされているため、今回はこちらを使用しました。

import RPi.GPIO as GPIO
import time  

# GPIOピン番号の設定 
switch_pin = 18 # スイッチに接続したGPIOピン番号 
led_pin = 21    # LEDに接続したGPIOピン番号

# GPIOのモード設定 
GPIO.setmode(GPIO.BCM) 
GPIO.setup(switch_pin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)  
GPIO.setup(led_pin, GPIO.OUT)  
try:
    whileTrue:
        # スイッチの状態を読み取る
        switch_state = GPIO.input(switch_pin)
        
        # スイッチが押されているかどうかをチェック
        if switch_state == GPIO.LOW:  # スイッチが押されている場合
            GPIO.output(led_pin, GPIO.LOW)  # LEDを点灯
        else:
            GPIO.output(led_pin, GPIO.HIGH)   # LEDを消灯

        time.sleep(0.1)  # 少しの遅延を入れてループを続ける
        
except KeyboardInterrupt:
    GPIO.cleanup()  # プログラムが終了したらGPIOをクリーンアップ

・動いている様子



最後に

初めてのラズベリーパイ導入編でした。

コードの詳細や、電子回路の組み方を詳細に解説することはできませんでしたが、今後もラズベリーパイを使った電子工作を通じて、新しいプログラミング技術等。アイデアを具現化する方法を学んでいく予定ですので、別の機会に詳しく解説してみたいと思います。

以上です。

 
 
 

コメント


bottom of page