オッサンとバイエル、ピアノ等コンテンツへスキップオッサンとバイエル、ピアノ等コッチへ引っ越した。PiにAD変換ICをつないで遊んでいたわけであるが、ふと「3.3Vを12ビットでAD変換すると、結局1ティック何Vかいな」なぞと計算したくもなる。Piには、「bc」がデフォルトでは入ってないのである。bc入れとかなアカンがな、アンタ。世の中のUNIX爺ィがみんな怒りまっせ。アーカイブを取得する必要があります。ディスク容量が消費されます。個のファイルとディレクトリがインストールされています。...toshio@satoraspi:/var/www$......とかやるんでしょうね。まことに平和な、オッサンがやりたい計算が可能になる。bc.00080566406250000000toshio@satoraspi:/var/www$1ティック0.81mVと思えば、まあ、間違いのないところであるようだ。JST以前、Arduinoのアナログ入力にサーミスタをつなぎ、温度計にして遊んだ。最近はLCDディスプレイに温度を表示してみたり、なかなか面白い。PiはWebによくなじむ。ApacheもPHPも走る。サイトで公開しておられるADCアクセスのためのソースコードを拝借して遊んだが、これを使ってWeb温度計にしてみた。ブレッドボードにAD変換ICのMCP3208と、サーミスタ、分圧用の抵抗1kΩを置き、適切に配線する。Kit」に入っていたMF11-503Kというサーミスタをそのまま使う。それから、C++でこんなプログラムを書く。Bではそのままでは動かない。一部の型キャストなどを変更する必要がある。それについては先週のエントリで記してある。その間から分圧をとって温度を測る。ウェブ公開しておられるソースコードを拝借した。K);}これは単に、サーミスタで計った現在の温度を標準出力に書くだけだ。これを「popen();」で開けば、PHPで読める。$temp?>°C</td&t;</tr></table></tr></table></td></tr></tr></table></center></body></html>テーブルの幅を温度計のアルコール柱に見立てて、赤い帯で表すようにしてみた。Arduinoでも同じようなことはできるが、Arduinoで難しいのは、こういうふうに、無駄に画像を配置したり、少し分量の多いHTMLを書いたりすることだ。Piには造作もなくできてしまう。Piで同じことをしようとすると、アナログ入力にAD変換ICを準備し、これとの通信にもいろいろと研究の上で取り組む必要がある。簡単で刺激的な目的のために少しプロトタイピングをしてみようと考えている多くのクリエイターがなしうるところではない。Piをはじめよう」にもそうしたことが少し書かれてある。Pi、線がダラダラつながっているのは面倒くさいから、メインのifをWiFiにしてみたい。GW-USNano2」というのをかなり前から持っている。RTL8188CUS]......もう、サクッとプラグアンドプレイの一発認識である。KiB)これも、もう、イッパツ。-y、LANケーブル抜いて電源を入れなおす。ケーブルがだらだらつながっていたのが減って、これはとてもいいなあ。USBのWiFiアダプタが快調に作動している様子アナログ入力をしてみるさて、今度はいろいろといじってみよう。PiとArduinoにはいろいろと違いがある。その違い認識は世間ではもうとうの昔に確定済みであるようだが、私はその無視できない一つが「アナログ入力のあるなしではないだろうか?」と思い至っている。Arduinoはシンプルで扱いやすいにもかかわらず、10ビットのアナログ入力が6個もあり、これは意外と使い応えがある。抵抗やポテンショメータ、サーミスタ、CDSセル、音声など、実にいろいろなものをつなぐことができるのだ。Piにはアナログ入力は、ない。アナログ入力をしたければ、手段の一つに「Arduinoをつなぐ」というのがある。Arduinoを持っているなら、これは良い手段だが、なんだか無駄が大きい。一つが、「A/D変換器をつなぐ」ということだ。A/D変換IC、つまり「ADC」は、百何十円~数百円だから安い。これについて解説しておられるサイトはたくさんある。それを参考にさせていただき、早速秋葉原へ行って2種類ばかりICを買い込む。これは、マイクロチップ・テクノロジー社製の「MCP3008-I/P」。8チャンネル10ビット、千石電商で320円。MCP3008-I/Pコッチは、同じくマイクロチップ・テクノロジー社の「MCP3208-CI/P」。こちらも8チャンネルだが、幅は12ビット。秋月電子でソケット付き、データシート付きで320円。MCP3208-CI/Pついでにこの前壊したTLC5940NTも二つ買い込む。TLC5940NTで、まずはMCP3208から試してみよう。PiとICは、SPI通信でつなぐ。PiでSPI通信を行う要領を知る必要がある。raspi-config」でAdvancedの中からSPIを選び、enableにすればよい。lsmodで確認し、次のように「spi_bcm2835」というモジュールが入っていればSPIが使える。uio_pdrv_genirqさっそくブレッドボードにMCP3208を配置し宮城大学のサイトの記事にあるコードを使わせてもらったのだが、これがそのままでは動かず、ハマッた、ハマッた......。ioctrlに渡すデータ長に違いでもあるらしく、かなり試行錯誤した末、このようになった。26677番ピンにポテンショメータをつなぎ、残りのピンは解放してあるので、乱雑な値が出ている。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。%d人のブロガーが「いいね」をつけました。