PSCollectionViewでハマる
Pinterest風の表示にしたいと思って色々ライブラリをあさって見たところ、PSCollectionViewという便利そうなライブラリを発見した。 iOS6以上であれば、UICollectionViewというそのものズバリのものがあるようだ。 heightForRowAtIndexメソッドの戻り値に個々の高さを指定してやることで、高さを個別に設定することも可能だった。 戻り値にCGFloatで値…
Pinterest風の表示にしたいと思って色々ライブラリをあさって見たところ、PSCollectionViewという便利そうなライブラリを発見した。 iOS6以上であれば、UICollectionViewというそのものズバリのものがあるようだ。 heightForRowAtIndexメソッドの戻り値に個々の高さを指定してやることで、高さを個別に設定することも可能だった。 戻り値にCGFloatで値…
7セグも使うことが出来たので、次は温度センサーを使っていくことに。 これで無事に温度が表示出来れば、ほぼ完成したようなものだ。 温度センサーはLM60というものを使う。 このセンサーには3つの足が付いていて、それぞれVs、Vout、GNDとなる。 Vs(VCC)は電源、GNDにマイナスを接続すると、Voutに現在の温度を表す電圧が出力される。 AVRにはA/D変換の機能が標準で付いているので、これ…
前回の記事で1桁の7セグ表示することができたので、今回は3桁点灯させてみることにした。 3桁点灯させるにはトランジスタが必要ということで、いよいよトランジスタを使うことになる。 ここでトランジスタやダイナミックドライブについて調べていくと、 ATMEGA328PのI/Oピンは最大40mAなので、カソードコモンをマイコンに接続すると最大電流量を越えてしまうようだ。 各セグメント10mAで8本、合計8…
いよいよ7セグLEDを使う時がきた。 7セグLEDを使えば、0から9までの数字(あとドット)を表示させることができるのだ! 温度計には無くなてはならないものと言っていい。 購入した7セグLEDは、赤色で3桁表示するもので、C-533SRという型のものだ。 7セグメントLED…
LED点灯を試すためにATTINY2313を一番最初に買ったのだけど、 7セグLEDを使うためには少しポート数が足りなくなってきた。 思い切ってATMEGA328Pを買うことにした。 ただ単純にATTINYと置き換えればいいと思っていたがそうは問屋が卸さない。 割り当てられているポートの順番なども違うようで、 ATTINYと比べながら置き換えていく必要があるようだ。 流れとしてはこんな感じだ。 三…
温度計作りを構想してからどのくらい経っただろうか… なかなか手を付けるタイミングがなく今年が終わろうとしていたのだけど、 意を決してマイコンいじってみることにした。 まずは、今まで電池ボックスを利用していた箇所をACアダプタから電源を確保することにした。 12VのACアダプタを買った理由は、高い電圧を必要とするものでも使い回せそうな気がしたのと、 三端子レギュレータを使ってみたかったのが理由だ。 …
後編ということで、前回の続きをだらだらと書きたいと思う。 2つのLEDを交互に点灯させたい、ということなので一定間隔で点灯させるために、ディレイ処理を行う必要がある。 C言語であれば_delay_ms関数が使えるのでかなり簡単に実装できるが、アセンブリとなるとクロック周期をカウントしていく必要があるようだ。 指定秒数待機するルーチンを実装する いろいろと参考サイトを見ていくと、下記のような実装が一…
前回の記事で無事にLEDを点灯させることができた。 コードは全てC言語で書いたが、もう一つの方法としてアセンブリで書いてみることにした。 アセンブリなんてコードを見ただけでウンザリしてしまう。 でもやってみる前から諦めてもしょうがない。 この機会に少し調べてみることにした。 開発環境を整える アセンブリコードをコンパイルするためのコマンドは、最初に導入したCrossPackAVRというものに含まれ…
作りたいと思ってから1ヶ月ほどが経過した。 時間を空けすぎるのはよくないので、作るのに何が必要か、どうやって作るのかを調べることにした。 温度を測るには温度計センサー(LM60BIZ)なるものがあるようで、 こいつを使えば温度によって電圧を返してくれるらしい。 比較的難易度は低そうだ。 実は湿度計も同時に作ろうと思ったのだけど、 安く入手できるHS-15Pを使うとなると、 湿度によって変動するイン…
前回の記事で無事にマイコンを経由してLEDを点灯させる事ができた。 その時に利用したプログラムはサンプルをコピペしただけだったので、2つ接続したLEDを交互にランダム点灯させるプログラムに変更したいと思う。 最初にサンプルコードで意味が分からない変数や関数があったので、それを調べることにしてみた。サンプルコードは以下のような感じだ。 #include <avr/io.h> #inclu…