投稿日: | 最終更新日:
ラズパイでLチカ
ラズベリーパイを使って、電子工作の初歩(Lチカ)を行います。
Lチカとは?
Lチカとは、LEDをチカチカさせることです。電子工作では最も初歩の作業で、プログラミングにおける「Hello World!」に相当します。ラズベリーパイにはGPIOというセンサや電子回路を繋ぐことができるポートがあります。今回は、GPIOとLEDをブレットボード上で配線し、LEDを点滅するプログラムを開発していきます。
準備
準備するもの
RaspberryPi(本体)
材料名 | 個数 | 金額 |
---|---|---|
RaspberryPi3 | 1 | 4,800円 |
USBアダプタ 5V/2.5A(ラズパイの電源) | 1 | 1,900円 |
LANケーブル | 1 | – |
リモート操作するためのPC
以下の例は私の実行環境ですが、OSは何でもOKです。vnc接続を設定すれば、windowsやMacOSからもリモート可能です。
(※リモートPCは任意で用意して下さい。無くてもラズパイの操作は可能です。)
ホストOS | Ubuntu 14.04.4 LTS 64bit |
---|
材料
材料は凡その値段です。
材料名 | 個数 | 金額 |
---|---|---|
ブレッドボード | 1 | 300円 |
ジャンパワイヤー(オス-メス)10本入り | 1 | 220円 |
赤色LED | 1 | 40円 |
抵抗(330Ω) | 1 | 20円 |
ブレッドボード
ハンダ付をしなくても、部品を差し込むだけで回路が作れます。ブレッドボードにも様々なタイプがありますが、今回は、Aタイプを使用します。
ジャンパワイヤー(オス-メス)10本入り
ラズパイとブレッドボードを接続し、電気を送るために使います。接続端子がオス-メスになっているものを使います。
抵抗(330Ω)
抵抗には複数種類があり、「酸化金属皮膜」や「カーボン抵抗」など様々です。10〜20円ぐらいの安いもので大丈夫です。足が2本ですが、どちらを差し込んでも問題ありません。
赤色LED
LEDにも様々な種類がありますが、安いやつで大丈夫です。色も今回は赤ですが、お好きなものでかまいません。しかし、どのLEDにもプラスとマイナスの区別があります。針金のような足の部分が少し長い方がプラス(アノード)で、短いほうがマイナス(カソード)です。
ラズパイ初期設定
ラズベリーパイを操作する前に以下を参考にして下さい。
ラズパイ起動・OSをインストール
①ラズベリーパイにOSをインストールして下さい。
リモート操作の準備
ラズベリーパイを直接操作することもできますが、キーボードやディスプレイ等の周辺機器が必要です。ローカルネットワークに接続し、vnc接続して操作用PCから操作すると楽ちんです。
①ソフトウェアをインストールして下さい。
②vnc接続でラズベリーパイを操作すれば、周辺機器は不要です。
LEDを光らせる
Lチカの前に、配線をしてみてLEDが光るかどうか確かめます。
回路図
①ラズパイの電源を入れて起動します。
②以下のように回路を作成します。
【ジャンパーワイヤの接続】
(ラズパイ)1番ピン 3.3V - (ブレッドボード)A2 プラス極
(ラズパイ)6番ピン GND - (ブレッドボード)A6 マイナス極
【ブレッドボードの回路】
抵抗: B2 - B5
LED: (アノード)E5 - (カソード)E6
回路図は、Fritzingと呼ばれるソフトを使用して作成しております。
LEDが光りました。
1番ピンは常に3.3Vの電流が流れていますので、特にプログラムを組まなくても配線すればLEDが光ります。ただし、LEDを配線するときは必ず抵抗をつなぎましょう。
Lチカ
①ブレッドボードの配線はそのままで、ラズパイのGPIOポートのプラス極を、1番の3.3V電源からとなりの3番「GPIO2」に差し替えます。
②コマンドプロンプトを開き、以下のコマンドを入力します。管理者(root)権限に切り替えます。
sudo -s
③GPIO2を有効にします。以下のコマンドを入力して下さい。
echo "2" > /sys/class/gpio/export
「echo」は「ファイルに書き込む」を意味する命令です。「(書き込む値) > (ファイル)」の書式で指定します。GPIO2を使用するので「2」を指定します。
実際に、ラズパイの「/sys/class/gpio/」をエクスプローラから見てみると、「gpio2」という仮想フォルダが作成されます。
④「gpio2」が入力と出力のどちらを行なうかを指定します。入出力を設定するのは「direction」です。今回はラズパイが信号を発信する側(出力)ですので、「out」を指定します。出力モードにするためには、以下のコマンドを入力して下さい。
echo "out" > /sys/class/gpio/gpio2/direction
LEDが消えます。
⑤出力の値は「value」に設定します。「1」を設定すると電流が流れてLEDが点灯します。消灯させる場合は「0」を設定して電流の流れを止めます。
echo "1" > /sys/class/gpio/gpio2/value echo "0" > /sys/class/gpio/gpio2/value
※「value」ファイルをテキストエディタで開くと、値が直に書き換えられているのを確認することができます。
⑥終了する場合は以下のコマンドを入力して下さい。「export」の反対ですので、「unexport」を指定します。これを実行すると「gpio2」フォルダが消去されます。
echo "2" > /sys/class/gpio/unexport
シェルスクリプトでLチカ
今度は、自動でLEDが点滅するようにプログラミングしてみます。
①「exit」コマンドで管理者モードを抜けます。
②「cd」コマンドでホームディレクトリに移動します。
③以下のコマンドでテキストエディタを立ち上げます。
nona led.sh
④以下の内容を入力し、「Ctrl+O」を押してEnterで保存します。
#! /bin/sh echo "2" > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio2/direction while true #永久ループ do echo "1" > /sys/class/gpio/gpio2/value sleep 0.5 #0.5秒待つ echo "0" > /sys/class/gpio/gpio2/value sleep 0.5 #0.5秒待つ done
⑤「Ctrl+X」を押してテキストエディタを終了します。
⑥「led.sh」ファイルに、管理者権限を与えます。
chmod +x led.sh
⑦以下のコマンドで、Lチカのスクリプトを実行します。
sudo ./led.sh
LEDが、0,5秒おきにチカチカします。
⑧「Ctrl+C」でプログラムを終了します。
- Python 114
- 制作 54
- RaspberryPi 41
- Django 40
- WordPress 40
- Linux 27
- VPS 22
- JavaScript 21
- PHP 20
- HTML・CSS 19
- AWS 16
- 仮想環境 15
- レスポンシブデザイン 13
- マイコン 11
- WEB全般 11
- 動画製作 9
- Webサービス 8
- 統合開発環境 8
- 機械学習 8
- PyCharm 7
- jQuery 7
- AfterEffects 7
- 起業・設立 7
- Django REST framework 6
- C# 6
- デザイン 6
- SEO 6
- pydata 6
- Visual Studio 5
- 数学 5
- 携帯サイト 5
- heroku 5
- Mac 5
- illustrator 5
- node.js 5
- Anaconda 5
- Nginx 4
- Jupyter Notebook 4
- インフラ 4
- Google Colaboratory 4
- symfony 4
- Webスクレイピング 3
- photoshop 3
- Go言語 3
- PC 3
- ツール 3
- Docker 3
- facebook 3
- 作業効率化 3
- データベース 3
- Cloud9 3
- コマンド 2
- micro:bit 2
- Kali Linux 2
- Webサーバー 2
- MariaDB 2
- ドローン 2
- コンテナ 2
- DaVinci Resolve 2
- ネットワーク 2
- Java 2
- movie 2
- PCDJ 2
- 音楽 2
- XSERVER 2
- Ansible 1
- Vue.js 1
- JSON 1
- Bootstrap 1
- バージョン管理システム 1
- SSL 1
- S3 1
- ムームードメイン 1
- ネットワーク 1
- アニメーション 1
- D3.js 1
- Rhino 1
- アニメ 1
- git 1
- windows 1
- アクセス解析 1
- スマートフォン 1
- アフィリエイトノウハウ 1
- 知識 1
- TypeScript 1
- 役立つ本・書籍 1
- データサイエンス 1
- ESP32 1
- AI 1
- ownCloud 1
- API 1