Raspberry Pi Pico WでTWSNMPシリーズのセンサーを作る練習:人感センサーをつけた
今朝は6時近くまで寝てしまいました。
Raspberry Pi Pico WでTWSNMPシリーズのセンサーを作る練習の続きです。
昨日のアナログ入力は、測定した電圧の平均値だと1.65V付近で変化がない状態でした。本来は直流成分とか計算して音量を測定するようですが、手抜きして
aaoSum += abs(aao.read_u16() * conversion_factor - 1.65)
のような計算にしておきました。なんとなく、音量に反応して変化します。
次は、人感センサー
をつけてみました。
デジタル入力なので簡単だと思っていましたが、最初うまくいきません。
どうもGP16やGP1だと反応しないようでした。
GP22に接続すると、何故かうまくいきました。原因不明ですが、
とりあえず、完成したコードは
import machine
import utime
import socket
import network
import ntptime
import config
# get LED port
led = machine.Pin("LED", machine.Pin.OUT)
# Audio Sensor DO
ado = machine.Pin("GP0", machine.Pin.IN,machine.Pin.PULL_DOWN)
# Audio Sensor AO
aao = machine.ADC(28)
# AM312
am312 = machine.Pin("GP22", machine.Pin.IN,machine.Pin.PULL_DOWN) #connect wifi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(config.ssid,config.password)
# wait wifi connect
while wlan.status() != 3:
led.toggle()
utime.sleep_ms(200)
# setup clock by ntp
ntptime.settime()
#make syslog socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sensor_temp = machine.ADC(4)
conversion_factor = 3.3 / (65535)
i = 0
adoSum = 0
pirSum = 0
aaoSum = 0.0
count = 0
while True:
led.toggle()
for j in range(1000):
if ado.value() == 1:
adoSum+=1
aaoSum += abs(aao.read_u16() * conversion_factor - 1.65)
if am312.value() == 1:
pirSum+=1
utime.sleep_ms(1)
count+=1
if i % (60 * config.interval) == 0:
reading = sensor_temp.read_u16() * conversion_factor
temp = 27 - (reading - 0.706)/0.001721
now =utime.gmtime()
ts = "%d-%02d-%02dT%02d:%02d:%02d+00:00" %(now[0],now[1],now[2],now[3],now[4],now[5])
status = wlan.ifconfig()
syslog = b"<%d>%s %s twRPPico: temp=%.2f,ado=%d,aao=%.2f,pir=%d" % (21*8+6,ts,status[0],temp,adoSum,aaoSum/(1000*count),pirSum)
print(syslog)
for dst in config.syslog_dst:
s.sendto(syslog,(dst,514))
adoSum =0
aaoSum =0.0
pirSum = 0
count = 0
i+=1
です。
TWSNMP FCで受信したsyslogは
です。
とりあえず、購入したセンサーはつけてみました。
もう一つ別の種類のマイコンを買ったのですが、これは週末のお楽しみ。
Raspberry Pi Pico Wの開発関連のいろいろなサイトを見ている回路図や部ブレッドボードの図をキレイに書いているものが沢山あります。
調べてみると回路図を描くツールがあるようです。
描いてみたいところですが、今朝は、遅く起きたので時間切れです。
明日に続く
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。