ラズベリーパイと仲間達の世界


H30.2.22

 こんな表示ができるようになった。残すは、ファイリングと母艦からの取りだし方と、実際に使う時の配線。

 黄色の部分・ピンクの部分・空色の部分にはそれぞれ評価するグループ名、評価する観点、評点の範囲が表示される。採点者は自分のペースで採点するので、10人分の表示はまちまちになる。

 これをプログラムしたのだが、成り行きで組んでいったのでスマートでなくなっている。でも、動くからいいか.....


H30.2.20

 一応、ハードもプログラムの方も完成した(つもり)。ケーブルが届いたのでつないでみた。実際にはラズパイ&ブレッドボードとキーパッド群は5mほど離れる。さらにキーパッド群は90cm間隔で横に広がる形となる。

 このケーブル、黒・赤が両側にあって中央に青色となっていた。キーパッドもそのように両側に+と−を配置し、信号線を中央に製作していたので、注文時に画像を見てラッキー〜! なんて調子で到着を待ちわびていたのだ。

 だから、ウキウキとつないでみた。3ピンのPHコネクタもぴったりだった。ところが、プログラムを走らせてみると新しいケーブルを使ったところが、めちゃくちゃな動き。それも同じようなめちゃくささ。キーパッドの作り方を間違えたかな? と思いながらケーブルをもとからあったものと交換すると、きちんと動く。このケーブル、安物だったからかな? と思ったが、ふと基板を裏返して見ると、正負が逆になっていたではないか! ケーブル疑ってごめん。

 赤のケーブルをブレッドボードのマイナスに、黒のケーブルをプラスに接続すると、1つを除いて正常に動いてくれた。

 動かない1つは? 半ケースを外してよく見ると、やはり、一か所配線忘れが見つかった。半田付けして完了。やれやれだ。

 次なる課題は、入力した数値をキーパッドごとにファイリングすること。Pythonでのファイリングは経験があるので大丈夫かな。

 その次は、キーパッドごとに入力する人が、自分の速さで設問を見乍ら入力を進めるので、画面に設問番号を表示すること。そして、全ての人が入力を終えたら、プログラムを終了することだ。

 もっとも、早く入力を終えた場合には、その旨を画面表示し、母艦の方からその人のデータを吸収すれば処理は効率がいい。あと1ヵ月あるので、十分かな。そうそう、このシステムは使わずに済むのだが.....少し残念.....大分ホッとしている(^^;)


H30.2.14

 12キーを持って操作すると、基板裏の配線に触ることになりカサゴソするし、配線が手汗で参加するだろうので、ケースを作ることにした。

 まともなケースは高価になるので、百均の0.7mm厚PPシートを細工することにした。はさみで切れるので加工しやすいと思ったからだ。ただ、折り曲げには苦労した。他のプラスチック板などよりはるかに低い温度で柔らかくなってしまうのだ。あれこれ試行錯誤した結果、下のようにアイロンを10mm厚アルミ板に載せて、ほどほどの暖かさになるように配置した。これにPPシートの曲げる部分を押しあてて、ケースの内側相当の大きさに切りだしておいた木製の冶具に合わせて、一気に曲げることにした。

 加工した半ケースを2.6mm径4mm長のボルトナットで固定した。思ったよりかっちりとした半ケースが出来上がった。


H30.2.10

 12キーが10個完成。aitendoさんにはお世話になった。丁寧な対応でした。

 今のところケーブルができているのが3枚なので、プログラムの方に取り組み中。Python3とTkinterを使って、誰がどのキーを押したかを表示し、青ボタンで決定するところまでできている。

 表示されているラズパイの画面をプロジェクターで拡大して投影し、10人が、その画面を見て入力するという流れ。

 今後は、自分がどの設問に答えようとしているのか分かるようにすることと、入力したものが個別にファイリングされること。そのファイルを母艦から取り込んで、母艦で処理することを目指している。

 Pythonのスクリプトは、他の人から見たら恐らく力づくの汚いものだろうが、試行錯誤で無理やりやっているので仕方ない、動けばいいか...程度の気持ちで取り組んでいる。

 どうにか目途が立ったところで、集計方法が変更されたため、この処理方法が不要になった! のが最大のガックリ。(ある部分では、ホッとしているけれど)

 まあ、いい勉強になったな。基本をみっちり勉強してきれいなスクリプトを書けるようにするか。


H30.2.4

 テンキーが3つできた。1から10までの数字キーだけど、入力確定キーと修正キーも入れて、12キーにした。

 抵抗のカラーコードを間違えてショップを行ったり来たりしたが、ようやく抵抗を入手して組み立てた。帰宅してからの2時間ほどの組み立て時間なので、1台完成させるのがやっと。注文した時にタクトキーの数を間違えてしまって、再注文した。しばらく待ちとなっている。毎度の失敗だ(^^;)

 下のグラフで、実測値Aというのが揃えた抵抗で組んだ結果だ。このくらいのばらけ具合でも、どのキーを押したかは判別できた。ただ、表の濃い黄色の値の抵抗を選べば、水色のグラフになると思われる。綺麗だね。もちろん、その値の抵抗は無い(?)ので、2個を直列にしなければいけない。組み立てるには面倒になる。

 まあ、実際にプログラムからは押したキーが分かるから良しとする。あとは、タクトキーが届いたら残りの7個を組み立てるだけだ。


H30.1.25

 テンキーを10人分作成して、会議のその場でアンケートを集計しようと計画した。本来は一人一人にPCを渡して入力してもらえば良いのだけれど、揃える費用がない。

 テンキーの作成は、以前のトータライーザーの時と同様、しなぷすさんの「しなぷすのハード製作記」<抵抗分圧器を使った、多くのスイッチのセンシング>の記事を参考にして行った。最初、タクトスイッチを90度間違えてハンダ付けし、失敗した(^^;) 最近こういう失敗が多い。脳内のやばい兆候かな? ハンダ吸い取りテープ(初めて使った)を使って修正した。

 このテンキーは、1から順に10のキーを押していくと、電圧がきれいに比例関係で出力されるようにキー間の抵抗を計算して出してある。電池で3Vの電圧をかけて、押したキー毎の電圧をテスターで調べたら、電圧の変化が直線にならなかった。ちょっと残念。

 とりあえず抵抗の修正は後にして、作ったテンキーとADコンバータMCP3208とで回路を組み、MCP3208のCH0にテンキーのOUTPUTを入力して試してみた。すると、下図の様に電圧がきれいに直線になった。基準電圧の1/10毎に変化しているのだ。あら不思議!この結果から、OUTPUTの電圧を調べれば、押されたキーが分かる。テンキーを持った人が今何を押したかが分かるわけだ。

 MCP3208は8チャンネルの入力端子を持っているので、とりあえずは8人のテンキーデータを収集することができるわけだ。それをプログラムで実現すればいい。ただ、会議の参加者は10人なので、2チャンネル足りない。どうすればいいのかな?

 ラズパイのSPIポートは確か2つあった? とすれば、残りの2人はもうひとつのMCP3208を使って収集すればいいというわけか。順繰りに調べればいいだけか.....

 としても、2つのMCP3208からデータを収集するプログラムの方は、私にとって大分ハードルが高い。

 まあ、やってみなければ分からないな。

 手持ちのタクトスイッチは小さいので、12mm角のタクトスイッチを注文した。数字だけでなくコントロールキーも付けて12キーにするので、10人分作るとなると、120個のスイッチが必要だ。基板も10枚必要だし、接続コードも長くなる。材料費も安くはならない。