• トップ
  • ブログ一覧
  • Raspberry Pi を利用し Python で電子工作
  • Raspberry Pi を利用し Python で電子工作

    広告メディア事業部広告メディア事業部
    2020.02.18

    IT技術

    Python で電子工作に挑戦!

    最近、機械学習や Webアプリ開発など様々な場面で登場している『Python』。

    今回は Python を使用して電子工作に挑戦したいと思います。

    電子工作と言われても、よく分からない、興味ないと思ったそこのあなた!

    例えばですが、こんな事が出来ます。

    電子工作でできること

    1. 自宅の庭に置いて人が通ると検知する防犯ブザー
    2. ボタンを押すとランダムで言葉を喋るロボット
    3. 土の中の水分量を判断して、植木鉢の水やりを自動カ

    電子工作をすることで、PC の画面を飛び出して、様々なものを作ることが出来るのです!

    今回、はじめの一歩ということで、電子工作の中でも基本の「基」である、LED点灯(通称「Lチカ」)に挑戦してみます。

    Raspberry Pi(ラズベリーパイ)とは

    電子工作を始めるにあたり、「Raspberry Pi」を利用します。

    小さなシングルボードコンピュータで、非常に低コストで使えるため、電子工作の場では定番アイテムです。

    本体価格の安さはもちろん、電気代も通常のPCと比べて格段に安いです。

    (使い方にもよりますが、高くても月200~300円程です)

    そんな Raspberry Pi は、通称「ラズパイ」と呼ばれています。

    Raspberry Pi を基盤に Python で電子工作

    今回は、このラズパイを基盤として、Python を使用しながら電子工作を実施していきます。

    ラズパイには何種類かモデルはありますが、機能自体は、どれもほぼ同じです。

    予算等に合わせ、好きなモデルをご用意ください。

    準備するもの

    今回は、点灯用のLEDと併せて、以下を使用しています。

    LED やブレッドボード等は、Raspberry Pi の電子工作キット等の名前で、まとめて販売しています。

    【使用するもの一覧】
    ・Raspberry Pi (Raspberry Pi 3 Model B)※SDカードもお忘れなく
    ・ブレッドボード
    ・赤色LED
    ・ジャンパワイヤ(オス-オス:2本、メス-メス:2本)
    ・抵抗(220Ω)
    ・キーボード(最初のみ)
    ・マウス(最初のみ)
    ・モニタ(最初のみ)

    Raspberry Pi の初期設定

    では、早速動かしてみたい…

    ところですが、見ての通りラズパイには、モニタやマウス等がありません

    初期設定時には、これらがないと何も出来ません。

    ラズパイには、USB / HDMI 端子がついているので、繋いでいきましょう。

    ※一度初期設定をすれば、SSH( Secure Shell:セキュアシェル)でラズパイにログインするので、モニタ等の接続は不要になります。

    OSのインストール

    また、ラズパイには OS が入っておりません

    まずは、以下サイトより OS をダウンロードして、SDカードに入れていきます。

    囲み枠【NOOBS】
    https://www.raspberrypi.org/downloads/

    2種類ありますが、「NOOBS(ヌーブス)」を選択して、ダウンロードしてください。

    PC から SSH を操作可能にする

    OS インストール後は、自分の PC から SSH で操作出来るようにします。

    ※毎回、モニタやマウスを接続するのが苦ではない方は、この設定は飛ばして頂いて構いません。

    まずは、SSH を enable にしましょう。

    1sudo raspi-config

    このあたりは、通常の Linuxサーバと同様ですね。

    アドレスは、各自の環境に合わせた値で設定してください。

    1interface wlan0
    2static ip_address=192.168.1.10/24
    3static routers=192.168.1.1
    4static domain_name_servers=192.168.1.1

    ここまでで、SSH接続が完了出来たはずです。

    ログイン確認

    ラズパイに接続したモニタ、マウス、キーボードは引っこ抜いて、自前の PC からログイン確認してみましょう!

    今回は、CLI( command line interface:コマンドラインインタフェース)での操作になります。

    リモートから、GUI でも操作したいといった場合、VNC( Virtual Network Computing:ヴァーチャル・ネットワーク・コンピューティング)を使うことで可能になります。

    この手順は、また別の機会にご紹介出来ればと思います。

    LED点灯の実行

    では、初期設定も終わったところで、早速 LED点灯を実施してみます。

    今回は、難しいことは置いておき、とにかく LEDを点灯させるので、以下のように繋ぎます。

    モジュールのインストール

    まずは、モジュールをインストールします。

    1$ sudo pip install rpi.gpio

    LED点灯用のファイル

    続いて、LED点灯用に、以下のファイルを作成します。

    1# led.py
    2# -*- coding: utf-8 -*-
    3import RPi.GPIO as GPIO
    4from time import sleep
    5 
    6GPIO.setmode(GPIO,BCM)
    7GPIO.setup(17,GPIO.OUT)
    8 
    9try:
    10    while True:
    11        GPIO.output(17.GPIO.HIGH)
    12        sleep(0,5)
    13        GPIO.output(17.GPIO.LOW)
    14        sleep(0,5)
    15 
    16except KeyboardInterrupt:
    17    pass
    18 
    19GPIO.cleanup()

    ファイルを実行

    作成出来たら、ファイルを実行すると LED が点灯します。

    1$ python led.py

    さいごに

    いかがでしたでしょうか。

    ただ、LED がついただけなのですが、これを自分のプログラミングコードで制御したと思うと、ちょっと嬉しくなりますよね!

    とは言え、本当に点灯させただけですので、次回以降は、もう少し発展して、電子工作を進めていきたいと思います。

    こちらの記事もオススメ!

    featureImg2020.07.30Python 特集実装編※最新記事順Responder + Firestore でモダンかつサーバーレスなブログシステムを作ってみた!P...

    featureImg2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...

    ライトコードでは、エンジニアを積極採用中!

    ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。

    採用情報へ

    広告メディア事業部

    広告メディア事業部

    おすすめ記事

    エンジニア大募集中!

    ライトコードでは、エンジニアを積極採用中です。

    特に、WEBエンジニアとモバイルエンジニアは是非ご応募お待ちしております!

    また、フリーランスエンジニア様も大募集中です。

    background