記事の個別表示
タイトル  久々にZ80のプログラムをいじった、 その5(2023年7月)
本文  
マイクロコンピュータを使って何かをするという事だが、それが無いままに、ここまで進んできた。その1に当たる記事では、Z80にBASICを搭載して、そこに追加のコマンドや、64KフルRAM構造への追加、そのコマンドの追加などを試みた。その2では、プログラム開発の環境作りと称して、Super Aki を使って、ROMに書き込まずともプログラムの動作確認が出来る環境を整えた。その3では、割込みバッファーのオバーフローに対応する為のプログラム開発を行った。その4では、それをAki-80に搭載するために、プリント基板を作ってみた。

次は、どうするかと言う事だ。いよいよ何か応用できる物を作って見ようと思う。そうしたテーマを考えていたところ、NHKの番組で孤独死の問題が放映されていた。それを見て、何が問題かと言えば、不幸にして亡くなった後、誰にも知られず、放置される現状が問題だと言う認識を得た。人はやがて亡くなる。それは避けがたい事で、防ぐ事は出来ない。

そもそも、ピンピンコロリとは、お一人様だと言う認識を持つ必要が有る。チューブに繋がれて最期を迎えるのでは無ければ、ピンピンしている訳だから、その瞬間は、一人様と言う事が道理となる。不幸にして亡くなったら、せめて翌日にでも発見され、対応して頂くと言う事になる。そこに、このマイクロコンピュータが役に立てないかと言う話だ。これのヒントになる話として、どこぞのメーカの湯沸かしポットのコマーシャルが有る。ひとり親が、お茶を飲めば、それがメールで通知される。メールが有れば、何とかやっていると言う事が分かると言う物だ。だが、問題は、毎回メールでは、受け取る方にしてみればわずわわしい限りだ。ならば、その逆で、何かあったら、それを通知する。そういう風に変えるべきだと思う。

そこで、問題なく生活していれば、それを検知して知らせない。そうした生活の活動が検知されなければ、何かあったのだろうから、例えば、翌日に確認メールが飛ぶ。そんなシステムが良いのではないかと考えた。生活の活動をどの様にして認めるか。例えば、台所に行ったとか、トイレを利用したとか、そこにZ80を使ったマイクロコンピュータを使ってみようという事だ。手押しのスイッチにしようか、いや面倒だ。忘れるかも知れない。そこで人感センサーを使う事にした。

秋月のサイトを見ると、焦電型赤外線センサーを使った人感センサーのキットがある。これを使っても良いのだが、必要な電圧が9Vでは、別電源を用意しなければならない。回路図を見ると9V必要なのは、リレーの為で、回路自体は5Vでも動作するようだ。何か、もうちょっと良いものは無いかと物色すると、有りました。Amazonに「VKLSVAN 3個入りHC-SR501人体赤外線感応モジュール モジュール焦電型赤外線検出器PIRモーション 人体の赤外線の感応器 人感センサースイッチ ボディセンサーモジュール」。これが3個入りで598円。これを試すのが先決だという事で注文しました。

早速、Aki-80に取り付け、センサーのボリュームとBasicプログラムで、感度や動作状況を確認する。適当な所で、ボリュームを固定して、その条件でプログラム開発を行う。一つは、Z80上で動作するBASICプログラム。2つ目は、それを受け取り、メールなどを処理するプログラムの2つ。まず一つ目のZ80上のプログラムだが、センサーの状況を伝えるだけにした。となれば、至極簡単なプログラムで問題は無い。


2つ目のプログラムは、Windows上で動作する。VS2010のBasicを使って組んでみた。しばらくは、この組み合わせでデータを集めて、問題を見つけて改良を進める事で完成度を上げようと思う。と言う事で、組み上げてみた。Z80のBasicプログラムが簡単で良いとなれば、取りこぼしの問題も無いだろうからMAX232を使った物でなくても良いとなる。それより、USBから5V電源を得られるメリットの方が大きいと思う。そこの搭載するROMには、その3で開発したプログラムをそのまま書き込めば良い。

Aki-80のケース(ケースは、虫歯予防のフロスの空きケースを利用)に組み込んだ


VS2010で作ったWindows側のプログラム。転送されるBasicは、表示されている内容の通りで、これをProgram.txtなどとして、Dataホルダーに入れて置く。

後日、そんな事を息子に話したら、翌日ではなくて、倒れた瞬間に知らせる方法は無いのと言われた。私の答えは、それでは、ピンピンコロリではなくなると。確かに、世の中を探すと、そうした物は有りますね。でも、それが目的になってしない、日々煩わしい思いをするのは、何か可笑しいと思うし、避けたいですね。

プログラムの説明: VS2010Basicのソースを添付します。暗号化の定数は、適当に付けました。自分用に書き変えてください。プログラムの場所と同じところに「Data」と言うホルダーを作ってください。ホルダーが無ければ作るなどのめんどくさい事はしていません。Dataホルダーの中にZ80に転送するプログラムをProgram.txtとして、送るメールの文面をSendText.txtとして作ってください。メールの表題と本文を一つのファイルにまとめるために、区切りとしてタブコードを使いました。

まずは、完成度を上げるためのデータ取だとご理解ください。いわば、テスト用の未完成プログラムです。これを機に、こんなアイデアが有るよなどの前向きなご指摘を期待します。


12345678910...