きょうのかんぱぱ

デジモノが大好きなかんぱぱの日記です。

タグ「マイコン」が付けられているもの


Arduino用のLCDシールドを作る

  • 投稿日:
  • by
  • Category:

Make: Tokyo Meeting 04で、スイッチサイエンスさんから購入したProto sheld v.4Arduinoシールド用ピンソケットのセットを使って、ArduinoのLCDシールドを作ってみました。
これまでは、ブレッドボード上に組んでいましたが、今後もよく使うと思うのできちんとしたものにしました。LCDは秋月の小型LCDです。

lcd_shield.jpg

LCDシールドは表示が見えるように一番上に載せることになるので、リセットスイッチがあるのは便利です。
バックライトはショートピンで点灯/消灯が選択できるようにしました。
Arduinoとの接続はピンヘッダからジャンパピンでD2からD7に接続していますが、必要があればジャンパピンを外して、メスーオスのケーブルで他のデジタルポートに接続できるようにしています。
とりあえずLM73をつないで温度計にしました。快調に稼働しています。

エレキジャック基板プレゼントに当選しました

エレキジャックの基板プレゼントにまた当選してしまいました。忘れたころに届いたのでびっくり。
ただこの基板自体はそんなに難しいパターンではなく、ユニバーサル基板でも十分組める回路なのですが、右下に小さくあるPepperというフィジカルコンピューテイングのプラットホームの基板については興味があるので、パーツをそろえて作ってみたいと思います。
Pepperの記事はエレキジャックのページにあるのでそちらをご覧ください。

ej_no14_pcb.jpg


学研の4ビットマイコン GMC-4 で遊ぶ

一通りのサンプルプログラムをGMC-4で試したところで、ゼロからプログラムを作ってみました。
とりあえず7個のLEDを順番に光らせてみることにします。
慣れている80系とはニモニックが異なりますが、命令コードが少なくレジスタ等はやや80系ぽいところもあり、そんなに難しくはありません。
ハンドアセンブルですから、ここはやはり紙の上で考えてみます。

gmc4_1stpgm.jpg

コードとしては以下のようになりました。(自分がわかるように書いていますので、雑誌での書き方とは少し異なるかも・・)

CAL RSTO
L1: TIA 9
L2: TIY 0
CAL SETR
CAL TIMR
CAL RSTR
AIY 1
CIY 7
JUMP L2
JUMP L1

これを機械語に落とすと、

E 0 8 9 A 0 E 1 E C E 2 B 1 D 7 F 0 6 F 0 4

となります。

実行してみると一発で動作しました。LEDの右側から左側に1つずつLEDの光が流れていきます。

ちょっと遅いかなと思ったので、TIA 9 を TIA 2に変更して少し速くしました。

E 0 8 2 A 0 E 1 E C E 2 B 1 D 7 F 0 6 F 0 4

あとは音をつけたりとか、同時に7セグメントLEDも光らすようにするとか、いろいろ拡張してみたいと思います。

久しぶりにTK-85で遊ぶ

  • 投稿日:
  • by
  • Category:

学研の4ビットマイコンに触発されて、NEC TK-85を久々に引っぱりだしてきました。
付属品を確認したところ、マニュアルが無く、基板を固定するためのゴム足のネジが一部紛失、電源端子のネジが紛失という状態でした。
とりあえずゴム足のネジは適当なものを見繕いました。電源端子のネジも普通のネジで問題無さそうなのでそれで代用。マニュアルはあちこちのWebを探してみましたが、ヤフオクでも売っておらず、TK-85について取り上げられているWebぐらいしか資料がないようです。
まずは、ゴム足を取り付けて、基板を空に浮かせます。次に電源端子に愛用の秋月の超小型スイッチングACアダプタ(5V 2A)をつなぎました。

tk85_2.jpg

8個の7セグメントLEDに0が表示され、とりあえずは動作しているようです。

Webで見つけたサンプルプログラムを入力しましたが、さすがに古いせいかキーボードのチャタリングを拾ってしまうようで、1回のキー操作で、アドレスが2つも3つも進んでしまい、慎重に入力する必要がありました。

tk85_1.jpg

電源端子はやはりきちんと直しておこうと、マルツパーツ館で探したところ同じ仕様と思われるもの(サトーパーツ T-16)がありました。

tk85_terminal2.jpg

早速購入して交換しておきました。

tk85_terminal3.jpg

キーボードのチャタリングはなんとかしたいところですが、とりあえずはこのままで。
もう少し遊んでみたいのですが、何せマニュアルが無く、回路図などもないので、もしマニュアルをお持ちの方が見ていましたら、コメントください。
ちなみにTK-80の本があるようなので、それは注文しておきました。確かコンパチなので情報が使えるかなと。これも楽しみ。

学研の4ビットマイコンを組み立てる

大人の科学マガジン Vol.24の付録の4ビットマイコン(GMC-4)を組み立てました。
付録の内容はこんな感じです。

gmc4_parts.jpg

組み立てといってもプラスチック製の台座にネジで固定して、入力キーのシールを貼るだけなのでものの5分で終わります。
完成したものがこちら。電源投入直後の写真ですが、基板の上に並んでいる7つのLEDが消灯し、7セグメントLEDには「F」と表示されています。これは0番地の内容がFだということを示しています。

gmc4.jpg

ついでに、TK-85との記念写真はこちら。大きさの違いが一目瞭然。

gmc4_tk85.jpg

サンプルプログラムが掲載されていますが、どれも楽しいものばかりでした。
久しぶりに雑誌に載っている16進コードを打ち込みましたが、30年ぶりぐらいかもしれません。

ArduinoでWebサーバを動かす

  • 投稿日:
  • by
  • Category:

Arduinoのイーサーネットシールドスイッチサイエンスさんで購入しました。
スイッチサイエンスさんは価格も安くいつも迅速に発送していただけるので感謝しています。
早速、Arduinoに接続してみました。写真のように親亀の上に子亀が乗るようなスタック構造になります。

arduino_ether1.jpg

スケッチはサンプルにあるLibrary-EthernetのWebServerを修正して使います。
このサンプルスケッチの行数はコメント込みで60行程度しかありません。削ればもっと短くできます。かなりコンパクトなものですが、十分実用的に使えるものです。
自分のArduinoで動かすためにはスケッチを2箇所修正する必要があります。


  1. MACアドレスを指定する。(スイッチサイエンスさんではMACアドレスがついてきます。)

  2. IPアドレスを指定する。(これは自宅ネットワークに合わせます。)


あとは、Arduinoにアップロードして、指定したIPアドレスをWebブラウザで表示すると、アナログポートの値が表示されます。

arduino_ether2.jpg

このようにWebサーバとしての骨組みがすでにできているので、あとは表示したい情報をお好みで変えるだけです。
サンプルにはChatServerとかもありましたので、あとで実験してみたいと思います。

eJackino miniでLCD温度計をつくる

  • 投稿日:
  • by
  • Category:

Arduino互換のeJackino miniを組み立てました。部品数も少ないのですぐ完成しました。

ejackino_mini.jpg

ATmega168はeJackinoで動いているものを抜いて、そのままeJackino miniに差しました。
eJackinoではLCD温度計が動いていましたが、そのスケッチを書いたマイコンをそのまま使いましたので、eJackino miniで同じ回路を組んでみました。

ejackino_mini_lm73.jpg

すべてブレッドボードに収まるので思った以上に使いやすかったです。電源は秋月の5V電源アダプタをつなぎました。

eJackinoでLCD表示温度計をつくる

  • 投稿日:
  • by
  • Category:

eJackinoからLCDに表示ができるようになったので、何か表示させるものはないかなとジャンク箱を探していたら、エレキジャックの付録基板でLM73という温度センサーが目に留まりました。
arduinoにLM73を接続している人はいないかなぁと検索したところ、以下の記事がみつかりました。

なんと、このかたもeJackino基板が当選したようです。ちょっとびっくり。
早速参考にして、ソースを一部書き換えて、LCDに温度をリアルタイムに表示するようにしてみました。

eJackino_lm73.jpg

見事にLCD表示の温度計のできあがりです。LCD表示できるようになってから数時間後のことです。
本当にお手軽にいろんな実験ができますね。

eJackinoを組み立てて秋月のLCDにつなぐ

  • 投稿日:
  • by
  • Category:

当選したeJackino基板を組み立てるべく、足りないパーツを買いに秋葉原にいってきました。ほとんどのパーツは揃ったのですが肝心のAVRマイコン(ATMega168-20PU)が品切れで見つかりません。困っていたところにマルツパーツ館でArduinoのブートローダが書かれたATMega168が一つだけ残っていて、やや高かったのですが、しかたなくそれを買ってしまいました。(本当はブートローダの書き込みもやってみたかったけど)

ejackino2.jpg

揃ったパーツを並べてみました。LEDは手持ちのものが沢山あったので、どれにしようか悩んでしまいました。

ejackino1.jpg

組み立て自体は特に問題なかったのですが、LEDの極性が基板に印刷されていなかったので、十分確認しながら取り付けなければなりません。A/Kとか書いてあると安心ですね。

ejackino3.jpg

あとは、ピンソケットが曲がってしまいそうだったので、ピンヘッダをつけて手持ちのユニバーサル基板に差し込んだ状態でハンダ付けをしました。

ejackino4.jpg

完成したeJackinoです。

ejackino5.jpg

早速、MacのUSBハブに接続したところ、LEDがちかちか点滅し始めました。問題なく動作しているようです。
次にLEDを点滅させるスケッチをアップロードしたところ、なぜかうまくアップロードできません。アップロード中にTXのランプはちかちか点滅するですが、RXのランプが全く点滅しません。ATMega168からの応答がきていないように見えます。いろいろ調べてみたら、X4ジャンパーをショートするのをすっかり忘れていました。これではマイコンと通信ができるわけがありません。ジャンパーをショートしたところ正常にアップロードできました。

あとは手持ちのLCDを接続してみました。プログラムはスケッチのサンプルがありましたので、そのソースに書かれたピン配置で接続しました。

ejackino6.jpg

無事問題なく表示されました。この秋月のLCDモジュールはLEDバックライトで小さくて使いやすくておすすめです。

Arduino Duemilanoveを入手

  • 投稿日:
  • by
  • Category:

ちまたで話題のArduino Duemilanoveを購入しました。
さっそく、VAIO type Pにつないでテストプログラムを実行し、LEDの点滅まで確認しました。

arduino_1.jpg

これを使って模型のモーターを制御してみようかと思っています。

はじめてのHCS08

  • 投稿日:
  • by
  • Category:

Spyderも手に入ったことですので、HCS08を使って簡単な回路を作ってみました。
サンプルはエレキジャック No.8の特集です。ターゲットデバイスはエレキジャックの付録でついてきたMC9S08QG8CPBEです。ブレッドボードも付録でついてきましたのでこれを使います。
単純にLEDを点滅するだけの回路です。私の場合はホストはMacBook ProでParallel Desktopの上のWindows XPを使いました。
Spyderに付属しているCD-ROMから開発環境のCodeWarriorをWindows XPにインストールしたあとに、デモプログラムをターゲットデバイス用に書き換えます。回路はブレッドボードで組みました。こんな感じ。簡単すぎですが。

hcs08_led.jpg

ホストコンピュータとはコネクターを使ってUSB接続をします。

hcs08_led00.jpg

エレキジャックの記事では、EZコネクタなるものを作ってブレッドボードに接続するとありますが、私の場合、ブレッドボードから何度もコネクタが抜けてしまったので、ブレッドボード側もある程度の長さが取れるようにこんな感じのヘッダピンを作って安定させました。

ez_conn.jpg

MacBook ProのWindows XPでCodeWarriorを使ってコンパイルしたものをターゲットに送信します。写真だけでは動いているのがわからないので、動画もアップしました。

とりあえず動いていますね。プログラムの定数をいじると点滅速度を変えることができます。でも、さすがにこれだけでは物足りないなぁ。

Spyderを買ってみた

  • 投稿日:
  • by
  • Category:

少し前に買っていたエレキジャックNo.8を眺めていたら、HCS08というマイコンに興味があったので、Spyderという開発ツールを買ってきました。
お値段は4000円程度。こんな値段で開発ツール一式が揃うなんて良い世の中になったものです。
パッケージはこのような感じ。

spyder01.jpg

中身を開くとCD-ROMが1枚とUSBに接続するツールが1つ。

spyder02.jpg

USBに接続するコネクタです。

spyder03.jpg

さて、まずはエレキジャックのサンプルを組んでみましょうか。

警告とメッセージ