electronics

スイッチマトリクスを使ってマイコンの入力ポートを節約する話

目的単純なスイッチ(ON/OFF)を判定する際に、できるだけマイコンのIOポートを節約するための方法を考えるなぜ単純なスイッチでは駄目なのか単純なON/OFFであれば下記の様な単純なスイッチでも問題ないです。※GPIO23は入力ポートとする単純なスイッチ(1スイッチ/1ポート) GPIO23はプルアップされていて、常にHIGHとなっている状態です。ここでスイッチが押されるとGNDに接続されてLOWになる感じですね。個人的にこの設計はシンプルで好きです。迷うこともないし。しかしこれで例えばキーボードなんて実装しようとしたらIOポートの数の壁にぶち当たるのは想像できますね。同時押しを考えないでいいのならアナログ入力少し複雑になりますが、原理はわかりやすい。アナログ入力で判定する(nスイッチ/1ポート)GPIO23をアナログ入力とすると、プルアップされているので常に3.3V付近です。SW1が押されるとGNDに落ちて0V, SW2が押されると分圧回路が成立して半分の1.65V付近になります。(誤差や熱による変化が考えられるため)なのでアナログ入力で電圧値を読み取ってやれば1ポートで複数のスイッチの状態が得られるというわけです。ただし、この方法だと同時押しに対応できません。対応できないというか、上記の場合は同時押しなのかSW1なのかを区別できません。

  • zienchan
    zienchan
3 min read
linux

Ubuntu 18.04.2 LTS (Bionic Beaver)がある日突然、真っ暗になって起動しない件

現象深く考えずにアップデート適用して再起動したら突然、画面が真っ暗になってログイン画面が表示されなくなって詰んだ環境VMWarePlayer上にUbuntu 18.04.2 LTSをインストール済解決策セーフモードで起動して下記のファイルを編集してWaylandを無効化するvi /etc/gdm3/custom.conf #WaylandEnable=false これのコメントを外して、 WaylandEnable=false こうする 結果再びログイン画面が表示されるようになる参考Ubuntu 18.04 LTSが起動しない?Waylandを無効にすれば起動するかも!

  • zienchan
    zienchan
1 min read