最近の記事 - RSS

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

単一モードで複数のチャンネルをA/D変換してみる、加速度センサー編。

仕事が忙しいので短め。

ソースはコチラ。 【09/2/10に修正】

RAM2KBとか少なすぎて、タイマーAを使うと容量オーバーするので先祖還りした。
それとA/Dの値が256段階(8ビットシフト)だと送信文字列が1文字ずつ増えるので、64段階(10ビットシフト)に減らした。

HのTiny系は増設も出来ないみたいだし…。
どうしましょ。SHシリーズの使用も考える。

続きを読む >>

スポンサーサイト

単一モードで複数のチャンネルをA/D変換してみる、赤外線センサー編。

H8/3664F(QFP)にはA/D変換のチャンネルが8チャンネルある。(DIP版は4チャンしかないっぽい)
しかしこれらに全部アクセスするためには、前回ボリュームを読むのに使ったスキャンモードでは不可能らしい。

スキャンモードは一度スタートさせるとクリアさせない限りずーっとスキャンし続ける。
チャンネルも、一応設定は出来るが同時には4チャンネル(ADDRA・ADDRB・ADDRC・ADDRD)の結果しか読めない。(多分)

それに比べて単一モードは、スタートさせると「一度だけ」変換を実行してクリアされる。
それと、チャンネル設定の幅が増えて、合計で8チャンネル使用可能になる。

必要な時に必要なタイミングで使えれば良いので、単一モードのほうが有用かな。
用途に応じて使い分けるんだろうけど…。

とりあえずソースはコチラ。

続きを読む >>

H8/3664FのSCIを利用してコンソールにA/D変換した値を表示する。

秋月で販売されているAKI-H8/3052F(3048F)用のマザーボードには各種外部機器(スイッチやらLCD)が簡単に接続できるようになっているが、AKI-H8/3664F用(Tiny)用のI/OボードにはLED2個とスイッチ一つしか搭載されていない。
LEDだけでは大したデバッグは出来ない。

一応、H8/3052FのマザーボードについていたLCDを駆動させることは出来るのだが、ポートを最低でも6個は占有してしまう。
ただでさえポートの少ない3664Fにこれはちょっと厳しいものがある。

ということで、今まで(3052F)は楽という理由でLCDばっかりをデバッグに用いて来たが、いよいよSCIを利用した方法も使っていきたいと思う。

ちなみに基本的にはモニター(RAM上で実行)で作っているので使用ソフトは「Hterm」とする。

今回はお手軽にヴォリューム抵抗の値を読んでみたいと思う。
ボリュームの両端に+5VとGND。
真ん中にPB0(AN0)を接続。

今回使用したソースはコチラ。

テストなので、タイマーも何も使わずとにかく送信できればいいや、というソース。
とりあえず、なんとかコンソールに表示されるようになった。
ad2sci_test_001.gif

続きを読む >>

ステッピングモーター駆動実験。

ドライバは届いていないが、ステッピングモーター(以下ステップモーター)を動かしてみたくてたまらない。

手元には2種類のステップモーターが。
stepmotortest_02.jpg
一つは秋月で購入した2相ユニポーラステップモーター。奥のヤツ。でかい。
もう一つは若松通商で購入した2相バイポーラーステップモーター。手前の回ってるやつ。
線が4本なので多分バイポーラーだと思う。
両方データシートは無い。

両方ともステップ角は7.5度。
マイクロマウスに搭載するには実用レベルではないが、安いので実験用に丁度良いかも。

とりあえず回った映像を恥ずかしげも無く公開。

続きを読む >>

H8/3664Fのモニター搭載。

例の如く、自力でモニタを組むわけでは無く「始める電子回路」というサイトのコンテンツ「3664F,3694Fで始めるH8」にある方法そのままですんなり実装。
なんだかんだ言いつつインターネットは偉大である。

しかし…特に追記することが無さ過ぎる…。

とりあえずLEDを点灯させてみるが、すんなり通った。
これもソースをどこも弄らずに掲載されている通りに行った。(I/OボードのLEDを使ったのでポートはP8-0に変更)

流石に2回目ともなると感動が薄い。
最初にH8/3052FでLEDの点滅を動画で公開したのがちょっと恥ずかしい。

しかし、RAMが2KBというのはちょっと厳しいかもしれない。
増設も考えるべきだが、ポートが激しく占有されそうだ…。

でも、この小ささでこれだけのことができるのは凄い。

もっとも、現在世に出回っているパソコンなどはこれらを凌駕する性能ではあるが、例えば身の回りにあるエアコンや全自動洗濯機など様々な家電製品はマイコンによって構築されている物が多い。
知らず知らずのうちに沢山お世話になっているマイコンを、自分の手で好きなように弄ぶ事が出来るのは至上の喜びである。

コンピューターや多機能ICなどが無かった時代、様々な回路を構築して道を切り開いた先人たちは本当に尊敬すべきである。

ドットマトリクス用Excelファイル。

2進数→16進数は原理が分かっていても、いちいち関数電卓を使って変換するのは面倒だ。

しかし、一見複雑怪奇に見える変換だが、慣れれば頭の中で簡単に変換出来る。
なぜなら、

2進数  16進数
0000 → 0
0001 → 1
0010 → 2
0011 → 3
0100 → 4
0101 → 5
0110 → 6
0111 → 7
1000 → 8
1001 → 9
1010 → a
1011 → b
1100 → c
1101 → d
1110 → e
1111 → f

という風にすればいいだけだからだ。
とは言ったものの、膨大なドットマトリクスのデータともなると終わりが見えない。

というわけで、Excelでドットマトリクスをデザインしつつ、16進数を吐き出してくれるものを作った。

8x8matrix_xls.jpg

上の8*8のマスに●(0以外の文字列)を入力すると、下の同じく8*8の表に2進数で値が入る。
行データを右側に、列データを下に16進数で表示する。

これで目的の16進数の列データなり行データをコピペすればそのまま使える、という寸法である。

ファイルはコチラ。

8x8matrix_配列表.xls

ちなみに BIN2HEX(2進数to16進数) 関数を使っているので、メニューの「ツール→アドイン」で「分析ツール」にチェックを入れないと動かないので注意。

レジスタのBYTE指定やシリアルについて。

実は、レジスタなどのビットの設定を全く理解していなかった。
例えば、

ITU0.TCR.BYTE=0x40;

もはやこれの 0x40 が何を意味するのかも分かっていなかった。
一応ドキュメントにはビット7~0までの機能が書かれているが、一体これがどうして 0x40 とかになるのか…といった具合である。

まぁ初歩の初歩なんだろうけど…覚書として記載しておく。

例えばITU.TCRの8ビットのレジスタで、ビット7~0はそれぞれ0と1の値を設定出来る。

これを全部1にしたい場合は左から 1111 1111 となるわけだが、これは見ての通り2進数である。
0x とついているのは16進数なので、要は2進数を16進数にしてやるだけだったのだ…。
これは恥ずかしい…。

ちなみに最初の 0x40 は2進数に直すと 0100 0000 である。

ちなみにWindows付属の電卓を関数電卓モードにすれば簡単に変換出来る。

これが分かれば、もうシリアルなんて怖いもの無し。
ドットマトリクスのドライバICのシリアル部分も意味不明のまま使っていたが、これで理解が深まった。

最高!

こんな事で喜べるのは多分今のうちだけだから大いに喜んでおこう。

H8/3664Fを購入。

マイクロマウスを作るにはAKI-H8/3052Fボードはでか過ぎる。
プリント基盤を自作、あるいは発注すれば小型に出来るがそんな技術や予算は無い。

というわけで、機能は劣るが3052より小さいH8/3664F(QFP) マイコンを試してみることにする。

まずなんといっても安い。
秋月でマザーボード(I/Oボード)と一緒に購入。

続きを読む >>

大分スパンが…。

記事に大分間が開いてしまった。
というのも、先日ドットマトリクスのFPC半田付けの話をしたが、どうやら独自規格らしく0.5mmピッチじゃなかった。
もしコネクターを購入していたら大変な事になる所だった…。

というわけで、きっと0.4mmだーと先走ってサンハヤト製のSOP IC変換基板をマルツパーツ館で購入。
…これも外れでした。っていうかノギス買おう…。

多分0.44mmとか0.46mmくらいなんだろうけど、そんな変換基盤は見つけられず…。
もう大人しくUEW(ポリウレタン銅線)を半田付けすることにする。
が、長丁場になりそうだし時間が無いので後回し。

話は変わって、ドットマトリクスの駆動を考えてみる。
普通は順当(?)に全部の線をマイコンに直接ドライブかシフトレジスタを使用するのだろう。
しかし、ポートの占有率が凄いことになるし駆動もめんどくさい!

続きを読む >>

はちゅね、かわいいかも…。

ちょっと時間が開いたので、前からやってみたかった事の一つをやってみる。

かなり今更感が漂っているけれど…。

【はちゅねにネギ振らせてみっくみっくにしてみた】

続きを読む >>


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。