担当授業のこととか,なんかそういった話題。

主に自分の身の回りのことと担当講義に関する話題。時々,寒いギャグ。

RSフリップフロップと無安定マルチバイブレータの実験。

2013-02-24 23:49:59 | 工作・実習
やってみたいことリストに挙げたもののうち,2つの実験項目をさっそく実行してみた。

RSフリップフロップと無安定マルチバイブレータの2つの回路を同時に実験した。いずれもNANDゲートを2つ使用するが,74HC00という,NANDゲートが4個入った有名なIC一つで両方の回路を組むことが可能である。

秋月電子通商で手に入れた,最小級のブレッドボード一枚にパーツを盛り込んでみた。

写真の左側が無安定マルチバイブレータで,右側がRSフリップフロップである。

単三電池4本の6Vで駆動する。初めはマルチバイブレータの出力を見るのに LED を用いていたが,電源をつなぐと点灯するものの,点滅しているように見えなかったので,圧電ブザーに取り換えた。すると,圧電ブザーが「ビー」と鳴いた。無安定マルチバイブレータで圧電ブザーを鳴らすという野望はかなえられた。回路は逆瀬川皓一朗著『ディジタル回路の基礎と応用』136ページ図6-16 (a) を参考にして組んだ。コンデンサー2個と抵抗2個を使用するタイプの回路だが,コンデンサーと抵抗はそれぞれ0.01μFと100kΩのもののみを使用した。積 RC は 10-3 のオーダーなので,その逆数の 1kHz オーダーの周波数の音が聞こえたのだろう。

一方,RSフリップフロップの方は,電池をつなぐと黄色か緑色の LED のどちらか一方のみが「その時のICの気分によって」点灯することは確認されたものの,どちらのボタンを押しても LED の状態は全く変化しなかった。ボタンの配線を間違えたのかもしれず,あるいはプルアップ抵抗を10kΩにしたのが大きすぎたのかもしれないが,詳しい検討はまた今度にしようと思う。今夜は今年一番の冷え込みで,無暖房自宅実験室では寒くてやる気がかなり減退してしまっているのである。

こうして,意図した実験は半分だけ成功したわけであるが,別の本を見ると,今回使用したのとは少し異なる発振回路が載っていたので,それもぜひ試したいところである。

それにしても,小さなブレッドボードにスイッチを2個載っけるのはちょっと大変だった。回路図兼実体配線図の描き起こしとパーツの配線の作業にはやはり一時間は要した。かなりの集中力と根気が必要なので,一日にそういくつも実験できるものではないようだ。続けていればそのうち慣れるだろうか。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

7ビット・カウンタ試作機第1号。

2013-02-24 19:08:29 | 工作・実習
昨日,もっと早くに行くべきだった,聖地・秋月電子通商秋葉原店に行ってきた。

さほど広くない店内にはおそらく50人ほどの人がごった返していたものと思われる。満員電車級の混雑っぷりであった。

小さいブレッドボードを買うのが最大の目的であった。丸ピンのICソケットも安いので,14ピン,16ピン,18ピンのものを5個ずつ買おうとしたら,会計の際に店員さんが「10個セットがありますよ。」と教えてくれたので,つい10個入りにしてしまった。赤色LEDと緑色LEDもそれぞれ10個セットのものを買った。

八潮店もぜひ一度訪れてみたいものである。

今回手に入れた小さいブレッドボードで,念願の7ビット・バイナリカウンタを組み立ててみた。
74HC393という,4ビットのカウンタが2回路入っているICを一個使用した。2つのカウンタをつなぎ合わせれば8ビットカウンタになる。したがって,最大2の8乗の256まで数えることができる。

ロジック回路の設計はデータシートを参照して行った。といっても,ピンの配置と,繰り上がりをどう処理すればよいかを確認しただけのことである。

初めは,クロック入力の立ち上がりでカウントするのかと思っていたので,カウンタ1の4bit目の出力を単純にカウンタ2のクロック入力に使用したのでは繰り上がりがうまく行かないのではと心配していた。ところが,393のクロック入力は立下りを使用していること (HIGH-to-LOW, edge-triggered) がデータシートから読み取れた。したがって,カウンタ1の4bit目の出力が H になってもカウントされず,それが L に立ち下がって初めてカウンタ2にカウントされることになる。きっと設計者はそういうことを配慮してそのような仕様にしてくれたのだろう。

そういうわけで,カウント用のボタンを押すとカウンタ1のクロック入力が H から L に変化するようにしなければならない。スイッチの接点のばたつき(チャタリング)による誤入力を防ぐ手当が必要だが,まだよく理解できていないので,電解コンデンサと抵抗を適当につないで(ローパスフィルタらしいが)代用することにした。

回路図と配線図を兼ねたような落書きをしたためたのち,いよいよ配線に取り掛かった。ICのピンは外側に開き気味なので,基板やソケットに差し込めるようにするには内側に少し曲げる必要がある。冬場は常に静電気におびやかされる僕にとっては,静電気に弱いといわれる CMOC IC のピンを折り曲げる作業ほど気が進まないものはない。

それらの試練を乗り越え,一時間ほどして配線が完成した。

電池をつなぐ前に配線をチェックするのが常識であろうが,予備の IC はもう一個あるし,早く動くかどうか知りたいので,とにかくつないでみた。

右側の LED が何個か点いた。電源を入れたときにリセットをかけるようにしておくべきであろうが,具体的な方策がわからないので,とりあえずリセットボタンを押す。すると期待通りに LED がすべて消えた状態になった。

カウントボタンを押すと,右側の LED が微妙に規則正しく変化していく。しかし,1の位の LED がほぼつきっぱなしで,押すごとに変化するのは 2 の位と 4 の位の LED である。それに,何回もボタンを押してカウントを続けているのに,左側の LED が全く点灯しない。リセットボタンを押すと,すべて消灯状態になる。

いったん実験を中断し,不具合の原因について考えをめぐらす。ここで初めて配線のチェックをしたりするという,人には言えないこともやってみる。

すると,左側の LED が一切点かない原因がわかった。どの LED もカソードを GND ライン(電池の負極)につないでいないという配線ミスによるものであった。いやー,うっかりしていた。
それを修正したところ,ちゃんと繰り上がって左側の LED もともるようになった。


↑右側の LED が下から 1 の位,2 の位,4 の位,8 の位で,左側が下から 16,32,64 の位。左側の押しボタンはリセット用で,右のはカウント用。電源は単三電池4本の6Vである。左右をぐるっとつないでいる白いジャンパ線は,2つのカウンタのリセットピンをつなぎ,リセットボタンで両方同時にリセットするためのものである。

けれども,1 の位の LED がほとんど付きっぱなしという事態はその後の試行錯誤によっても改善されなかった。原因は押しボタンスイッチのチャタリングによるとみて間違いないだろう。やはりちゃんとチャタリング防止回路を実装する必要がある。

動作があまりにも不安定なため,とても実用に耐えるものではないが,カウンタをちゃんと使えたことだけは確認することができた。

というわけで,いよいよチャタリング防止回路と正面から向き合わなければならない羽目になった。それにはもう一つ IC が必要なようなので,別の小さなブレッドボードに組んで接続することにしようと思う。

今後,ぜひ試してみたいことを最後にメモしておく。

  1. ダイオードやトランジスタを用いた AND ゲート,OR ゲート,NOT ゲート,NAND ゲートの製作。
  2. シュミットトリガや NAND ゲートを用いた無安定マルチバイブレータの製作。圧電ブザーも鳴らしてみたい。
  3. NAND ゲートを用いた RS-flipflop の製作。
  4. D-flipflop を利用したシフトレジスタの製作。車用の信号機のような動作をするイルミネーションを作りたい。
  5. D-flipflop を利用した,俗にいう「ナイトライダー・イルミネーション」の製作。とりあえずは LED 3個で光を行ったり来たりさせられれば満足。やり方は2通り考え付いたが,それらは本質的に同じものかもしれない。
  6. バイナリデータを 7 セグメント LED の表示に変換するデコーダの設計。専用 IC が存在するが,内部の仕組みを自分で考えてみたいのである。
  7. 紙コップでスピーカーを作る。それをテーマにした実験記事が中2の理科の教科書に載っていることが判明したが,それを見ずにやってみたい。

この他にもいろいろ妄想は膨らんでいたような気がするが,今思い出せるのはこんなところである。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

マスクド。

2013-02-22 23:59:09 | 爺ネタ
今日は Herz の誕生日。しかし今年の G○○gle ホリデーロゴはエドワード・ゴーリー氏(どういう方か詳しくは知らないが,世界中にファンがいる大人向けの不条理絵本作家らしい)であった。

一昨日から花粉症対策でマスクの常時着用を始めた。不織布マスク60枚入りも購入し,準備万端である。鼻の奥がつんつんして辛いというほどの本格的な症状は出ていないものの,朝起きた時は目がかゆいし,さっきはくしゃみを連発した。着実に症状は出ている。

Herz と言えば電磁波であるが,昨日は電磁波に関連した怪しい実験をした。その詳しい内容はいずれ紹介しようと思う。実は昨日のうちにブログに書くつもりだったが,家のネットワークの不具合でインターネットに接続できなかったため,できなかった。

モーターの製作をきっかけに妄想は膨らみ,糸電話ならぬ,手作りスピーカーを電線でつないだ「電線電話」を作ろうとまで考えている。サイトや書籍を調べずに手探りでやる予定なので,かなりの試行錯誤が予想される。成功する前に飽きてしまうかもしれないが,やってみようと思う。そういえば学部生時代に実験の授業でスピーカーを作ったっけなぁ。そういう意味では実際に作った経験があるわけだが,どんな風にして作ったのだか,ほとんど覚えていない。確か,重要なステップの一つは,スピーカーに使用した強磁性体を,強力な電磁石で磁化する『着磁(ちゃくじ)』だったことだけ鮮明に覚えている。それを忘れて,音が鳴らなくて,おかしい,おかしいと騒いでいたクラスメートがいたのは懐かしい思い出である。

スピーカーはマイクとしても使用できる。だから同じ仕組みのスピーカーをふたつ用意すればよい。けれども,おそらくマイクからの入力信号は小さく,単にもう一つのスピーカーとつないだだけでは通信は不可能ではないかと予想されるので,ちょっとした増幅器(アンプ)も製作する必要があるかもしれない。

花粉に悩まされる日々が本格的に到来してしまったが,僕が住んでいる地域よりも秋葉原の方が花粉の飛散量が若干少ないかもしれないので,当面は家に閉じこもって実験などで遊ぶか,日中は秋葉原へ逃亡するかしようと考えている。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

知っておきたかったが,知りたくなかったこと。

2013-02-20 15:20:23 | Weblog
買い物というのは難しいとつくづく思う。

なるべく安い店で買おうとすると,調査や情報収集を入念にしなければならず,その作業に時間がかかってしまい,なかなか買いに行けなくなる。
そのうち購買意欲が失せて買わないことに決めるというのであれば財布の中身が減らず万々歳であるが,どうしても買いたいという欲求がますます募るようであれば,買い物をずるずると先延ばしにするのは精神衛生上きわめて有害である。

いきなり何をぐだぐだ言い始めたかというと,これは,今,僕が必死で気持ちを落ち着けようとしているからなのである。

昨日一昨日と2日間にわたって秋葉原で使用したお金は 3万5千円である。

そして,買い物体験日記といった感じで,やれ抵抗器をまとめ買いしたら 1本 10円が 1本 6円になっただの,トランジスタをまとめ買いしたら1個 30円が 10円になっただのと,まるで買い物の達人ででもあるかのように自慢げに体験談を書き散らしたわけである。

しかし・・・。

次にアキバに繰り出す機会のために,必要な部品がこの世にまだ存在するのか,あるとしたらどの店で入手できるのかなどをネットで調べて買い物計画を練っていたところ,実は

抵抗器が1本 1円,トランジスタが 5円

で手に入るらしいことを知ってしまったのであった。


あらかじめ知っておきたかったことであるが,もっと高い値段で同じものを買った後には,できれば知らないままで過ごしていたかった事実である。

もちろん,今後また同じものを買いたいときには,今回知った安売りの店を使うことにすればよいので,そういう意味では今後に役立つ知識である。しかし,まとめ買いした部品はそうそう減るもんじゃないので,それらを買う「次の機会」は,あるとしてもずいぶん先のことだろうし,下手をすると僕の残りの人生でもう二度と機会が訪れないかもしれない。


同じ種類の体験はちょうど一週間前に味わった。

三角形の等積変形を視覚的にとらえやすくするために,輪ゴムで三角形を作って頂点を動かすという教材を作ってみようと思い立った。

資材は,たまたまだが,バレンタインデーにぼっちスタイルで6時間半カラオケで歌い倒したのちにカラオケボックスのすぐ近くの大手スーパーで調達した。

辺を表すのに使うカラー輪ゴムと,頂点を固定するために使うピン,そしてピンを刺すためのボードとして,コルクボードが欲しかったのだが,見当たらなかったので足元に敷くマットを購入した。

輪ゴムとピンはいずれも150円前後であった。マットは6枚セットのものしかなく,600円ほどであった。

その後,よせばよいのに,スーパーの道を挟んで向かいにある百円ショップに立ち寄ったところ,案の定,知らなければよかったと後悔する羽目になった。

すでに買った輪ゴムと全く同じものが100円で売られている。ピンも同じようなものが当然 100円で売られている。極めつけはマットである。バラで一枚 100円で売られていた。


この時つくづく思い知った教訓は,『先に百円ショップに行け!』という,誰の目からも明らかな当たり前すぎることであった。


とはいえ,似たような経験はこれまでの人生で何度味わったかしれない。今後もきっとこの教訓を生かし切れず,同じ失敗を繰り返すのだろう。もはや悔しいとすら思わなくなってしまった自分が,今,ここにいる。
コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

雪の舞い散る中。

2013-02-19 22:17:04 | 工作・実習
リュックを背負って~

Go! Go! アキバへ go!(オリジナルソング)

というわけで,雪がちらほらと舞い散る中,一日と置かずに今日も行ってまいったでござる。

平日の昼間にパーツ屋さんをうろついている人種は,老後を楽しんでおられるような年配の方たちばかりでござった。拙者の現在のライフスタイルはまさに老後のホビーライフそのものなので,見事に溶け込んでいたことでござろう。

今回のメインテーマは,昨日資金不足で買えなかった抵抗器とコンデンサ,そして 74HC シリーズの IC 収集でござる。

半導体屋さんでは 2SC1815Y と 2SA1015Y それぞれの100個入りを購入。バラで買うと 1個 30円のところが,まとめ買いだと 1個 10円と,大変お得。

これなら,いまいち理論がわかっていないために抵抗値の設定がおぼつかない自作トランジスタ回路の実験に好きなだけ失敗できるというものでござる。

コンデンサも袋入りがあれば買いたいところでござったが,電解コンデンサ 100μF16V 10 個入りしかめぼしいものはなかったのでござる。

その代り,1kΩ,10kΩ,100kΩ,1MΩ (1/4 W) はたくさん消費する予定で,念のためそれぞれ 50 本ずつ買う予定でござったが,100個単位でしか袋入りはないとのことでござった。けれどもバラで買うと 10円のところが,100本まとめて買うと 600円とのお店の方のお話でござったので,思い切って100本入りに挑戦したでござる。

このように,たくさん使用するであろう定番のパーツはまとめ買いするとお安くなるということを知ったでござる。

そればかりか,半導体のお店や,昨日確かブレッドボードや基板を買ったお店では,一度に数千円の買い物をしたので,合計金額の 2~3百円や数十円の端数は値引きするという,大変ありがたいサービスをして下さったのでござる。

昔名古屋のパーツ屋さんでもそういう売り方をしてもらったような記憶がぼんやりとよみがえったでござる。

他には,小さいブレッドボードが欲しかったのでござるが,めぼしい店を覗いても見当たらなかったのが残念でござった。拙者が組む回路はどうせ小規模なので,小さいブレッドボードがふさわしい気がするのでござる。小さい方が持ち運びにも便利でござるし,コンパクトさがなんだかかわいらしいので,やはりぜひとも数枚手元に置きたいものでござる。

家に帰って,さて今日はどんな回路を試そうかとホクホクしながら,『カセット・ゲーム・クラフト』の一番最初に載っているピンポンゲームにしようと必要なパーツを買ってきたものの中から選り分ける作業を終えたのち,不注意で猫に左手の手のひらの親指付け根付近を思いっきり引っかかれてしまい,推定全治3週間の不名誉の負傷をしたため,今日の実験は中止と相成ったでござる。2時間近く血が固まらないのに辟易いたしたでござるが,それは傷の深さゆえか,はたまた拙者の血液になにか不調があるのかは定かではござりませぬ。それとも,絆創膏などで覆わずにむき出しにしっぱなしという処置がよくなかったのでござろうか。

左手負傷のためブログは手短に済ませようと思っていた所存でござるが,ついいつもの調子で長々と書き綴ってしまったでござる。買い物ばかりをしていてもらちが明かないので,しばらくは アキバへ Go! するのは控える予定でおじゃる。じゃなかった,ござる。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

聖地アキバに降臨。

2013-02-18 23:59:02 | 工作・実習
傘をささずとも短距離の移動なら我慢できる程度の雨の中,聖地アキバへ巡礼の旅に出た。

予算は何の根拠もなしにとりあえず2万円と定めたのだが,途中で補充したのも含めて4万円近く持っていたはずの所持金が,アキバを去る時には五円玉が一枚しか残っていなかった。

先に寄った新宿で2万円の買い物をしたので,ほぼ予定通りの2万円をアキバで消費したことになる。何にそんな大金を投じたかといえば,それはもちろん,趣味のグッズを大人買いしたのである。

ただし,実際には,本当に大人買いする気でいたグッズ,もとい,パーツのほとんどはは予算が尽きた頃に買う順番になったため,実行できなかった。

というわけで,一応,アキバには3回は行くだろうと漠然と予想していたうち,1回目は当初の目的の半分くらいしか達成できなかったことになる。早いうちにツアー第2回を実施しなければならない。

今回の買い物で最も値が張ったのは,サンハヤトのブレッドボードである。大は小を兼ねるという考えにたって,3,120円で売られていた大きいボードにした。あわせて長いジャンパ線10本組と,短いのがたくさん入っているものを買った。

次に来るのは,とある本で紹介されていたのでつい買ってしまった goot の温度調節機能付き(380℃)半田コテと,たぶんそれに使えるはずの専用コテ台で,それぞれ 3,070円と 1,480円であった。

その次は,去年の梅雨頃からずっと欲しかった太陽電池パネルで,1,800円のそこそこ面積が広いものである。先月末に某大手スーパーにもっと大きいパネルが外用の LED 自動照明のセットで売られているのを見かけて,そのうち買おうと思っていたのだが,先日改めて値段を確認したら5千円近くもするので断念し,その代わりに購入した。夏が近づいたら発電効率を調べる簡単な実験をしてみようと思っている。

同じ 1,800円という値段がかかったのは,1S1588 という,電子工作でよくお目にかかるシリコンダイオードの200本入りである。これぞまさしく大人買いであろう。なんだかんだと消費しそうだったので,矢も楯もたまらず購入した。

今回買いそびれてしまったのは,抵抗とコンデンサという必需品と,これも大量に消費する予定の 2SC1815 というトランジスタ,あとは主にデジタル IC である。2SC1815 は,あるお店で確か100個で1,900円ほどで売っていたような気がするので,今度行ったときに買おうかどうか悩んでいるところである。子供の時にはそんな大量に買うことなど夢のまた夢であったが,今さらながら大人になっんだなぁとしみじみ思う。

必要な数値の抵抗とコンデンサを十分に揃えられなかったのは残念であった。問題はそれだけではなく,新しい電池を買うお金すら残さなかったのは悩みの種であった。

家に帰ってせっかくのブレッドボードでさて回路を組んで遊ぼうというときに,パーツが足りないだけではなく電源もないでは全く話にならない。しかし,こういう工学系のホビーのだいご味は,知恵を絞ってありあわせのものでなんとかするというところである。

僕が抵抗やコンデンサを後回しにしてしまったのは,昔買ったパーツがいくつか残っていたからである。そうした在庫をきちんと確認せずに買い物に行ったのは失敗だったが,じっくり在庫を調べる時間が惜しかったので,とにかくアキバに繰り出そうというのが今回の真の目的であった。僕は出不精なので,ぐずぐずしているといつまでたっても出かけられないのである。だから,とにかく一度行くことに意義があった。

家に帰って,あちこちに転がっている使用済みの電池の中に,未使用らしき単3アルカリ電池が2本混じっているのを発見した。保証期限は2007年となっているから,いったいいつ買った電池かわからないが,これもずっと使わずにいたテスターについている電池チェック機能で調べてみると,ギリギリ "Good" のレンジに入っていたので,直列につなげば十分 LED を光らせられそうだとわかった。

一番最初にブレッドボードで組んだのは,3Vの電源で LED を1個光らせるだけのテストのようなものであった。ちゃんと光ったときは嬉しかった。

その次に組んだ本格的な回路は,最近ちょっとかじった無安定マルチバイブレータで2つの LED を交互にチカチカ点滅させる回路である。近所の図書館に置いてあったある本の回路を書き写したメモを参照しながら,どうにか手元のパーツで組んでみた。元の回路では 47 μF の電解コンデンサを2つ使用していたが,手元には1つしかなかったので,5個くらいあった 10μF で代用することにした。そうすると発信周波数が変わってしまうので,コンデンサにつなげる抵抗の値を大きいものに変更した。所持金が残り125円というときに,1本10円で売られていた金属皮膜抵抗 (1/4W) を,100Ω,1kΩ,10kΩ,100kΩ,1MΩそれぞれ2本ずつ買っておいたので,抵抗値の変更はかなり融通が利く状況であった。これらの抵抗は大量に使う見込みなので本当はもっとたくさん買うつもりであったが,最後の力を振り絞って買えるだけ買っておいたの正解だった。

初めは手元にあった3色LEDを2通りの色で交互に光らせるというのを目論んでいたが,期待通りには点滅してくれなかったので,素直に2個のLEDを光らせることにした。その結果,期待通り点滅した時はほっとした。素子が全部で10点しかない極めて小規模な回路であるものの,回路図を見て配線を考えながら部品を配置し,ジャンパ線をつないでいく作業はなかなか頭の体操になる。やり直しを含め,一時間は優にかかった。

その後,カバンを漁ったら100円出てきたので,近所の100円ショップでアルカリ単3の4本パックを購入し,6V電源用に抵抗の値を変更して,これもだいぶ前に購入して使わずじまいだった高輝度青色LEDを点滅させてみた。規格は2.6Vで20mAとのことだったので,1kΩとつないでみたところ,LEDの両端電圧は2.4Vくらいで 4mAちょっとの電流が流れており,発光部をまともに見るとまぶしくて見ていられないほどに明るく点滅した。

これでひとまず気が済んだので,電子工作とは別件で実行したかった手作りモーターの製作にとりかかったのだが,それについてはまたいずれ書き記したいと思う。

ブレッドボードで次に試したいのは,ORゲート,ANDゲート,NOTゲート,そしてNANDゲートの動作をする回路たちである。果たしてうまくいくだろうか。不安に思う反面,非常に楽しみである。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

NANDゲートを設計する。

2013-02-17 23:55:08 | 工作・実習
昨年の今頃は,都内でも所によって(というか,僕が住んでいる地域では)雪が降ったらしい。

昨日は今年一年の冷え込みではないかと思う,冷たい風が強く吹き付ける寒い一日だったが,今日は風がそれほど強くない分,ましである。

僕が小・中学生の頃にお世話になった思い出深い本の一冊に,誠文堂新光社の『カセット・ケース・クラフト』がある。
当時発行されていた月刊誌『初歩のラジオ』に掲載されたシリーズから,好評だった記事をまとめたものである。
家にあるはずだが,どこにあるのか見当がつかないので,地域の公立図書館で借りることにした。
ところが,初めに行った図書館の書庫に見当たらないと言われ,仕方がないので,確実に所蔵されていることが判明した,さらにそこから徒歩で40分かかる市境の図書館に行った。
閉館ギリギリに到着という,かなりきわどい行程だった。

無事,当初の目的通り『カセット・ケース・クラフト』を手に入れ,さっそく中身を見てみたのだが,いくつかの点で記憶違いがあったことがわかった。

一つは,電源はたいてい6Vにしていたということである。このところ3Vの電源にこだわっていたのは『カセット・ケース・クラフト』に載っている作品がそうだったからと思い込んでいたのだが,大きな勘違いだった。
というわけで,3Vにこだわる理由が消滅したので,6V派に鞍替えしようと思っている。

もう一つは,デジタル回路において NAND ゲートが4つ入ったCMOS IC,4011 が多用されているという印象を抱いていたのだが,そうではなかった。もっとマニアックな感じの,シュミットトリガ NAND の 4093 が多用されていたのである。

この本を手に入れた今(もちろん,自分のものになったという意味ではなくて,借りて手元にあるというだけだが),当時主流だった 4093 などを,現在主流らしい 74HC シリーズの CMOS IC に置き換えた回路に(必要があるなら)修正して組み立てたいと思っている。ただ,これらの本の作品を作ろうと思ってコツコツためた古い CMOS IC を使って,昔ぜひとも作ってみたかった作品をまずは実際に組み立てることから始めるつもりである。

ところで,この本のタイトルにある『カセット・ケース』とは,今では別のメディアにとってかわられてしまった,昔懐かしいカセット・テープのケースのことである。そのケースを電子工作用のケースに流用して,片手に収まるような小さな電子おもちゃを作ろうというわけである。実用志向の作品が中心だが,ピンポンゲームやもぐらたたきといった,子供心を刺激する回路も充実しており,小・中学生のころの僕の電子工作への夢や憧れを大きく育んでくれた本であった。
この本に対する熱い思いや思い出はいずれ書き記したいと思う。


と,この記事のタイトルとはほとんど関係ない話から初めて,いいかげん前置きが長くなり過ぎたが,ここらで本題に入ろう。

電子回路シミュレータ TINA の存在を教えてくれた,小峯龍男氏の『改訂版 デジタル回路の「しくみ」と「基本」』(技術評論社)をパラパラめくって,現在特に強く興味を抱いている記述を漫然と眺めているのだが,pp.48--55 に,ダイオードを使った AND 回路と OR 回路,そしてトランジスタを使った NOT 回路が紹介されている。けれども残念ながら,NAND 回路までは紹介されていなかった(もしかすると付属 CD のサンプル回路にはあるのかもしれないが)。

とはいえ,AND ゲートの出力に NOT ゲートをつなぐか,あるいは2つの入力をどちらも NOT ゲートで論理値を反転させてから OR ゲートに入力するか,どちらの方法によっても NAND ゲートが構成できるので,そういう素直な発想に基づいて回路を組み,TINA-TI でシミュレート(回路中のスイッチの開閉を変え,その都度 DC解析を実行)してみた。

その結果,多少の紆余曲折はあったものの,無事,どちらの流儀でも NAND ゲートらしく動作する回路を作ることができた。

真の目標は T フリップフロップを構成し,それをいくつもつなぎ合わせることで2進カウンタを作ることである。『改訂版 デジタル回路の「しくみ」と「基本」』には基本的なフリップフロップたちが紹介されているものの,基本ゲートをどう組み合わせて T フリップフロップが作れるかについては述べられていない。各種フリップフロップの解説をよく読んで理解した上で自分で考えればよいかもしれないが,現在の僕の実力ではかなり時間がかかりそうな気がする。

そんなときは他の本をあたってみるのが定石であろう。僕の手元には,二十数年前に購入したと思われる逆瀬川皓一朗氏の『ディジタル回路の基礎と応用』(日本放送出版協会)という,お子ちゃま用ではなくて大人向けの参考書があるので,それを見てみた。この本の p.68 に,まさに僕が望んでいた,NAND ゲートを2つ用いた T フリップフロップの回路の実例が掲載されていた(実はスイッチのチャタリング防止回路の一例もそのページにある)。しかし,実に悩ましいことに,当時 CMOS と共によく使われていた TTL と呼ばれるタイプのICで組んだ回路であり,別のページにはちょっと違ったバージョンの CMOS の回路例があるものの,ちょっと改造して使ってみようという際にどうすればよいのか,やはりよくわからない。

それはともかく,NAND ゲートを2つ組み合わせた T フリップフロップの設計法がわかったので,トランジスタ4石を用いた T フリップフロップが作れそうな気がする。そしてこの T フリップフロップは双安定マルチバイブレータと非常によくにた動作をするものであるから,もしかするとトランジスタは半分の2石で済むのかもしれないが,それについてはおいおい調べることにしよう。

ぼちぼちアキバに繰り出すべき時が近づいているようだ。というか,もう我慢できないので,ともかく一度行って来ようっと。そうすれば気分もちょっとは落ち着くことだろう。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

カウンタの使い道。

2013-02-17 13:48:03 | 工作・実習
日本語プログラミング言語『なでしこ』で超シンプルなカウンタが作れてしまったので,わざわざ電子工作としてハードで実現する必要がなくなってしまった。

そのため,カウンタを作るための動機がなくなるところであったが,少し異なる方向に話を発展させることにした。

もともと2進数で数を表示するという,これまたシンプルなカウンタを作るつもりだったが,いっそのこと n 進カウンタを作ることにしてはどうかと思ったのである。

発端は集計のためにカウンタが欲しいということだったのだが,n 進カウンタに至っては本気で数をカウントしたいわけではなく,n 進法を教える際の教材として使用しようと目論んでいるのである。

実際に僕自身が誰かに n 進法を教える予定があるわけではないが,このように目的を設定すると,ちょっとやる気が出てくる。

もしうまく作れたら,人に見せた時に単なるカウンタを見せた時よりも面白がってくれそうである。

十進BASICや『なでしこ』でも類似のカウンタをソフトとして作ってみようと思うが,ともかくどのような機能とインターフェイスを持ったものにするかの仕様が肝心である。

デジタルICで実現するには,シフトレジスタを使うのが手っ取り早そうである。

しかし,n 進数の各桁を何でどう表示したものか。あれ,結構難しいぞ,これ。

できれば16進モードも実装したい。

7セグメントLEDを使った場合,「十」に相当する数字 A の表示は問題ないが,「十一」を表す数字 B を表現しようと思うと困ってしまう。大文字の B は数字の 8 と同じになる。小文字の b にしたら,数字の 6 と紛らわしい。
「十二」の C は大文字でも小文字でもいけるだろう。「十三」の D は小文字の d にすればいいし,「十四」の E と「十五」の F も問題ない。

というわけで,数字の 6 と小文字の b の区別をつけることにすれば,なんとかなりそうではある。

ちなみに,今年の干支である「巳」も7セグメントLEDで表示できるということに気づいた(右下のハネは割愛するとして,だが)。「巳」の文字が流れたりあちこちで点滅したりする楽しいディスプレイを作ったら面白そうだなぁ。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

カウンタが欲しい。

2013-02-15 23:59:36 | 工作・実習
近々試みたい作業の一つは,100人ほどのデータからある統計を取ることである。
そのために,人数を数えるカウンタが欲しい。

もっとも手っ取り早いのは,「正」の字を書いて人数を数える方法である。

しかし,そうではなくて,カウンタを何らかの方法で作りたい気がした。

このところ関心がぶり返している電子工作の一環として電子カウンタを作るということも考えた。

実は,小・中学生のころ,世の中は電子工作ブームで,僕はしょっちゅうパーツ屋に電子部品を買いに行っていた。しかし,実際に組み立てた回路は数えるほどしかない。

そのため,なんとなく作りたいなぁという思いだけでつい買ってしまった未使用のパーツがたくさん残っている。数日前に取り出してみたら,導電スポンジに刺さってるCMOS ICは,なんと54個もあった。

どうやらその中には 12 bit カウンタも入っていた。扱うデータは100人ちょっとの数だから,7 bit もあれば十分事足りる。実は 7 bit カウンタのCMOS ICも存在するのだが,僕のコレクションには入っていないようだった。

カウンタを自作するといっても,個数を表示する7個のLEDが押しボタンを一回押すごとに点いたり消え,表示が2進数なので10進数に直すには自分で計算するという,極めて素朴なものを想定している。

IC コレクションの中には2進数を10進数に変換するデコーダやら,7セグメントLEDという,デジタルな数字を表示する素子を制御するためのものもあるようだが,そういったことにはこだわらないことにした。

そんな素朴な機能しか持たない回路であっても,いざ自分で考えようとするとよくわからない。最大の難関はスイッチのチャタリング防止回路をどう組むかである。

ここでいうスイッチは機械スイッチであり,金属の接点が触れたり離れたりすることで導通状態が変わるものである。こうした機械スイッチは,接点がばたついて瞬間的に ON-OFF を繰り返すことがある。そうすると,スイッチ・ボタンを一回押しただけなのに,もっとたくさんカウントされてしまう恐れがある。したがって,ボタンを一回押したら信号が一回だけカウンタに送られるようにする工夫が必要となる。

チャタリング防止回路はデジタル回路について解説している本に載っているが,問題は,回路に使用されている抵抗値をどう設定するかである。電源電圧が5Vの場合の回路が本に載っていたとして,電池2本の3Vで動くように修正するにはどうすればよいかが,僕にはまださっぱりわからないのである。ダメもとで作ってみても良いが,期待通りに動かない公算が強いので,やる気になれない。

こうした事情で,手元のICコレクションは依然宝の持ち腐れ状態のままである。


電子工作でカウンタを自作するのは僕にはまだ無理だが,代わりに電子回路シミュレータで回路を組んでシミュレートしてはどうかという考えが浮かんだ。

ところが,そこには思いがけない落とし穴があったのである。

まず,有名な LTspice というフリーの強力なシミュレータがあるのだが,どうも標準ではデジタル回路はサポートしていないようである。

他に TINA-TI というものもあるが,こちらもデジタル回路をサポートしていない。とある本の付録の CD に収録されている Book 版というのはデジタル回路やリアルタイムシミュレーションがある程度使えるらしいので,それを手に入れる必要がある。

そういうわけで,現在の僕のPC環境では無理だということがわかった。これにはガッカリであった。

しかし,これらの優秀なシミュレータはトランジスタ回路ならばシミュレートできる。ならば,いっそのことカウンタをICではなくトランジスタのみで設計してはどうかという考えも浮かんだ。それはそれで非常にチャレンジングな面白いテーマだとは思うが,チャタリング防止回路の設計よりもハードルが高い。ただ,なぜ最近電子工作熱がぶり返してきたか,その理由を忘れかけていたが,数週間前に抱いていた野望は,デジタル回路の各種ゲートをトランジスタ回路で実現するというものだったことを思い出した。だから,この路線はこの春休みに追究したい主要テーマに沿っている。

カウンタはフリップフロップと呼ばれる回路を用いて作られる。そのフリップフロップは NAND ゲートの組み合わせで作れるらしい。ならば NAND ゲートの機能を持つトランジスタ回路を作ればよいのではないか。しかし,悲しいかな,トランジスタの動作原理もいまひとつわかっていないので,実際にどうすればよいかわからない。試しにトランジスタ2石の回路を設計して TINA-TI でシミュレートしてみたところ,NAND ではなくて NOR ゲートの動作をした。シミュレーションをして回路のいろいろな節点の電圧も調べてみたが,想定していたのと全く異なる結果となり,正直戸惑っている。

なぜうまくいかないのかは当然自分で分析して解決しなければならない。その魅力的なパズルに取り組むのは来週にしようかと考えている。

また,そもそもトランジスタ2石で組む双安定マルチバイブレータという回路がフリップフロップそのものだということを『絵とき トランジスタ回路』という本で学んだ。しかしその本に載っている回路は,負レベルのトリガ・パルスを入力するものなので,それを3Vの正電源だけの回路に改造したいという野望が首をもたげてしまった。それが可能かどうかなどは,双安定マルチバイブレータの動作原理をしっかりと理解する必要があり,これも腰を据えて取り組むべき課題である。


結局,今しばらくは電子回路でカウンタを作ることができないという結論に至った。


カウンタが作れないからといって当初の集計を取るという作業をいつまでも先延ばしにするわけにはいかない。そこで,保険として,カウンタのプログラムを組んではどうかと考えた。しかし,BASIC言語をほんのちょっとたしなむ程度であって,僕のプログラミング技能はほとんど皆無なので,これはこれで僕にとってはハードルが高い。しかし,あてはあった。

以前何度かお世話になった日本語プログラミング言語『なでしこ』の存在を思い出したのである。そういえば,一年前にもなでしこで簡単なカウントダウンタイマーを作ったことを思い出した。僕はつくづく一年周期で同じようなことを繰り返す性質らしい。

どんなカウンタを作るか。ボタンをクリックしたら,表示されている数値が一つ増えるという,極めてシンプルなもので十分である。さて,ではそのボタンや数値はどういう命令で表示させればよいのだろうか。

なでしこには詳しいコマンドレファレンスもついているが,かなり膨大な内容であり,僕のような素人が自分にとって必要な機能だけを探すというのは無理がある。そこで,なでしこのサンプルプログラムから学ぶことにして,サンプルプログラムがネットに落ちていないかググってみた。そうして調べた結果,次のようなソースコードに至った。

--- ソースコード開始 ---
母艦のタイトルは「カウンター」。母艦の高さは、250。母艦の幅は、300。
結果とはラベル。そのXは100。そのYは50。その文字サイズは50。
人数は0
結果は0
追加ボタンとはボタン。そのWは80。そのHは40。その文字サイズは20。そのXは200。そのYは150。そのクリックした時は~
人数=人数+1
結果=人数
リセットボタンとはボタン。そのXは200。そのYは10。そのクリックした時は~
結果=0
人数=0
--- ソースコード終了 ---

母艦というのは,カウンタソフトのウィンドウのことである。そのウィンドウのタイトルや大きさを1行目で指定している。
人数や結果というのは変数名である。ラベルというのはウィンドウ内でテキストを表示する部品である。ここでは,そのテキストのデータはカウントした数値である。
ウィンドウ内に追加ボタンとリセットボタンを配置した。追加ボタンを一回押すとカウンタが+1される。リセットボタンを押すと表示が 0 にリセットされる。

『なでしこ』の開発者であるクジラ飛行机氏が web 上で「日本語で10行プログラミング」という非常に役立つ記事(以前も,また今回も大いに参考にさせていただいた)を連載されており,それを真似て無理やり10行に収めてみた。実質的には1行目と3行目,4行目は省いてもほぼ支障なく作動するが,変数の初期値を設定する3行目と4行目はあった方がよいと思う。これらを省いた場合は,最初にリセットボタンでリセットするという手間をかければ全く支障なく動くはずである。


というわけで,実際の集計作業に取り掛かる準備は整った。しかし,このプログラムで作業をしてしまうと,電子回路でカウンタを作るというモチベーションが失われてしまう。

どうしたものか。

来週中には決着をつけねばなるまい。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

強がり。その弐

2013-02-14 23:24:44 | 爺ネタ
今日はバレンタインデーだね。

チョコ?ああ,もちろんもらったよ。

え?誰にもらったかって?

うーん,ちょっと日本語では言い表しにくいから,英語で言うね。

Nobody gave me any gifts today.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする