AVRで電子サイコロ
やったこと
今回はAVRを使って電子サイコロを作ってみました。ドヤ顔
と言っても、中身はArduinoです。(^^;
しかも、回路の接触のせいか、うまく作動しないというごみを生産してしまいました。
使ったモノ
・ATMega328p
・水晶発振子16MHz
・セラミックコンデンサ(22μF)×2個
・抵抗(510Ω)×8個
・抵抗(10KΩ)
・可変抵抗
・トグルスイッチ
・LED ×8個
・タクトスイッチ
・圧電ブザー
方法
電源を投入後にタクトスイッチを押すとサイコロが振られ、
ブザー音とともにLEDが点灯し始めます。
そして、約5秒間LEDがブザーとともに点灯した後、サイコロの目が出ます。
工夫したところはサイコロの目が出る5秒間の間のLEDの点灯を徐々に速めるようにしたところと、
ブザー音を可変抵抗で調節できるようにしたところです。
まぁ、結局はんだ付けのミスでタクトスイッチを無視して
永遠に回り続ける無限サイコロになってしまいましたが(困惑)。
回路図
電源のLEDを書き忘れています。あと、A1につながっている可変抵抗はA3につながっています。
コード
結果
無限サイコロ(ゴミ)の出来上がり( ´∀` )
感想
普段はブレットボードだけで電子回路を組んでいるので、
はんだ付けがめちゃくちゃ難しかったです。
しかも、
苦労してはんだ付けした割には、うまく動かずやっと動いたと思ったら
無限サイコロになっていました。
またつまらぬもの(ゴミ)を生産してしまいました( ´∀` )
音量調節のプログラムも実は完ぺきではなかったりするのです。
モノづくりってなかなか難しいなぁと改めて感じました。
しかし、失敗から気づくこともあり、いい経験でした。
AVRスケッチライタの組み立て
やったこと
今回はAVRにArduinoのスケッチを書きこむスケッチライタを購入し、組み立ててみました。
本来は自作しようと思っていたのですが、いろいろあって購入することにしました。
方法
説明書等は特になく、基板にプリントされている通りに部品をはんだ付けしていきました。また、パソコンと接続するために以下のアダプタを使用しました。
スケッチライタのピン配列とシリアルアダプタの差し込み口が同じ配列出ないので、回路図を見て正しくつなげる必要ありです。
結果
5v、GNDそして10~13のピンが使えるようなので、書き込み確認用として、ソケットをつけてみました。
感想
このキットにはピンソケットが付属されていません。最小限の部品と基板しか入っていませんでした。なんかaitendoぽっくていいなと思いました。
組み立てに10分程度で簡単にできました。
今回ははんだ付けをミスらなかったぜ!(ミスるほど部品がない)
これを使って、いろいろと作っていきたいなぁと思います。
Arduinoブートローダーライタキットの組み立て
やったこと
今回はArduinoのブートローダライタキットを組み立ててみました。
今までブレッドボード上で回路を組んでArduinoボードにジャンパワイヤをつなげてやっていたのですが、そろそろ一つの製作物として形になるようなものを創りたいと思い、購入してみました。
方法
製品のサポートページを参考に、プリント基板通りに部品をはんだ付けしていけば難なく組み立てることができました。
書き込み方法等はこちらの通りです。
結果
感想
サポートページが非常にわかりやすく、
ブートローダって何?おいしいのってレベルの私でも
40分ほどでブートローダ―を書き込むところまで終えることができました。
電源を入れている間はボード上に付いている向かって右側のLEDの一つが、徐々に明るくなったり暗くなったりしてなんかかっこいいです。
いいものを買ったなぁと思いました。
【Arduino】適当に買ったLCDシールドが作動しなかった件【シールドキット】
以前、スイッチサイエンスで買ったArduino用LCDシールドキットを暇だったので組み立ててみた。
普段はあまりはんだごてを使った作業を行わない私でも、ものの15分程度で完成させることができた。ワクワクしながらスケッチを書き、LCDシールドを付けたArduinoへ書き込んだ。
しかし、何も表示されない。コントラスト等をいじっても何も出てこない。本当であれば「Hello World」と表示されるはずであるが、表示されなかった。
特にはんだ付けを間違えたわけでもない。スケッチも書籍に書いてあるソースをまるパクリして書いたものであるし、どうしたものかと頭を悩ませた。
そうしているうちにあることに気が付いた。
私が買ったLCDシールドは専用の書籍用のシールドであることに。私が買ったLCDシールドは「Prototyping Lab――「作りながら考える」ためのArduino実践レシピ」という書籍に紹介されているLCDシールドであり、その書籍のスケッチを書きこまないと正常に動かないのである。
というより、冷静に考えてみれば当たり前のことである。私が参考にした別の書籍と回路が違うのだから(;´・ω・)
よーくArduinoのLCDライブラリのリファレンスを読んでLiquidCrystal()の引数を所定のピンの番号にしたところちゃんと動作させることができた。
ということで
まとめ
①スイッチサイエンスで買ったArduino用シールドが動作しなかった
②原因を調べたところ接続ピンの設定が間違っていた
③LiquidCrystal()関数の引数を正しい引数にした
④解決したやっほい
LEDをチカチカさせる
やること
今回はArduinoを使って、LEDをチカチカさせてみます。
使ったもの
・Arduino 本体
・USBケーブル
・LED(赤)×1
・抵抗(510Ω) ×1
・ブレッドボード
回路
コード
結果
LEDの仕組み
LEDってどんな仕組みで光ってんの?って
ちょっと疑問に思ったので調べてみました。
LEDとはLight Emitting Diodeの略です。
発光するダイオードです。
じゃあ、ダイオード(半導体ダイオード)って何?っというと
電子部品の一つで、
電流を一方方向にしか流さないという作用(整流作用)や
電圧を一定に保つ(増幅も?)作用があります。
半導体でできています。
一般的なダイオードは、
N型半導体とP型半導体の二つの半導体がくっついている形(PN接合)になっています。
ちなみに、
N型半導体の「N」はNegativeつまり、「負」の意味で、
P型半導体の「P」はPositiveつまり、「正」の意味という意味です。
LEDも構造は一般的なダイオードと同じPN接合ですが、
半導体を構成する材料が違います。
一般的なダイオードの半導体が
シリコンに1種類の元素が加えられているのに対し、
LEDの半導体は、
シリコンと2種類以上の元素が加えられたもので、化合物半導体と言います。
LEDに電圧(順方向)を加えると
LEDのN型半導体からP型半導体へ電子(-)が
P型半導体からN型半導体へは正孔(+)がそれぞれ拡散し、
くっつきます。
その時のエネルギーの一部が光として出てくるわけです。
ちょっと難しくなっちゃいましたがようは、
P型半導体には+ぽいやつがたくさんいて
N型半導体には-ぽいやつがたくさんいます。
電圧を加えると、
+っぽいやつと-ぽいやつが動き出して、
ごっつんこします。
頭ぶつけたらチカチカしますよね
それとおんなじようなもんです(嘘)
ちょっとテキトーすぎる説明ですが(-_-;)
そんなこと知らなくてもLEDは光るのでそれでいいのです!