Raspberry PiのHelloWorld LチカをShellとPythonで実装してみた

Featured image

こんにちは。

前回はラズベリーパイ(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 秒で設定した。

raspberry-pi-lchika-shell-python

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 秒なのでめっちゃ早い。

raspberry-pi-lchika-shell-python2

comments powered by Disqus