Raspberry Pi を利用し Python で電子工作
IT技術
Python で電子工作に挑戦!
最近、機械学習や Webアプリ開発など様々な場面で登場している『Python』。
今回は Python を使用して電子工作に挑戦したいと思います。
電子工作と言われても、よく分からない、興味ないと思ったそこのあなた!
例えばですが、こんな事が出来ます。
電子工作でできること
- 自宅の庭に置いて人が通ると検知する防犯ブザー
- ボタンを押すとランダムで言葉を喋るロボット
- 土の中の水分量を判断して、植木鉢の水やりを自動カ
電子工作をすることで、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 がついただけなのですが、これを自分のプログラミングコードで制御したと思うと、ちょっと嬉しくなりますよね!
とは言え、本当に点灯させただけですので、次回以降は、もう少し発展して、電子工作を進めていきたいと思います。
こちらの記事もオススメ!
2020.07.30Python 特集実装編※最新記事順Responder + Firestore でモダンかつサーバーレスなブログシステムを作ってみた!P...
2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
「好きを仕事にするエンジニア集団」の(株)ライトコードです! ライトコードは、福岡、東京、大阪、名古屋の4拠点で事業展開するIT企業です。 現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。 いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。 システム開発依頼・お見積もり大歓迎! また、現在「WEBエンジニア」「モバイルエンジニア」「営業」「WEBデザイナー」を積極採用中です! インターンや新卒採用も行っております。 以下よりご応募をお待ちしております! https://rightcode.co.jp/recruit