<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>かもめ日記</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/" />
   <link rel="self" type="application/atom+xml" href="http://www.mitsuki.no-ip.com/~seagull/diary/atom.xml" />
   <id>tag:www.mitsuki.no-ip.com,2004:/~seagull/diary//2</id>
   <updated>2008-09-27T16:12:50Z</updated>
   <subtitle>日々のとほほ記録</subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.1</generator>


<entry>
   <title>炭素皮膜抵抗でR=2Rラダーを適当にやったらどうなるのかやってみた</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000658.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.658</id>
   
   <published>2008-09-27T16:07:31Z</published>
   <updated>2008-09-27T16:12:50Z</updated>
   
   <summary>A/Dの中心電圧をずらすための分圧を手でボリューム回すのがめんどいので、 どうせ...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      <![CDATA[A/Dの中心電圧をずらすための分圧を手でボリューム回すのがめんどいので、
どうせ計測精度もたかが知れてるし、適当にR=2Rでやったらどうなるかと思ってやってみた。

抵抗は1Kと2Kの炭素皮膜。選別なし。

<span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://www.mitsuki.no-ip.com/~seagull/diary/2008/09/28/output.pdf">output.pdf</a></span>

まぁ、いくらなんでも話にならないという事が解った。ってか、なんで減るかなwwwなにか間違ってる？www

]]>
      
   </content>
</entry>

<entry>
   <title>tiny2313で負電源を作る</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000657.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.657</id>
   
   <published>2008-09-16T12:55:48Z</published>
   <updated>2008-09-16T13:11:38Z</updated>
   
   <summary>まぁ、なんの事はないチャージポンプなのだが。ためしに8bitタイマと高速PWMで...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="78" label="AVR" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      まぁ、なんの事はないチャージポンプなのだが。ためしに8bitタイマと高速PWMで4KHzくらいのパルス作ってやってみた。

チャージ電流を稼ぐ為にAVRから直接チャージしないで適当な素性不明のトランジスタを使ってスイッチしてみたのだが、
コンデンサ容量に10uF,47uF,100uFどれ使っても-3.6V程度しか出ない。
0.1uFでも試して見たいが、あいにくリード付の0.1uFは在庫が掃けてしまって無い。

むー。と悩んでふと気づいたが、整流に使ったショットキーダイオードの順方向の降下が1.4vもありやがったwww。
って事はいい感じで動いているって事なわけで、って事は元の電源にレギュレータ通す前の9V
をくれてやるとか、いっそ12VのACアダプタから入れてあげれば、買ったまま放置してある液晶を駆動するのに十分というわけだな。
（うそうそ、それなら9Vをもう一個用意してGND,-9V間に繋いだ方が早い)


      
   </content>
</entry>

<entry>
   <title>i2c-tiny-usb</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000656.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.656</id>
   
   <published>2008-09-15T11:24:09Z</published>
   <updated>2008-09-15T11:39:03Z</updated>
   
   <summary>注文しておいたtiny45が届いたので、I2C-tiny-USBを組み立ててみた...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="78" label="AVR" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      <![CDATA[注文しておいたtiny45が届いたので、I2C-tiny-USBを組み立ててみた。
tiny45は少ピンな割にflashのサイズが大きいので結構おもしろそうだね。

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.mitsuki.no-ip.com/~seagull/diary/2008/09/15/20080915154301.html" onclick="window.open('http://www.mitsuki.no-ip.com/~seagull/diary/2008/09/15/20080915154301.html','popup','width=320,height=240,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/09/15/20080915154301-thumb-256x192.jpg" width="256" height="192" alt="20080915154301.jpg" class="mt-image-none" style="" /></a></span>

高電圧ライタを持っていないので、NRSTを潰してしまうとファームをしくじった時に困るとの判断から、サイズが大きくなるのを覚悟でオシレータを使ってみた。
が、組み上げた後になって、20MHzのSMDのオシレータを持っていた事に気づきションボリ。

なにはともあれ、これでPCから手軽にI2C叩けるようになったのでいちいち全部の基板にUSBの口付ける必要がなくなったし、I2Cデバイスのデバッグも楽になる事だろう。


TODO
1. パイロットランプ付け忘れたので追加する。


]]>
      
   </content>
</entry>

<entry>
   <title>Mega88の実験基板</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000655.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.655</id>
   
   <published>2008-09-14T05:15:54Z</published>
   <updated>2008-09-14T05:32:57Z</updated>
   
   <summary>USI使ったI2CでSlave-&gt;Master方向がどうにもおかしいので気分転換...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="78" label="AVR" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      <![CDATA[USI使ったI2CでSlave->Master方向がどうにもおかしいので気分転換に半端になったMega88
で実験基板を作った。

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="20080914133343.jpg" src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/09/14/20080914133343.jpg" width="320" height="240" class="mt-image-none" style="" /></span>

発泡酒飲みながら思いつくままに適当にやってたら、E2PROMは乗っかるはFT232モジュールは乗っかるは、ややフリーダムな感じになってしまった、
しかも操作面とコネクタ面が途中で向き変わってしまってるし。


ジャンパピンは写真の位置でISP用、90度回転でSPIスレーブ用。要はpin5をRSTとSSの間で切り替えるもの。

ディップスイッチは

1. I2C-SCLプルアップ有効/無効
2. I2C-SDAプルアップ有効/無効
3. I2C-VCC接続,切断
4. FT232からの電源供給 ON/OFF

ピンコネクタはMCU側から

1. PORTC
2. PORTB
3. PORTD

横向いてるピンヘッダはUARTのGND,Rxd,Txd。
4x2ピンヘッダはI2C VCC,GND,SCL,SDA。

]]>
      
   </content>
</entry>

<entry>
   <title>tiny-logicscanner</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000654.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.654</id>
   
   <published>2008-09-10T07:47:12Z</published>
   <updated>2008-09-10T08:05:54Z</updated>
   
   <summary>ただピンを観測してUARTで送り返すだけなので、ロジアナなどとは呼べず、 「スキ...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      <![CDATA[ただピンを観測してUARTで送り返すだけなので、ロジアナなどとは呼べず、
「スキャナ」と呼ぶ事にしました。

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.mitsuki.no-ip.com/~seagull/diary/2008/09/10/20080909012038.html" onclick="window.open('http://www.mitsuki.no-ip.com/~seagull/diary/2008/09/10/20080909012038.html','popup','width=320,height=240,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/09/10/20080909012038-thumb-256x192.jpg" width="256" height="192" alt="20080909012038.jpg" class="mt-image-none" style="" /></a></span>

端子は左から
1.USART Rx
2.USART Tx
3.GND
4.VCC
5.NC
6..13.プローブ bit7..bit0
14.TGND

トリガ条件検出でLEDが光り、タクトスイッチで中断。

制御はすべてUARTから端末で行う。
        ?          Print this message.
        mXXXXXXXX  Set trigger mask.
        tXXXXXXXX  Set trigger value.
        eXXXXXXXX  Set enable channel.
        p          Print GPIO status.
        r          Run scanner

Run後、信号のエッジを記録しつづけ、キャンセルまたはバッファフルで結果をUSARTに戻す。
以下はI2CのSDA(bit0),SCL(bit1)を観測した結果。

        -------X  (0x01)  - 0xFF
        ------XX  (0x03)  - 0xFF  SCLHi中にSDAHi→Loなので開始条件
        ------X-  (0x02)  - 0x06
        --------  (0x00)  - 0xFF
        ------X-  (0x02)  - 0x06    0
        --------  (0x00)  - 0x06
        ------X-  (0x02)  - 0x05    0
        --------  (0x00)  - 0x01
        -------X  (0x01)  - 0x04
        ------XX  (0x03)  - 0x06    1
        -------X  (0x01)  - 0x01
        --------  (0x00)  - 0x04
        ------X-  (0x02)  - 0x06    0
        -------X  (0x01)  - 0x05
        ------XX  (0x03)  - 0x06    1
        -------X  (0x01)  - 0x06
        ------XX  (0x03)  - 0x05    1
        -------X  (0x01)  - 0x06
        ------XX  (0x03)  - 0x05    1
        -------X  (0x01)  - 0x01
        --------  (0x00)  - 0x05
        ------X-  (0x02)  - 0x05    0  0x2e | WRITE でスレーブアドレスは送信されてる
        --------  (0x00)  - 0x01
        -------X  (0x01)  - 0x05
        ------XX  (0x03)  - 0x05  スレーブがSDAをLoに引いてるはずなのになぜかNACK
        -------X  (0x01)  - 0x01
        --------  (0x00)  - 0xFF
        ------X-  (0x02)  - 0x06
        ------XX  (0x03)  - 0xFF SCLHi中にSDALo->Hiなので停止条件
        ------X-  (0x02)  - 0x06  ここでまた開始
        --------  (0x00)  - 0xFF
        ------X-  (0x02)  - 0x06
        --------  (0x00)  - 0x05
        ------X-  (0x02)  - 0x06
        -------X  (0x01)  - 0x05
        ------XX  (0x03)  - 0x06
        --------  (0x00)  - 0x05
        ------X-  (0x02)  - 0x06
        -------X  (0x01)  - 0x06
        ------XX  (0x03)  - 0x05
        -------X  (0x01)  - 0x06
        ------XX  (0x03)  - 0x05
        -------X  (0x01)  - 0x06
        ------XX  (0x03)  - 0x06
        -------X  (0x01)  - 0x05                                                                                                                        
        ------XX  (0x03)  - 0x06                                                                                                                        
        -------X  (0x01)  - 0x05                                                                                                                        
        ------XX  (0x03)  - 0x06                                                                                                                        
        -------X  (0x01)  - 0xFF       

スレーブもトレースしてACK返す処理に飛び込んで、
SDAのPORTを0に、DDRを1にしているのは確認済み。
つーか、USIDRも0にしてるからSDAがHiになる要因はソフト的には無いはず。

ACK返し終わったらオーバーフローに入ってきているのも確認しているのだが&#133;
Loに引ききれて無いか、DDRの設定方法でなにか勘違いしているのか。
SCLがLoでホールドされていなくてSDAの設定が間に合ってないのか。

]]>
      
   </content>
</entry>

<entry>
   <title>ロジックスキャナ</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000653.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.653</id>
   
   <published>2008-09-06T06:16:21Z</published>
   <updated>2008-09-06T16:07:44Z</updated>
   
   <summary>LCD制御してるほうのtiny2313はもうピンがいっぱいのなで、I2Cの線以外...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      LCD制御してるほうのtiny2313はもうピンがいっぱいのなで、I2Cの線以外にデバッグ手段が無いのだが、しかしI2Cのマスタ-&gt;スレーブへの送信はうまく行っているようなのだが、スレーブ-&gt;マスタがかなりおかしい。

つまり、デバッグ手段が無い。

そこでまずはI2C側のデバッグをしなくてはいけないわけだが、ロジアナなんて持ってないし、
液晶が動いていないという事は信号を表示する方法が無いわけで&#133;

というわけで、tiny231つかって、PORTBの状態を監視するのを作ってみた。
tiny2313はRAMが小さいが、エッジと同一レベルの継続時間だけを記録するようにすれば、
8チャンネル64エッジ分記録できた 。たぶん「無いより少しはまし」程度の役には立ってくれると思う。

こいつの制御はuart経由で行い、トリガのマスクと瞬間値を指定してRUNをかけると、
トリガーを検出して64エッジ検出するか、停止ボタンが押されるまで計測を行い、
結果をuartにダンプする。

ソースは後で。
      
   </content>
</entry>

<entry>
   <title>I2C-LCDデバッグ中</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000652.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.652</id>
   
   <published>2008-08-31T04:30:08Z</published>
   <updated>2008-08-31T05:00:56Z</updated>
   
   <summary>秋月の128x64液晶を買ってきたのだが、どうしてもマイコン側のピンが足りないの...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="78" label="AVR" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      <![CDATA[秋月の128x64液晶を買ってきたのだが、どうしてもマイコン側のピンが足りないので、
ビットレートを犠牲にしてI2C経由でコントロールする事にした。
うまく行ったら、他の低速ペリフェラルも全部I2Cにぶら下げてしまう予定。

で、そのデバッグ風景。
左にあるのがI2C-LCDコントローラ。右側のはこないだつくったMega644pにFORTH積んだ基板。



<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="20080831132607.jpg" src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/08/31/20080831132607.jpg" width="320" height="240" class="mt-image-none" style="" /></span>


右の基板にシリアルで入って、

       00 ( prescaler ) 92 ( bitrate ) +twi
       twi.start
       hex
       2e 1 lshift twi.tx
       twi.stop
       twi.scan

とかやればMega644側にファーム焼き直さなくてもデバッグできるのは便利っちゃー便利なんだが。

手元にI2Cが増えていく事が予想されるので、i2c-tiny-usb作っておいてPCからi2c-toolsでやった方がきっともっと楽なんだろうな。
問題はTiny45が秋月で売ってないから、代わりにもったいないけどMega88使うか、
さもなきゃマルツで高いTiny45買うかなんだが&#133;
あるいは、i2c-tiny-usbのファームをシェイプアップして、ダブついてるTiny2313で動かすか&#133;

あんまり、治具に時間かけたくないんだが、専用治具ってわけでもないからいっちょ作っておくか&#133;

---------------------------------

amforthが自己破壊しすぎ。別のインタプリタ探してこないとだめだな。
この際、手軽さ重視でBasicでもいいんだが。

]]>
      
   </content>
</entry>

<entry>
   <title>LCD2USBを組み立ててみた</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000651.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.651</id>
   
   <published>2008-08-29T14:29:15Z</published>
   <updated>2008-08-29T14:34:33Z</updated>
   
   <summary>LCD2USBを組み立ててみた。 Mega88を使って、ファームがうまく動いてく...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="78" label="AVR" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      <![CDATA[LCD2USBを組み立ててみた。

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="20080829230424.jpg" src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/08/29/20080829230424.jpg" width="320" height="240" class="mt-image-none" style="" /></span>

Mega88を使って、ファームがうまく動いてくれなかったのでパッチが必要だったが、
割とすぐに動いてくれた。よかった。

写真は、LCD4Linuxを使ってロードメータとFreeRAM,PPPロード,時計の
4つの情報を表示しているところ。

LCD4Linuxでボタンを使うのが良く解らなかったので今は機能が無いが、
設定を書けば使えるようになるはず。

TODO
=======

1. スタンド付パネルを作る
2. 配線面の保護と絶縁
3. ボタンを使えるようにする
4. UARTを引き出して、同時に使えるようにする

]]>
      
   </content>
</entry>

<entry>
   <title>amforth続き</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000650.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.650</id>
   
   <published>2008-08-26T11:21:32Z</published>
   <updated>2008-08-26T11:58:18Z</updated>
   
   <summary>IOポートの定義を作ったので、添付ライブラリからワードを登録していっている途中。...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      <![CDATA[IOポートの定義を作ったので、添付ライブラリからワードを登録していっている途中。

        > words
       .base calc-baudrate .res .( [undefined] nip tuck within? -misc ftgl fclr? fset? fclr fset bv flag: -flags fsm: >ram tuck i2@ perform wide _fsm_ cos sin sin0-360 sin0-90 sintab fm/mod sm/rem dabs ?negate ?dnegate dnegate u*/mod sqrt -math pin_low? pin_high? pin_input pin_output toggle low high portpin: __bitnames__ idump edump dump u0.r __dumper__ PINA DDRA PORTA PINB DDRB PORTB PINC DDRC PORTC PIND DDRD PORTD TIFR0 TIFR1 TIFR2 PCIFR EIFR EIMSK GPIOR0 EECR EEDR EEARL EEARH GTCCR TCCR0A TCCR0B TCNT0 OCR0A OCR0B GPIOR1 GPIOR2 SPCR SPSR SPDR ACSR OCDR SMCR MCUSR MCRCU SPMCSR SPL SPH SREG WDRCSR CLKPR PRR OSCCAL PCICR EICRA PCMSK0 PCMSK1 PCMSK2 TIMSK0 TIMSK1 TIMSK2 PCMSK3 ADCL ADCH ADCSRA ADCSRB ADMUX DIDR0 DIDR1 TCCR1A TCCR1B TCCR1C TCNT1L TCNT1H ICR1L ICR1H OCR1AL OCR1AH OCR1BL OCR1BH TCCR2A TCCR2B TCNT2 OCR2A OCR2B ASSR TWBR TWSR TWAR TWDR TWCR TWAMR UCSR0A UCSR0B UCSR0C UBBR0L UBRR0H UDR0 UCSR1A UCSR1B UCSR1C UBRR1L UBRR1H UDR1 _ioports_ TESTING } -> { ACTUAL-RESULTS ACTUAL-DEPTH ERROR EMPTY-STACK VERBOSE m+ 2! 2@ 2rot 2tuck 2nip 2rot 2swap 2over 2dup 2drop 2r> 2>r ms u.r ? >body true evaluate environment? aligned align restore-input save-input source-id ?stack ?pairs ?comp postpone to (to) value forget marker d2/ s>d up! up@ 0 1ms >< cmove> i! i@ unloop i sp! sp@ rp! rp@ +! rshift lshift 1- 1+ xor or and 2* 2/ invert um* um/mod m* + - log2 d< d> u> u< 0> 0< > < 0= = <> r@ >r r> rot drop over swap ?dup dup c@ c! ! @ e@ e! execute exit -int +int end-code code abort abort" [char] immediate recurse user constant variable [ ] ; :noname : does> create ?do leave +loop loop do again until repeat while begin then else if literal int! applturnkey >usart0 +usart0 baud0 tx0? tx0 rx0? rx0 is Rdefer Edefer words s" ." .s u. dinvert d- d+ d2* d>s j * defer@ defer! icompare find to value unused noop ver interpret depth rp0 sp sp0 cold pause quit place word /string source cscan parse number char refill accept cskip throw catch handler ' type count spaces space cr icount itype s, digit . sign #> #s # <# hold hld max min abs mod / negate u/mod */ /mod */mod turnkey heap edp bl hex decimal ['] , compile ( \ allot here head /key key? key emit? emit pad tibsize tib #tib >in cell+ cells base state f_cpu  ok
        > .res
        free FLASH cells       23999
        free RAM cells         3732
        used EEPROM cells      3023
        used data stack cells  0
        used return stack      10
        free return stack      70
        ok
        > 

フラッシュのフットプリントがだいぶでかいです。

あと、フロー制御もUARTの割り込み駆動もしていないので、
行ごとにレスポンス待つチャットのできる端末を使うか、付属のツールじゃないとコードが流し込めません。

常用するにはちと厳しいぞと。
]]>
      
   </content>
</entry>

<entry>
   <title>amforth</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000649.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.649</id>
   
   <published>2008-08-25T14:53:30Z</published>
   <updated>2008-08-25T15:06:57Z</updated>
   
   <summary>某Interface誌のColdFire基板に入ってたSilenCも少し触ってい...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="78" label="AVR" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      某Interface誌のColdFire基板に入ってたSilenCも少し触っているのだが。
やはり、対話環境があると少しだけ遊んだり実験してみたりするのに楽ちんだわ。

というわけで、AVRにもなんか無いかなと探していたのだが、
FocyはあんなのFORTHじゃないし、そもそも対話環境が無いから脱落。
ホストで書いてから送り込むんだったら、Cで書いた方がましじゃないか？

んでもって、amforthってのがあるのを見つけてmega644p用にイメージつくって入れてみた。

見た目は昔ながらのフツーのFORTHでなかなかよさそうなのだが。

1. スタックのアンダーフローをチェックしてないからうっかりするとどんどん変な事になっていく
2. ワードを定義するとかならずflashに書かれる。ってか、「,」を実行する度に書かれるから書き込み回数がえらいことになるのでは？
3. 残念ながらmega644p用のIOポートの定義が無いので、すぐにはIOを試せない。まぁ、自分で定義してもいいんだが。

どうせindirect-threadingになるんだし、実験用と考えると定義したワードはRAMにおいて、
ある程度動くのが解ったらまとめてflashに書くとかだとうれしいんだが。

やっぱmega88でやるか&#133;あっちなら壊れても安いし。


      
   </content>
</entry>

<entry>
   <title>まだまだ反省点</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000648.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.648</id>
   
   <published>2008-08-25T11:02:00Z</published>
   <updated>2008-08-25T11:22:47Z</updated>
   
   <summary>抜き挿ししながら色々試すための端子は上向きに、 挿しっぱなしの端子は横向きにした...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="78" label="AVR" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      

抜き挿ししながら色々試すための端子は上向きに、
挿しっぱなしの端子は横向きにしたほうが使いやすいと思っていたが、その通りだった。

でも、ケースとのクリアランスを考えてから作らないとダメだね。
DCジャックが、ケースよりかなり奥の方になってしまった。
あと、足をつけるならDCジャックは上下逆にして半田面につけた方が、
スペースが無駄にならなくてよいかも、


ISP端子のpin5(NRST)はNRESETに固定してしまわずに、
他のピンに割り振れるようにしておけば普通のSPI端子として使えるので、
後でデッドスペースにならずに済むかも。
これは修正可能なので後でピンソケットに引き出して見よう。

UART0,1とI2Cは良く使うから専用端子を引き出す。

コンパレータの入力ピンはアナログ側に引き出すべきだったかも、
でもそうするとデジタルの線がアナログピンのそばに寄ってしまうのが気にくわない。

IO引き出しのソケットはISP端子にぴったりつけてしまってもよかったし、
ISP端子ももっと基板の端にぴったりつけても問題なかった。
これも、入れるケースを先に決めておかなかったのが原因。




      
   </content>
</entry>

<entry>
   <title>この週末に作ったもの</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000647.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.647</id>
   
   <published>2008-08-24T09:58:52Z</published>
   <updated>2008-08-24T10:27:04Z</updated>
   
   <summary>まえに作った644pのテスト用ボードはピンの引き出しに普通のピンヘッダを使ってい...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      <![CDATA[まえに作った644pのテスト用ボードはピンの引き出しに普通のピンヘッダを使っていて、
ちと使い勝手が悪かったので、こんどはピンソケットにしてみた。

<img src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/08/24/20080824153017.jpg"
 />

下側にあるのは一緒に作ったスイッチx4,LEDx4が乗ったデバッグ用基板。
ブレッドボードに直接挿す足とリードの2wayで引き出して見た。

20x2のソケットなのでなにも考えずに全ピン引き出そうと思ったが。
意味ないので、2x9と2x10に切って、あまった処はGND4ピン VCC 2ピンを出してみた。

例によって失敗した処がある。電源用トグルスイッチの向きを間違えて、
はね上げるとOFFで下ろすとONになってしまった。
箱は逆向きに作ればいいか&#133;


--------

<img src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/08/24/20080824153057.jpg" />

ACアダプタと電池兼用にしたくて色々使い勝手のいい方法を考えていたが、
なにも考えずに電池にDCジャックつけるのが一番いいという結論になったのでこんなの作った。

今回は基板上にスイッチあるからいいけど、リードを切ってスイッチ挿入したほうがいいかもな。


--------

<img src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/08/24/20080824174249.jpg" />

7セグの配線は非常に面倒くさいってか、ピンアサインすぐ忘れる事が解ったので、
お決まりの回路でモジュールにしてみた。

今はマイコンだからソース電流で点灯できるからいいけど、アノード側にもトランジスタいれて
ドライブするようにした方がいいな。
あるいはそこのドライブ部分だけ別基板にして親亀子亀にしたほうがいいかな？

<img src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/08/24/20080824182132.jpg" />

作りかけの車速計もこんな感じですっきりしました。


---------




]]>
      
   </content>
</entry>

<entry>
   <title>昨日の回路</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000646.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.646</id>
   
   <published>2008-08-18T15:56:28Z</published>
   <updated>2008-08-18T16:12:35Z</updated>
   
   <summary>しかたないので、なんとなくデジタル車速計にしてみた。 コードも書いて動作確認した...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="78" label="AVR" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      しかたないので、なんとなくデジタル車速計にしてみた。

コードも書いて動作確認したので、あとは車速パルスの整形と保護の回路を作ればとりあえず普通の車速計として使えるはず。

ただそんだけじゃつまらないし、flashの容量も余ってもったいないのでなにか追加機能が欲しいところ。

  1) 加速度を見て、一定以上の加速をしているようであれば警告灯をつける
  2) LEDモジュールもう一個つけてタコもつけてみる
  3) 速度をUARTで送出して、もう一個の2313でSDカードに記録してみる
  4) Interface誌付録基板をつかって、現在ナビにつかってる液晶に表示してみる
  5) 普通にタコメータもつける

4は楽しそうだけど、あのマイコンってグラフ書いたりする能力ないんだよな。

      
   </content>
</entry>

<entry>
   <title>温度計をつくろうと思ったが</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000645.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.645</id>
   
   <published>2008-08-17T16:30:40Z</published>
   <updated>2008-08-17T16:36:13Z</updated>
   
   <summary>温度センサーが手に入ったので、温度計でもつくろうと思ってブレッドボードで面倒な7...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="78" label="AVR" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      <![CDATA[温度センサーが手に入ったので、温度計でもつくろうと思ってブレッドボードで面倒な7セグの配線をしたが&#133;

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="20080818010737.jpg" src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/08/18/20080818010737.jpg" width="240" height="320" class="mt-image-none" style="" /></span>

ここまで配線してから、TINY2313にはADCが無い事を思い出してションボリ。

  a) コンパレータ使ってADCも自分で作り込む
  b) MEGA88に載せ替える&#133;がMEGA88の在庫は残り一個&#133;
      つーか、ぜんぜん消費してない2313を使いたい訳で&#133;
  c) 温度計を諦めて別のものにする
  d) もう寝る

]]>
      
   </content>
</entry>

<entry>
   <title>AVRUSB実験用ボード</title>
   <link rel="alternate" type="text/html" href="http://www.mitsuki.no-ip.com/~seagull/diary/000644.html" />
   <id>tag:www.mitsuki.no-ip.com,2008:/~seagull/diary//2.644</id>
   
   <published>2008-08-16T12:46:17Z</published>
   <updated>2008-08-16T13:18:18Z</updated>
   
   <summary>ブレッドボードでAVRUSB使って遊ぶためのボードを作った。 とはいっても、  ...</summary>
   <author>
      <name></name>
      
   </author>
   
      <category term="HW/ガジェット" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="78" label="AVR" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="ja" xml:base="http://www.mitsuki.no-ip.com/~seagull/diary/">
      <![CDATA[ブレッドボードでAVRUSB使って遊ぶためのボードを作った。

とはいっても、
  a) USBミニBコネクタと データ線に3.3Vのツェナー
  b) 3.3Vレギュレータ
  c) 12MHzのクリスタル

を一枚にまとめて連結ピンつけただけだけど。

<img src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/08/16/20080815193317.jpg" />


あと、前に作ったusbtinyaspがうまく動いてくれないので、usbaspの予備機も作った&#133;
のはいいが、LEDの色を間違えてパイロットランプが黄色で、書き込み中ランプが緑になってしまった。

<img src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/08/16/20080814153448.jpg" />

<img src="http://www.mitsuki.no-ip.com/~seagull/diary/2008/08/16/20080814153512.jpg" />

仕方ないのでファームを変更して焼き直したら動作せず&#133;？？？

どうやらavrusbを手元でコンパイルするとかたっぱしからおかしいコードが出てくるらしい。
そりゃないよ。

]]>
      
   </content>
</entry>

</feed>
