<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://www6.atwiki.jp/fx_geek/">
    <title>マイコンを使った工作</title>
    <link>http://www6.atwiki.jp/fx_geek/</link>
    <description>マイコンを使った工作</description>

    <dc:language>ja</dc:language>
    <dc:date>2010-06-12T12:37:12+09:00</dc:date>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="http://www6.atwiki.jp/fx_geek/pages/60.html" />
                <rdf:li rdf:resource="http://www6.atwiki.jp/fx_geek/pages/64.html" />
                <rdf:li rdf:resource="http://www6.atwiki.jp/fx_geek/pages/63.html" />
                <rdf:li rdf:resource="http://www6.atwiki.jp/fx_geek/pages/57.html" />
                <rdf:li rdf:resource="http://www6.atwiki.jp/fx_geek/pages/24.html" />
                <rdf:li rdf:resource="http://www6.atwiki.jp/fx_geek/pages/62.html" />
                <rdf:li rdf:resource="http://www6.atwiki.jp/fx_geek/pages/61.html" />
                <rdf:li rdf:resource="http://www6.atwiki.jp/fx_geek/pages/2.html" />
                <rdf:li rdf:resource="http://www6.atwiki.jp/fx_geek/pages/56.html" />
                <rdf:li rdf:resource="http://www6.atwiki.jp/fx_geek/pages/50.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="http://www6.atwiki.jp/fx_geek/pages/60.html">
    <title>I2C7SEG</title>
    <link>http://www6.atwiki.jp/fx_geek/pages/60.html</link>
    <description>
      #hatena_star(h2)
*I2C-&gt;7seg LED Slave
**機能
7セグメントLEDをドライブするI2Cスレーブ。ATtiny2313使用。

**製作情報
- 回路図
- データシート
- プログラムリスト

**設計・製作のポイント
***ポイント
7セグメントLEDに対するドライブは Charlieplexing方式で行っている。マイコンに繋がる線は9本で、これで9桁の7セグメントLEDの点灯制御をしている。

**動作仕様
***コマンド解説
1byte コマンドで基本的なアクセスができるようなポリシーでコマンド体系を考えた。32種類のキャラクタセットとドットを、ホームポジションからセットする/自動位置送りでセットするコマンドを基本としている。32種のキャラクタセット以外をセットしたい場合には任意位置に任意の7セグメント設定を書き込む2-byteコマンドも用意した。
以下のファイルにコマンド一覧を示す。
#ref(i2c7seg_command_20090828.pdf)

***キャラクタセット
設定してある32種類のキャラクタセットを以下のファイルに示す。
#ref(i2c7seg_char_20090828.pdf)

**FAQ

**コメント
- 9桁をドライブするコードを入れ、テスト表示までできました。I2Cまわりはまだです。  -- Chuck  (2009-03-15 07:09:03)
- いちおうリリース版をアップ。ドキュメントはこれから書く。  -- Chuck  (2009-08-27 10:10:02)
- 補助単位に対応したキャラクタフォントを変更した版をリリース 20090828  -- Chuck  (2009-08-28 04:58:07)
- Charlieplexing≠マキシム方式  -- ｎ  (2010-06-11 22:48:58)
- http://www.piclist.com/techref/io/led/8x7s8pin.htm  -- ｎ  (2010-06-12 12:37:12)
#comment    </description>
    <dc:date>2010-06-12T12:37:12+09:00</dc:date>
  </item>
    <item rdf:about="http://www6.atwiki.jp/fx_geek/pages/64.html">
    <title>BBS-掲示板/2</title>
    <link>http://www6.atwiki.jp/fx_geek/pages/64.html</link>
    <description>
      *tiny2313　I2Cスレーブ  -- kuman &amp;size(80%){2010-06-04 15:20:47}

強引に解決しました。時間があればご覧下さい。


----
#comment    </description>
    <dc:date>2010-06-04T15:20:47+09:00</dc:date>
  </item>
    <item rdf:about="http://www6.atwiki.jp/fx_geek/pages/63.html">
    <title>BBS-掲示板/1</title>
    <link>http://www6.atwiki.jp/fx_geek/pages/63.html</link>
    <description>
      *tiny2313　I2Cスレーブについて教えていただきたいのですが。  -- kuman &amp;size(80%){2010-06-03 21:01:45}

お世話になります。　kumanです。

４桁７セグLED表示器をTWIスレーブで作りたいのですが、スキル不足で困っています。
お教え下さるようよろしくお願いします。
状況は下記に書いています。
http://www.geocities.jp/kuman2600/n15i2c.html#15


----
#comment    </description>
    <dc:date>2010-06-03T21:01:45+09:00</dc:date>
  </item>
    <item rdf:about="http://www6.atwiki.jp/fx_geek/pages/57.html">
    <title>I2CLCD</title>
    <link>http://www6.atwiki.jp/fx_geek/pages/57.html</link>
    <description>
      #hatena_star(h2)
*I2C-&gt;LCD Slave
**機能
キャラクタLCDをドライブするI2Cスレーブ。ATtiny2313使用。

**製作情報
- 回路図
- データシート
- プログラムリスト

**設計・製作のポイント
***ポイント

**動作仕様
***WRITE
|*コマンド|*機能|
|ESC &#039;L&#039; x y|カーソルを座標(x, y)へ移動する|
|ESC &#039;H&#039;|カーソルをホームポジション(0, 0)へ移動する|
|ESC &#039;C&#039;|LCDクリアする|
|ESC &#039;A&#039; adr|DDRAMアドレスにadrを書く|
|ESC &#039;B&#039; param|paramをバックライトの明るさにセットする(PWM)|
|ESC &#039;V&#039; param|paramをLCDの明るさにセットする(PWM)|
|ESC &#039;S&#039; semaphore|セマフォに値を書く(マルチマスタ時の排他処理用)  0x00:vacant, 0xFF:system reserved|
|ESC &#039;M&#039; romCharNum lcdCharNum|romCharNumに記録されているカスタムキャラクタをlcdCharNumのアドレスに転送する|
|ESC &#039;W&#039;|バックライト明るさ値、LCD明るさ値をEEPROMに記録する|
|ESC &#039;Z&#039;|カスタムキャラクタ0～5にバー表示用のキャラクタをセットする|

***READ
|*コマンド|*戻りデータバイト量|*機能|
|ESC &#039;a&#039;|1|DDRAMアドレスを読む(現状未実装)|
|ESC &#039;b&#039;|1|バックライトの明るさ値を読み出し|
|ESC &#039;v&#039;|1|LCDの明るさ値を読み出し|
|ESC &#039;s&#039;|1|セマフォ値を読む|

***FAQ

**コメント
- いちおうリリース版をアップ。ドキュメントはこれから書く。  -- Chuck  (2009-08-27 10:10:16)
- WinAVRの比較的新しい版を使わないと2kB以内に収まらないことがわかりました。大変参考になりました。有用なソースを公開くださり、感謝します。  -- senshu  (2009-10-27 22:15:25)
- パソコンのファンコンを自作しているのですが、ATmega168ではI/Oピンのの数が足らなくてマンマシンI/F部と制御部に分けようと考えています。このページは大変参考になりました。ありがとうございます。  -- TODO  (2010-01-25 01:03:39)
#comment    </description>
    <dc:date>2010-01-25T01:03:39+09:00</dc:date>
  </item>
    <item rdf:about="http://www6.atwiki.jp/fx_geek/pages/24.html">
    <title>1-chip DDS(I2C)</title>
    <link>http://www6.atwiki.jp/fx_geek/pages/24.html</link>
    <description>
      #hatena_star(h2)
*1-chip DDS(I2C版)
**機能
ATtiny85を使用して、I2Cからの設定にしたがった正弦波をPWM出力する。

**製作情報
- 回路図
- データシート
- プログラムリスト

**設計・製作のポイント
***ポイント
- 20MHzクロックを与え、256ステップ(78.125kHz)ごとに値を更新するテーブル参照型DDS
- 内蔵PLLを用い出力のPWMには64MHz 8bit(250kHz)
- I2Cで発振周波数を設定できる

**動作仕様
複数バイトに跨るデータはビッグ・エンディアンです。

***WRITE
|*コマンド|*機能|
|&#039;s&#039; s0 s1 s2 s3|位相アキュームレータの更新ステップを変更します|
|&#039;S&#039; f0 f1|目標発振周波数に見立てて位相アキュームレータの更新ステップを算出し、その値に変更します|

***READ
|*コマンド|*戻りデータバイト量|*機能|
|&#039;r&#039;|4|位相アキュームレータの更新ステップを4バイトで返します|
|&#039;R&#039;|2|位相アキュームレータの更新ステップからそれに対応する発振周波数に変換して2バイトで返します|

***FAQ
- まだ製作途上です
-- 未実装項目もあります。
-- コマンド体系は変えるかもです。
- WinAVR-20080512 使用
- libm 使用

**コメント
- 以前の版の完成度があまりに低かったため入れ替えました。  -- Chuck  (2009-02-27 11:17:38)
- お決まりの周波数についてはコマンド一発で選択できるようにしようと思います。50/60/440/1k/10k あたりか。  -- Chuck  (2009-03-07 17:29:13)
- デフォルト値についてはEEPROMに記録してそれを使うようにしてもいいかもしれませんね。  -- Chuck  (2009-10-23 09:01:24)
#comment    </description>
    <dc:date>2009-10-23T09:01:24+09:00</dc:date>
  </item>
    <item rdf:about="http://www6.atwiki.jp/fx_geek/pages/62.html">
    <title>I2CUI</title>
    <link>http://www6.atwiki.jp/fx_geek/pages/62.html</link>
    <description>
      #hatena_star(h2)
*I2C UI Slave
**機能
スイッチ、ロータリエンコーダ情報をマスタに送信、マスタからのコマンドでLED、ブザー制御をするI2Cスレーブ。ATtiny2313使用。

**製作情報
- 回路図
- データシート
- プログラムリスト

**設計・製作のポイント
***ポイント

**動作仕様
***WRITE
|*コマンド|*機能|
|&#039;b&#039;|ブザーON|
|&#039;B&#039;|ブザーOFF|
|&#039;x&#039;|LED0を点灯する|
|&#039;X&#039;|LED0を消灯する|
|&#039;y&#039;|LED1を点灯する|
|&#039;Y&#039;|LED1を消灯する|
|&#039;z&#039;|LED2を点灯する|
|&#039;Z&#039;|LED2を消灯する|
|&#039;w&#039;|LED3を点灯する|
|&#039;W&#039;|LED3を消灯する|
|&#039;l&#039; 0nH|{LED3, LED2, LED1, LED0}の状態制御|
|&#039;c&#039;|固定音長のクリック音を出力する|
|&#039;C&#039; nnH|nnHの音長のクリック音を出力する|
|&#039;r&#039;|ロータリエンコーダ、イネーブル|
|&#039;R&#039;|ロータリエンコーダ、ディセーブル|

***READ
|*コマンド|*戻りデータバイト量|*機能|
|&#039;K&#039;|1|スイッチのコマンドを取得|
|&#039;S&#039;|1|スイッチの現在状態を取得|
|&#039;E&#039;|1|ロータリエンコーダのコマンドを取得|
|&#039;L&#039;|1|ブザー、LEDの状態を取得 {0, 0, BUZ, 0, LED3, LED2, LED1, LED0}|

スイッチのビットアサインは、{PD3, PD2, PD1, PD0, PB3, PB2, PB1, PB0}
LEDのビットアサインは以下
|LED0|PD4|
|LED1|PD5|
|LED2|PD6|
|LED3|PB4|
|BUZZ|PB6|


***FAQ

**コメント
- FS01版をアップロード。  -- Chuck  (2009-09-12 11:11:15)
- FS01版で入力ポートのプルアップを忘れていた。修正したFS02版をアップロード。  -- Chuck  (2009-09-12 17:56:37)
- なんかうまいこと動かない。  -- Chuck  (2009-09-16 18:43:51)
- マスタのメインループからの連続ポーリングに耐えられないみたいだなぁ。  -- Chuck  (2009-09-16 19:02:06)
- 問題の原因がわかりました。近々対策します。  -- Chuck  (2009-09-18 04:16:54)
- さまざまな変更を加えてFS03版をアップロードしました。  -- Chuck  (2009-09-19 16:30:26)
#comment    </description>
    <dc:date>2009-09-19T16:30:26+09:00</dc:date>
  </item>
    <item rdf:about="http://www6.atwiki.jp/fx_geek/pages/61.html">
    <title>I2CPWM16</title>
    <link>http://www6.atwiki.jp/fx_geek/pages/61.html</link>
    <description>
      #hatena_star(h2)
*I2C-&gt;16bit PWM Slave
**機能
16bit PWMを出力するI2Cスレーブ。ATtiny2313使用。

**製作情報
- 回路図
- データシート
- プログラムリスト

**設計・製作のポイント
***ポイント

**動作仕様
***WRITE
|*コマンド|*機能|
|&#039;s&#039; hhH mmH llH|PWM channel 0にPWM値を設定する {Hi, Mid, Lo} 上詰め|
|&#039;S&#039; hhH mmH llH|PWM channel 1にPWM値を設定する {Hi, Mid, Lo} 上詰め|
|&#039;w&#039;|PWM channel 0 の現在設定値をEEPROMに記録する|
|&#039;W&#039;|PWM channel 1 の現在設定値をEEPROMに記録する|
|&#039;x&#039;|PWM channel 0 のシグマデルタ機能をONにする。LED0が点灯する|
|&#039;X&#039;|PWM channel 1 のシグマデルタ機能をONにする。LED1が点灯する|
|&#039;y&#039;|PWM channel 0 のシグマデルタ機能をOFFにする。LED0が消灯する|
|&#039;Y&#039;|PWM channel 1 のシグマデルタ機能をOFFにする。LED1が消灯する|

***READ
|*コマンド|*戻りデータバイト量|*機能|
|&#039;r&#039;|3|PWM channel 0の設定データを返す {Hi, Mid, Lo}|
|&#039;R&#039;|3|PWM channel 1の設定データを返す {Hi, Mid, Lo}|

***FAQ

**コメント
- ページ作成。  -- Chuck  (2009-08-28 07:56:13)
- FS01版をアップロード。  -- Chuck  (2009-08-28 10:55:00)
- コマンドリストを更新。  -- Chuck  (2009-09-12 06:29:34)
#comment    </description>
    <dc:date>2009-09-12T06:31:10+09:00</dc:date>
  </item>
    <item rdf:about="http://www6.atwiki.jp/fx_geek/pages/2.html">
    <title>メニュー</title>
    <link>http://www6.atwiki.jp/fx_geek/pages/2.html</link>
    <description>
      **[[メニュー]]
-[[トップページ]]
-製作コンテンツ
--[[1-chip DDS(I2C)]]
--[[1-chip DDS(serial)]]
--[[色で電圧を表現する(PIC)]]
--[[固定電圧発生冶具]]
--SYNTH
---[[Noise Generator(AVR)]]
---[[Noise Generator(PIC)]]
---[[Chaotic LFO(DAC)]]
---[[1-chip LFO]]
--MIDI
---[[MIDI-CV変換1.5]]
---[[MIDI-CV変換1]]
---[[MIDIモニタ(PIC)]]
--[[エフェクタスイッチャ(PIC)]]
--I2C Slave
---[[I2CLCD]]
---[[I2C7SEG]]
-製作中あるいは妄想中
--[[I2CPWM16]]
--[[I2CUI]]
--[[MIDI-CV変換機]]
--[[素材]]
--[[FMG45]]
--[[OTG45]]
--[[パルスジェネレータ]]
--[[Chaotic LFO(PWM)]]
--[[DualShock2からデータ取得]]
--[[1-chip DDS(Analog)]]
--[[1-chip EG]]
--[[1-chip PCM(I2C)]]
--[[1-chip PCM(SRAM)]]
--([[テンプレート]])
-その他のコンテンツ
--[[AVRを売っている店]]
-[[参考文献]]
-[[掲示板]]
-[[お絵かき掲示板]]

**サイト内検索
#search()

**リンク

**更新情報
#recent(20)    </description>
    <dc:date>2009-09-11T09:19:28+09:00</dc:date>
  </item>
    <item rdf:about="http://www6.atwiki.jp/fx_geek/pages/56.html">
    <title>MIDI-CV変換機</title>
    <link>http://www6.atwiki.jp/fx_geek/pages/56.html</link>
    <description>
      *MIDI-CV変換機

**ピンアサイン

|*ピン番号|*ピン機能|*アプリ機能|
|*1|PEN_n|-|
|*2|PE0/PDI/RXD0|MIDI IN|
|*3|PE1/PDO|RELAY00|
|*4|PE2|RELAY01|
|*5|PE3|RELAY02|
|*6|PE4|RELAY03|
|*7|PE5|RELAY04|
|*8|PE6|RELAY05|
|*9|PE7|RELAY06|
|*10|PB0|RELAY07|
|*11|PB1/SCK|RELAY08|
|*12|PB2|RELAY09|
|*13|PB3|RELAY10|
|*14|PB4|RELAY11|
|*15|PB5|RELAY12|
|*16|PB6|RELAY13|
|*17|PB7|RELAY14|
|*18|PG3|RELAY15|
|*19|PG4|RELAY16|
|*20|RESET_n|RESET_n|
|*21|VCC|VCC|
|*22|GND|GND|
|*23|XTAL2|16MHz|
|*24|XTAL1|16MHz|
|*25|PD0/SCL|I2C slave|
|*26|PD1/SDA|I2C slave|
|*27|PD2|RELAY17|
|*28|PD3|RELAY18|
|*29|PD4|RELAY19|
|*30|PD5|RELAY20|
|*31|PD6|RELAY21|
|*32|PD7|RELAY22|
|*33|PG0|RELAY23|
|*34|PG1|RELAY24|
|*35|PC0|RELAY25|
|*36|PC1|RELAY26|
|*37|PC2|RELAY27|
|*38|PC3|RELAY28|
|*39|PC4|RELAY29|
|*40|PC5|RELAY30|
|*41|PC6|RELAY31|
|*42|PC7|RELAY32|
|*43|PG2|RELAY33|
|*44|PA7|RELAY34|
|*45|PA6|RELAY35|
|*46|PA5|RELAY36|
|*47|PA4|RELAY37|
|*48|PA3|RELAY38|
|*49|PA2|RELAY39|
|*50|PA1|RELAY40|
|*51|PA0|RELAY41|
|*52|VCC|VCC|
|*53|GND|GND|
|*54|PF7/TDI|RELAY42|
|*55|PF6/TDO|RELAY43|
|*56|PF5/TMS|RELAY44|
|*57|PF4/TCK|RELAY45|
|*58|PF3|RELAY46|
|*59|PF2|RELAY47|
|*60|PF1|RELAY48|
|*61|PF0|RELAY49|
|*62|AREF|AREF|
|*63|GND|GND|
|*64|AVCC|AVCC|

***JTAG周り
[http://www.atmel.com/dyn/resources/prod_documents/doc2562.pdf]    </description>
    <dc:date>2009-01-14T13:52:08+09:00</dc:date>
  </item>
    <item rdf:about="http://www6.atwiki.jp/fx_geek/pages/50.html">
    <title>MIDI-CV変換1.5</title>
    <link>http://www6.atwiki.jp/fx_geek/pages/50.html</link>
    <description>
      #hatena_star(h2,6b474c8d99f39a611813705eda8c34ada3cc47d1)
*MIDI-CV変換器1.5
**機能
AVR ATtiny2313を使った、MIDIからアナログコントロール電圧を取り出すコンバータです。[[MIDI-CV変換1]] の機能拡充版です。改版が進んだので version を 1.5に送りました。
コンパイル時のdefineでピッチCVを取り出す MCV-2313-Aタイプ と コントロールチェンジのみハンドルするMCV-2313-Cタイプを得られます。

*** [[MIDI-CV変換1]]との違い
- 各種設定を config.h に集中させた
- MIDIチャネルを設定する外部ピンを設けた
- CV2、CV3 の機能を設定する外部ピンを設けた

*** MCV-2313-A
1-pitch CV、3-CV、4-Gate。
10音メモリのレガート。リトリガも発生できます。
高音優先と後着優先がコンパイル時に選択できます。
|*発音|後着優先モノモード|||
|*CV0|NOTE|*GATE0|NOTE ON/OFF|
|*CV1|Pitch Bend|*GATE1|CC#40h (Hold 1)|
|*CV2|切り替え式：Velocity または CC#0Bh (Expression)|*GATE2|CC#42h (Sostenuto)|
|*CV3|切り替え式：CC#01h (Modulation depth) または CC#05h (Portamento time)|*GATE3|切り替え式：CC#43h (Soft Pedal) または CC#41h (Portamento)|

*** MCV-2313-C
4-CV, 4-Gate。
|*発音|なし、CCのみハンドル|||
|*CV0|CC#07h (Volume)|*GATE0|CC#50h|
|*CV1|CC#0Ah (Panpot)|*GATE1|CC#51h|
|*CV2|切り替え式：CC#0Bh (Expression) または CC#04h (Foot controller)|*GATE2|CC#52h|
|*CV3|切り替え式：CC#05h (Portamento time) または CC#01h (Modulation depth)|*GATE3|切り替え式：CC#41h (Portamento) または CC#53h|

**製作情報
- 回路図 midicv1_5_2.pdf
-- page.1 メインのマイコン部分
-- page.2 ピッチCV用フィルタ回路、ポルタメント回路
-- page.3 CV用フィルタ回路、GATEドライバ回路
-- page.4 インテグレーション例(ブロック図)
- &amp;s(){プログラムリスト midicv1_5.lzh}
- プログラムリスト midicv1_5_3.zip
- データシート attiny2313

**設計・製作のポイント
***ポイント

***FAQ
製作途中です。ソフトウェアにもきっとまだバグがあります。

:プログラムを書き込めない|CV2, CV3, MIDI CH(bit3)のピンにジャンパが刺さって(あるいはDIP SWが閉じて)いませんか？ ISPの機能ピンと共用しているため、ISPでのプログラム時はこれらのピンをオープンにしてください。
:MIDIチャネルによっては動かない|PD6をCKOUTにfuse設定していると MIDI CH(bit1)の設定ピンをショートさせたときにマイコンが動作しなくなります。

**コメント
- midicv1b.gifにTYPOがあったので修正して差し替えました。  -- Chuck  (2006-12-12 04:31:06)
- midicv1b.gif の PORTAMENTO A ですが、こりゃダメだ、動かん。そのうち実験したら図面を差し替えます。  -- Chuck  (2007-01-05 08:44:42)
- 回路図を纏めてPDFにしました。  -- Chuck  (2007-01-06 06:49:40)
- PORTAMENTO A ですが、この回路のままだとコントロールからの変化感が急激過ぎるようです。  -- Chuck  (2007-01-15 04:40:55)
- 最新版回路図 midicv1_5_2.pdf  -- Chuck  (2007-03-11 06:10:52)
- NOTE以外でランニングステータスの対応を怠っており、それに伴う動作不具合が出る恐れがあります。  -- Chuck  (2008-05-14 04:22:42)
- ファームウェアにおいて、わかっているいくつかの問題に対処し、midicv1_5_3.zip として掲載しました。  -- Chuck  (2008-12-30 11:26:48)
#comment    </description>
    <dc:date>2008-12-30T11:26:48+09:00</dc:date>
  </item>
  </rdf:RDF>

