前回はラズベリーパイ(Raspberry Pi)とは何なのか、何を作れるのか、事前準備は何すればいいのか、について記事を書きました。
私もIoTデバイス作れる!? ラズベリーパイとは できることと事前準備
今回はラズパイの基礎、ラズパイのHelloWorldの「Lチカ」を実施していきます。
Lチカとはラズパイから信号を発信し、それをブレッドボード側のLEDが受信して光っては消えを繰り替えすことです。
今回メインで紹介するのはLチカする為のShellとPythonの実装ですが、事前に知っておかないといけない情報もいくつかあります。上記にも少しふれてありますが、ブレッドボードやGPIO、抵抗器など。
そこれへんは以下 DEVICE PLUSさんの記事がとてもわかりやすかったのでおすすめです。
https://deviceplus.jp/hobby/raspberrypi_entry_009/
では周辺知識を把握したら実際に実装しましょう。
ShellでLチカ 見出しへのリンク
Shellでは引数の数字分光らせる様にしましょう/
#!/bin/sh
declare -i COUNTER
declare -i TMP_NUM
COUNTER=0
read -p HowMany?: TMP_NUM
// gpioを使えるようにする
echo 2 > /sys/class/gpio/export
// gpio2をoutput用に使う gpio2ポートはNo3箇所
echo out > /sys/class/gpio/gpio2/direction
while [ "$COUNTER" -lt "$TMP_NUM" ]
do
sleep 1
// 光らせる
echo 1 > /sys/class/gpio/gpio2/value
sleep 1
// 消す
echo 0 > /sys/class/gpio/gpio2/value
let COUNTER++
echo "$COUNTER"回目の繰り返しです。
done
echo 2 > /sys/class/gpio/unexport
こんな感じ。1秒で設定した。
PythonでLチカ 見出しへのリンク
10回光らせたら終わるよう実装
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# GPIO2に接続した場合
GPIO.setup(2,GPIO.OUT)
# 10回繰り返し
for x in xrange(10):
GPIO.output(2, GPIO.HIGH)
time.sleep(0.1)
GPIO.output(2, GPIO.LOW)
time.sleep(0.1)
GPIO.cleanup()
pythonもできた。0.1秒なのでめっちゃ早い。