ikkei blog

電子工作やパズルのブログです。主にLEDを使った電子工作をやっています。

16 セグメントLEDのページを更新しました。

2011年09月23日 15時56分39秒 | Arduino
Aitendoの16 segment LED KA2311の特売に合わせて
16 segment LEDのページを更新しました。
さらに、工事中だったDIPスイッチバージョンのページも更新しました。

aitendoで16セグメントLEDを49円で特売市やってる

2011年09月21日 21時18分03秒 | 電子工作
aitendoで16 segment LEDの特売 49円をやっています。
KA2311-42B-UR91ですから、デジットやシリコンハウス共立で売っているものと同じですね。
一度に6個までしか買えないなんて、まるでコールサインプレートを作って下さいと言わんばかりです。

16セグメントLEDを使ったコールサインプレートは、マイコン要らずのDIPスイッチバージョンや、

Arduinoバージョンを作りましたが、


もっと面白い物が出てくるのを期待したいですね。

ちなみに、同じ大きさの16セグメントLED A-2308SR が秋月にもありますが、ピン配置や寸法が同じです。

簡単な演習用にArduinoで「電子ルーレット」を作ってみた

2011年09月20日 23時34分47秒 | Arduino
電子工作の基本の「電子ルーレット」、「電子サイコロ」ですが、
マイコンを使ったものは、大抵ディレイ時間を多くして、速度が遅くなるのを表現しています。
これでは、組込み技術者へのお手本にはなりません。

それは、組込みソフトの基本は
「メインループの周期は一定とし、スイッチ入力は1ヶ所で行う」
だからです。

そこで、私がこの基本に沿って作ったのがこれです。


同じ構成で「電子サイコロ」も作れます。
両方とも出来てからサイトに載せようと思っていますが、
それまでの間、もし自分は組込みの基本通り作ってるよと言う方が居ましたら、ぜひお知らせ下さい。

その他、ご意見なども頂きたいと思っています。
左側の「メッセージを送る」から送れば公開されません。
よろしくお願いします。

Arduinoファンクラブへ行ってきました

2011年09月18日 23時19分51秒 | Arduino
Arduinoファンクラブへ行ってきましたが、今日はたくさんの人で一杯でした。
かたや、小学生がなにやらArduinoでスケッチを書いています。
一方、私の方は京都芸大生とコラボイベント「共創のかたち」

のためのアドバイザー?です。

LEDを点けたり、モーター回すのは訳ないのですが、
作品を具体的なモノに落とし込む手伝いをするようです。
でも、構想がまだまとまっていない感じでした。


帰り道、何か実験のようなことをやっていました。

電子サイコロをちょっとググってみた

2011年09月17日 23時17分54秒 | 電子工作
電子サイコロをググってみると、色々な作り方があるのが分かりました。

ロジックICを使ったものは、基本通りに
発振器 --- 6進カウンタ --- デコーダ --- LED
の構成になっている物が多かったのですが、
電子工作キットのコロスケくん[電子サイコロ] (TK-725)を見て驚きました。
たったIC 2個で実現しています。

一体どんな回路なのか、さらにググってみると、ここの一番下の方に回路図がありました。
なんと、シフトレジスタHC164を使って配線のみでデコードしています。

シフトレジスタのカウンタと言えばジョンソンカウンタですが、このキットでは違っていました。
入力に1を入れて、シフトしていき、全部1になったら、非同期リセットを掛けてしまうと言う物です。
そして、LEDのアノードとカソードを巧みに配線してデコーダ無しで点灯させています。
教材としては使えませんが、この発想は面白いですね。

一方、マイコンを使った物はやはりPICが多いですね。
それに、表示をゆっくりにしていく所はディレイを大きくしていくものばかりです。
一般的には、これが普通なのかもしれませんね。

でも、組込みソフトを作る場合、
「メインループの周期は一定とし、スイッチ入力は1ヶ所で行う」
が大前提となります。

これによって、一定周期のポーリング入力が実現できます。
組込みソフトはここからスタートします。

フローチャートで書くと、main関数はこうなります。
もし、周期的な出力が有る場合はここに入れます。

つまり、定常的にメインループが回っているということです。
だから、このメインループの中の1ヶ所に、ウォッチドッグタイマのリセットを入れる事で
ウォッチドッグタイマを有効に使えるのです。

ちなみに、Arduinoではmain関数は自動的にsetupとloopと言う関数から下のように構成されます。
だから、loop関数を上の図のように作っていけば良いのです。