SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Raspberry Pi Zeroではじめよう! おうちで楽しむIoTレシピ

650円で買えるマイコンボード「Raspberry Pi Zero」でIoTをはじめよう! ~環境構築とLチカのレシピ

Raspberry Pi Zeroではじめよう! おうちで楽しむIoTレシピ 第1回


  • X ポスト
  • このエントリーをはてなブックマークに追加

LEDを点滅させる「Lチカ」プログラムを作ってみよう

 Pythonを使ってサンプルプログラムを動かしてみましょう。

 作業の前に以下のコマンドでRaspbianをシャットダウンさせた後、microUSBの電源を抜きます。安全に配線をしていきましょう。

$ sudo shutdown -h now

配線図

 配線図のように配線をします。GPIOピンは24番を使用します。このとき、配線を間違えないように注意しながら作業をしましょう。

実際に配線されたときの写真
実際に配線されたときの写真

 配線が終わったら、Raspberry Pi Zero Wの電源を入れます。

サンプルプログラム

 Pythonでプログラムを作る前に、以下のようにコマンドを実行してLEDがどのように制御され、点灯するのか確認をしていきましょう。

 まず、GPIO24ピンを使うことを宣言します。echoコマンドで仮想ファイルの/sys/class/gpio/exportに使用するGPIO番号が書き込まれます。

$ echo 24 > /sys/class/gpio/export

 GPIO24ピンを出力モード(OUT)に設定します。

$ echo out > /sys/class/gpio/gpio24/direction

 GPIO24ピンの値を1(High)にすると、LEDが点灯します。

$ echo 1 > /sys/class/gpio/gpio24/value

 GPIO24ピンの値を0(Low)にすると、LEDが消灯します。

$ echo 0 > /sys/class/gpio/gpio24/value

 GPIO24ピンを開放します。

$ echo 24 > /sys/class/gpio/unexport

Pythonプログラム

 実際にPythonを使ってプログラムを書いてみましょう。以下のコマンドでエディター「nano」を起動します。

$ nano led_blink.py
#!/usr/bin/env python

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(24, GPIO.OUT)

GPIO.output(24, GPIO.HIGH)
time.sleep(2)
GPIO.output(24, GPIO.LOW)

GPIO.cleanup()

 [Ctrl+O]で保存し、[Ctrl+X]でnanoエディターを終了します。

 実際に作ったLチカプログラムを実行してみましょう(sudoコマンドで実行します)。

$ sudo python led_blink.py

 今回は以上になります。次回はRaspberry Pi Zero Wでセンサーを使ってみましょう。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Raspberry Pi Zeroではじめよう! おうちで楽しむIoTレシピ連載記事一覧

もっと読む

この記事の著者

平 愛美(タイラ マナミ)

 熊本県出身のITエンジニア。2児の母で、趣味は写真とグルメ。最近はRaspberry Pi、Arduinoを使った家庭内IoTについて日々研究するIT系母ちゃんとして活躍中。主な著書は、『改訂3版 Linuxエンジニア養成読本』(寄稿、技術評論社 刊)、『Linuxシステム管理標準教科書』(共著、LPI-Japan)など。 ブログ:Mana Blog Next Twitter:@mana_cat

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10531 2017/12/20 20:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング