Browsed by
Category: 電子工作

タクトスイッチを使う

タクトスイッチを使う

温度計にモード切り替え(最高温度、最低温度)を付けたかったので、タクトスイッチの使い方を調べることにした。 まずは、マイコンを使わずにタクトスイッチを使って、LEDを点灯・消灯させる。 かなり苦戦したのだけど、いろいろな人に教えてもらって何とか完成させることができた。 タクトスイッチの構造 タクトスイッチは押すとカチッと手応えのある押しボタンだ。押している間だけ電流が流れるらしい。 足は4本付いて…

もっと読む もっと読む

トランジスタアレイを使う

トランジスタアレイを使う

トランジスタや抵抗の数を減らすためにトランジスタアレイを使うことにした。 トランジスタアレイは、TD62064APGというNPN型の4chのものを使用した。 7セグ3桁のトランジスタ・抵抗を置き換える 7セグで使っていたトランジスタと抵抗を置き換えることにした。 7セグ一つに対して、トランジスタ1つと抵抗が二つ減ることになるので、だいぶスッキリするはずだ。 4chなので、O1~4、I1〜4が各セッ…

もっと読む もっと読む

USBシリアル変換モジュールを使う

USBシリアル変換モジュールを使う

またもや電子工作をサボってしまった…。 プライベートもプログラミングをバリバリやってる人はすごいと思う。 この間マイコン先生から電子工作用の部品を色々いただいた。 ジャンパー線やLCDなど便利なものばかり…感謝感謝。 どうやら半年くらいご無沙汰だったみたいだ。 今回さわったシリアル変換モジュールなどの部品は、実は正月に買っておいた。 ケースやら基盤なども買い込んだので、早いところ温度計を完成させて…

もっと読む もっと読む

温度センサーとA/D変換

温度センサーとA/D変換

7セグも使うことが出来たので、次は温度センサーを使っていくことに。 これで無事に温度が表示出来れば、ほぼ完成したようなものだ。 温度センサーはLM60というものを使う。 このセンサーには3つの足が付いていて、それぞれVs、Vout、GNDとなる。 Vs(VCC)は電源、GNDにマイナスを接続すると、Voutに現在の温度を表す電圧が出力される。 AVRにはA/D変換の機能が標準で付いているので、これ…

もっと読む もっと読む

7セグLEDの3桁表示に挑戦

7セグLEDの3桁表示に挑戦

前回の記事で1桁の7セグ表示することができたので、今回は3桁点灯させてみることにした。 3桁点灯させるにはトランジスタが必要ということで、いよいよトランジスタを使うことになる。 ここでトランジスタやダイナミックドライブについて調べていくと、 ATMEGA328PのI/Oピンは最大40mAなので、カソードコモンをマイコンに接続すると最大電流量を越えてしまうようだ。 各セグメント10mAで8本、合計8…

もっと読む もっと読む

7セグLEDを使う

7セグLEDを使う

いよいよ7セグLEDを使う時がきた。 7セグLEDを使えば、0から9までの数字(あとドット)を表示させることができるのだ! 温度計には無くなてはならないものと言っていい。 購入した7セグLEDは、赤色で3桁表示するもので、C-533SRという型のものだ。 7セグメントLED…

もっと読む もっと読む

ATMEGA328Pを使う

ATMEGA328Pを使う

LED点灯を試すためにATTINY2313を一番最初に買ったのだけど、 7セグLEDを使うためには少しポート数が足りなくなってきた。 思い切ってATMEGA328Pを買うことにした。 ただ単純にATTINYと置き換えればいいと思っていたがそうは問屋が卸さない。 割り当てられているポートの順番なども違うようで、 ATTINYと比べながら置き換えていく必要があるようだ。 流れとしてはこんな感じだ。 三…

もっと読む もっと読む

12VのACアダプタから5Vに変換

12VのACアダプタから5Vに変換

温度計作りを構想してからどのくらい経っただろうか… なかなか手を付けるタイミングがなく今年が終わろうとしていたのだけど、 意を決してマイコンいじってみることにした。 まずは、今まで電池ボックスを利用していた箇所をACアダプタから電源を確保することにした。 12VのACアダプタを買った理由は、高い電圧を必要とするものでも使い回せそうな気がしたのと、 三端子レギュレータを使ってみたかったのが理由だ。 …

もっと読む もっと読む

アセンブリでLEDを点灯させる【後編】

アセンブリでLEDを点灯させる【後編】

後編ということで、前回の続きをだらだらと書きたいと思う。 2つのLEDを交互に点灯させたい、ということなので一定間隔で点灯させるために、ディレイ処理を行う必要がある。 C言語であれば_delay_ms関数が使えるのでかなり簡単に実装できるが、アセンブリとなるとクロック周期をカウントしていく必要があるようだ。 指定秒数待機するルーチンを実装する いろいろと参考サイトを見ていくと、下記のような実装が一…

もっと読む もっと読む

アセンブリでLEDを点灯させる【前編】

アセンブリでLEDを点灯させる【前編】

前回の記事で無事にLEDを点灯させることができた。 コードは全てC言語で書いたが、もう一つの方法としてアセンブリで書いてみることにした。 アセンブリなんてコードを見ただけでウンザリしてしまう。 でもやってみる前から諦めてもしょうがない。 この機会に少し調べてみることにした。 開発環境を整える アセンブリコードをコンパイルするためのコマンドは、最初に導入したCrossPackAVRというものに含まれ…

もっと読む もっと読む