タグ別アーカイブ: AVR

AVRISP MK II

atmel純正のAVRライター。

今まで、FT232RLの制御信号でソフトウェア的にSPIをエミュレーションして書き込みしていましたけど、速度的に耐えられなくなりまして……

当初、ATtiny13Aを相手にしているうちは1kbyte程度だったので気にならなかったんですけどね。

書き込みとベリファイで3分では済まなくなるくらいコードが肥大化してきていた。

さすがに専用ハード! ベリファイまで含めても3秒で終了します。(現在は3Kbyteちょっと)

電源は、AVRライターからではなく、自前で供給しないといけないというFAQレベルの失敗もやらかしましたけど、順調に動いていて大変満足しています。

秋月で購入ですが、3,200円とお手頃価格なので最初に揃えたい一品ですね。

マトリクスLEDのピン配列が無茶くちゃな件

写真では
01 02 03 04 05 06 07 08

16 15 14 13 12 11 10 9
なんですけど、

行5 行7 列2 列3 行8 列5 行6 行3

列8 列7 行2 列1 行4 列6 列4 行1

などというわけのわからなさ(苦笑)

配線を平面上で重ならない様にピンを割り当てた結果だというのはピンとLEDの間に線を引いてみてある程度理解出来ました。

でも、ここからプログラムに起こすには、またややこしいピン配列のLSI(ATmega328P)のことを考慮する必要がある。

LED 列1  列2  列3  列4 列5  列6 列7  列8
LSI端子 PB6  PC3 PC2 PD6 PC0 PD5 PD3 PD2

common
LED  行1  行2  行3  行4  行5 行6  行7 行8
LSI端子 PD7 PD4 PB1 PB7 PC5 PB2 PC4 PB2

上の表に基づいて信号を送れば良さげなんですけど、今回の安全回路を端折ってまでコンパクトに作りたいという都合で他のピンに影響を与えないように特定のピンを操作するのは難しそう。

(PPB = PPB | (1<

仮想ポートをメモリに作って、出力したピンの状態を記憶してビット操作するしかないようですね。。。

LEDの電流制限抵抗もPWMで電圧を落とすことにより端折りますのでCPUが暴走したらLEDが壊れるようなハードウェア構成になる予定。

AquesTalk pico

AquesTalk picoと言う音声合成LSI(まあ、AVRなんですけど)で遊んでみましたが、結構使えそう。でも、自然な発声を目指すなら、ボーカロイドの調教に準ずる手間がかかりそう。

(ここで、ソフトウェアによる音声合成に行かないのが私ですw)

AntiKaga Systemの自動応答の音声を作ろうと用意したのですが、間に合いませんでした。(苦笑)

多分、音声データの作成だけでも一日仕事になるんだろうな。。。

声優さんに頼んだ方がいいような気がしてきた。(苦笑)

発声の調整を取ろうと思うと、普段何気なく使っている日本語に、自分がこれほど注意を払わずに使っていたのかと驚かされます。

また、D/Aコンバーターを使っていると思ったら、なんと! PWMで電圧を作っているという。。。

変なところの端子つかっているな~っと思ったんですよ。
(ベースチップはATmega328P)