2017年10月10日火曜日

Webデザイナー・クリエーター・プログラマーが Raspberry Pi を活用するために必要な知識

自分のための備忘録。
間違ってることも自信満々に書いてたりするぞ!
※このページは私が飽きるまで随時更新されます。

電圧と電流

よく水に例えられるが私は「電圧は水の高さ」という例えより(高さって位置エネルギーじゃんイミフw)下記サイトの水鉄砲の例えのほうが理解が早かった。
電気の資格とお勉強 オームの法則

電流は決まった量が流れるのではなく、回路に要求される分流れる、というイメージ。
電源側で制御するものではない。

直列と並列(分圧・分流)

電池を直列と並列にした場合や、抵抗を直列と並列にした場合などについて。

電池

  • 直列にすると電圧は足し算。
  • 並列にすると電圧は1個分で、容量が増える。

抵抗を直列

  • 抵抗値(合成抵抗)は単純に足し算
  • 電圧がそれぞれの抵抗値に合わせて割り振られる(入力より減る)
  • 電流は同一量

抵抗を並列

ラズパイの GPIO で扱える最大(?)電圧と電流

以下のサイトによると
第22回 Raspberry PiのGPIO概要 ツール・ラボ
電圧は

  • 読み取り(入力)時は0V~3.3V

電流は

  • GPIOピン1本あたりの最大電流は(入出力ともに)16mA
  • 複数本のGPIOピンを使用する場合、同時に流せる電流の合計は50mAまで
  • 目安としては、制限の半分、つまり8mA
という制限を厳守しないと壊れるらしいです。

電子回路シミュレータ

Tinkercad の circuits
旧123D Electronics Lab。要無料ユーザー登録。
すごく便利!

最も手軽だが、バグが多い。

EasyEDA
設定で日本語化できる。要無料ユーザー登録。使い込むには要課金。

パーツについて

抵抗

電圧とか電流とか下げるときに使う。
いざ購入しようとした時に種類の多さにビビる。
まずは1/4wカーボン抵抗で、100Ω~1000Ω(1KΩ)を適当な区切りで用意しておけばいいかと。
1種類につき10個くらいしか使わないけど、1袋100個入りだったりする。
今の技術なら直接数値を記載することもできるであろうが、頑なに謎の色線で抵抗値を表す初心者キラー。

LED

なぜか初心者は最初にこれをチカチカさせることを推奨される。
これまた、購入しようとすると種類の多さにビビる。
そもそもオマエの使っているその赤いLEDは一体どれだと言いたくなるが、大抵はそんなことまで記載されていない入門書が大半。
実際には足が2本のならば、ほぼなんでもいい。

トランジスタ

このパーツについては以下のページがわかりやすいと思った。
足の並びは ECB (えくぼ)と覚えるのが良いらしい。
これが使えるようになると、電圧や電流の制限が厳しい Raspberry Pi でも、乾電池を使って色々できるようになるので楽しい。

リレー

物理的に「カチッ」って音がするのでビビる。
コイルを使っているのでダイオードを逆並列に接続する必要がある。
(切った瞬間にすごい電圧が流れるのを逃がす)
動かすためには大きな電流が流れることになり、ラズパイではあまり使用されないかも。

ダイオード


コンデンサ

種類多すぎ意味不明(・口・)

電解コンデンサ

LED みたいに極性(+と-)があるので間違えたらイカン。

パスコン(バイパスコンデンサ)(デカップリングコンデンサ)という使い方

直流電圧を安定させるために配置するコンデンサのこと。
そういう種類のコンデンサがあるのではなく、コンデンサの役割名。
安定した電源を供給したいものの近くに置くほど効果的。←物理的に近く?回路的に近く?

三端子レギュレータ


人感センサー・RIP・焦電型赤外線センサー

パーツというよりパーツの集合体であるモジュールと言うべきだが、そもそも色々な呼び名があって混乱する。
3.3Vでも動くとデータシートに書かれていても、大抵5Vに繋がないと安定しない。
私は3.3Vに繋いだら1分間隔くらいで勝手に出力が ON になるという不安定さを確認しました。

昇圧・降圧について

5V を 3V に下げたいとか上げたいとかのこと。

昇圧


降圧

ラズパイだとこっちのほうがよく使うかも。
色々方法がある。

三端子レギュレータを使う

最も簡単で安定らしい。
必要な電圧を出力してくれる種類を選べばいいだけ。

ダイオードを使う

ダイオード1個で 0.6V とか 0.7V 下がるので、それをいくつか直列で繋げて理想の電圧へ下げる方法。

抵抗を使う

つまり分圧するということ。
この方法だと降圧した先に繋がるものの抵抗(負荷)も考慮して組む必要がある。
そのため汎用性はなく、電流が変化するような回路には使えない。

プログラミング

Python

ver2系と3系があるけど、3でいいと思うよ。
なんかみんなこれ使ってる。

Node-RED

私はこっち使ってます。
Raspbian に標準インストールされてるけど、肝心な node.js が古いため、ドキュメントの指示通りインストールし直したほうがフルに機能が使えるようになって捗る。
指示通りにターミナルにbashコマンドをコピペして実行すれば、後は勝手にやってくれます。
既存の設定やフローも維持してくれるので安心だぞ。

USB

電源として利用したい場合

そもそも USB からの電力供給は規格で 5V で 100mA~500mA と決まっている様子。(たぶん USB2.0までの話)
ただし、色々なページを見る限り USB ホストへ「これくらい電力使うよ」と申告したりする手続きをしないで、こそーり電源としてのみ拝借する場合は 100mA までに制限しておくのが無難な様子。

USB Raspberrypi.org
USBポートは電源ではありません Dai ISHIJIMA's Page
USB端子から5ボルトを取る方法 作る人(つくるんちゅ)日記

音楽・動画の再生

最初から入っている OmxPlayer を使えば GPU が利用できるのでスムーズな再生が期待できるらしいです。