ぽんこつプログラマーの日々のまとめ
RPi-Logo-Reg-SCREEN
第4回はフロートスイッチを取り付け、水槽の水位を監視する。かっこよく言ってみたが、水位が下がるとONになるスイッチ付けるだけである。水位なんて一目瞭然じゃんとか言わないように。
以前の記事は以下からどうぞ。
第1回 Raspberry Pi 初期設定
第2回 温度センサー DS18B20
第3回 温湿度センサー DHT11

用意したもの

  • Raspberry Pi 3 Model B x1
  • はんだごて/はんだ
  • ブレッドボード x1
  • ジャンパーワイヤー x2
  • フロートスイッチ x1
  • ダイソー ドアフック x1 (水槽固定用

配線

float_swich
プルアップ抵抗の場合、配線はとってもシンプルで、任意のGPIOとGNDを直結するだけ。ラズパイのGPIOには抵抗が仕組まれているらしいので、プルアップ用の抵抗器を追加する必要はない。

float_swich_pulldown
なおプルダウン抵抗の場合上図のようになる。GNDには抵抗が仕組まれていないので抵抗器を配線する必要がある。

プルアップ、プルダウンの際にinputから取得される値は以下となる
Button ONButton OFF
Pull UP01
Pull DOWN10


Pythonスクリプトをかく

今回はサードパーティーライブラリは使用せず、RPi.GPIOだけで処理を行う。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO

pin = 27
GPIO.setmode(GPIO.BCM) GPIO.setup(pin, GPIO.IN, pull_up_down=GPIO.PUD_UP) val = GPIO.input(pin) GPIO.cleanup() print(val)
GPIO.setmode でPin指定方法を設定。
GPIO.setup で GPIO番号とプルアップを設定。
GPIO.input で値取得。
GPIO.cleanup() で後処理。
とってもシンプル。
あとはスイッチをONにして 0, OFFにして 1 が返ってきたらOK。

ホルダーを作る

素材を探しにダイソーをぶらぶらしていると丁度いいドアホルダーを発見した。
hock
フックの部分をこれまた100均の糸ノコで切断し、片方の柄の部分にフロートスイッチを通す穴を空けてボンドで合体。
IMAG0725
我が家の水槽は縁あり水槽で、ホルダー部分に厚みが必要だったがドアフックの厚みが丁度フィットするいい塩梅。しかもクッション付きで多い日も安心!
ただフロートスイッチが短すぎてなみなみにしないとスイッチOFFにならない、カバー無いから周りの水流に影響を受ける、などなど改善の余地がある。いまのところ何かに使うわけじゃないので、いつか考えよう。

水槽に設置した例(画像右上)。思ったより目立たない。



Add Comments

名前
 
  絵文字
 
 
webmaster

Redmusk

最西端の地で釣りとギターとゲームをこよなく愛する本業ぽんこつプログラマー。今を生きるを座右の銘とし日々快楽だけを求め切磋琢磨しております。

soundcloud