はじめに
「優しいIT」という理念の基、ITコンサルタントをしている亀井亮介と申します!
現在、仕事では要求分析・要件定義を中心に上流工程をしていますが、プログラムも書きます!
優しいIT活動の一環として「教育用ようにプログラミング可能なPCを安価に提供する」理念の「Raspberry Pi 3(通称ラズパイ)」の紹介をします!
今回は、スイッチの状態を検出します!
1. 配線の写真
画像の左側の黒い物体がボタンです。
教えている間「ON」になります!
2. ソース button.py
プログラムの説明は#から始まるコメントに記載しています。
GitHubにソースをアップしているので、お好きにお使いください。
$ git clone https://github.com/RyosukeKamei/raspberrypi3.git
# GPIOを制御するライブラリ
import wiringpi
# タイマーのライブラリ
import time
# ボタンを繋いだGPIOの端子番号
button_pin = 17 # 11番端子
# GPIO初期化
wiringpi.wiringPiSetupGpio()
# GPIOを出力モード(1)に設定
wiringpi.pinMode( button_pin, 0 )
# 端子に何も接続されていない場合の状態を設定
# 3.3Vの場合には「2」(プルアップ)
# 0Vの場合は「1」と設定する(プルダウン)
wiringpi.pullUpDnControl( button_pin, 2 )
# whileの処理は字下げをするとループの範囲になる(らしい)
while True:
# GPIO端子の状態を読み込む
# ボタンを押すと「0」、放すと「1」になる
# GPIOの状態が0V(0)であるか比較
if( wiringpi.digitalRead(button_pin) == 0 ):
# 0V(0)の場合に表示
print ("Switch ON")
else:
# 3.3V(1)の場合に表示
print ("Switch OFF")
time.sleep(1)
3. button.pyを実行
$ sudo python3 button.py
すると、スイッチが押されている間は"Switch ON"押されていな時は"Switch OFF"を表示します!
4. プログラミングするときに便利なこと
ラズパイを直に操作している方には関係ありません。
Macでラズパイを操作したい方向けです。
当方は、Macでソースを書いて、そのままラズパイに保存し、実行もMacから行います。
(ディスプレイがないのです…)
そのためには、AFPを利用しています。設定方法は
Raspberry Pi 3インストール→無線LAN→日本語入出力→Macから操作
の
「6. AFP設定」
を参照してください!
SFTPなどでわざわざファイルアップロードする必要もなく便利です!
Windowsの方はSambaをインストールすれば似たようなことができるはずです!
サイトマップ
Raspberry Pi 3 (ラズパイ)セットアップ
Raspberry Pi 3インストール→無線LAN→日本語入出力→Macから操作
Raspberry Pi 3 にDockerを乗せてPython+MySQL環境を構築!
RaspberryPi3(ラズパイ)にDockerをインストール
RaspberryPi3(ラズパイ)にDockerでPython+bottle+MySQL環境構築する!【簡単構築編】
RaspberryPi3(ラズパイ)にDockerでPython+bottle+MySQL環境構築する!【試行錯誤編】
Raspberry Pi 3でエアコン一体型パソコン「airpi」を作る!
Raspberry Pi 3でエアコン一体型パソコン「airpi」を作る!
Raspberry Pi 3 (ラズパイ)とpythonで遊ぼう
Raspberry Pi 3でプログラミングをする Node-REDと普通にプログラミング
Raspberry Pi 3でpythonを使いLEDを光らせる(Hello World)
Raspberry Pi 3でスイッチの状態を検出する
Raspberry Pi 3でpythonを使いサーボモータを動かす
Raspberry Pi 3でpythonを使いモータードライバーを使いモータを制御する!
Raspberry Pi 3でpythonを使いスライドスイッチを検出する!
Raspberry Pi 3でpythonを使い磁石スイッチを検出する!
Raspberry Pi 3でpythonを使い温度を検出する!
Raspberry Pi 3でpythonを使いブザーを鳴らす!
Raspberry Pi 3でpythonを使いA/Dコンバーターでアナログ信号を検出する!
Raspberry Pi 3でpythonを使い「明るさ」を検出する!
Raspberry Pi 3でpythonを使い「温度(A/Dコンバーターを利用)」を検出する!
Raspberry Pi 3でpythonを使い「7セグメントLED」に出力する!
テスト駆動開発を重点においた規則
コーディング規則「優しいコードを書こう」(FuelPHP)
命名規則「3ヶ月後の自分自身に優しく、チームに優しく、まだ見ぬメンバーに優しく」
Docker+PythonでWebアプリケーション開発
開発しやすい環境構築(Docker+PHP)
Dockerを利用しApacheにPHP環境 + Eclipseを連携
Dockerを利用したFuelPHP開発環境構築
Docker利用したFuelPHP開発環境の初期設定とscaffoldを利用してCRUDスケルトン作成
FuelPHPのデータベースマイグレーション