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