arduino/DACを試す
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[FrontPage]]
#contents
2013/12/14からのアクセス回数 &counter;
SPIインタフェースを持つ、12-bit DAC(デジタル・アナログ変...
((これは、LM4F120 Launchpadを使って音声合成をするための前...
** MCP4922の使い方 [#q38a0160]
[[DAコンバータ MCP4922を利用しD/A変換を行う>http://...
の例題を実際にArduinoで動かしながら、動作を確認していきま...
MCP4922のSPIインタフェースでは、12-bitのデジタル信号の他...
に制御用のデータを追加しています。
- bit15: A/B~
アナログを出力するチャンネルAorBを指定します。
-- 0:チャンネルA(OUTA)
-- 1:チャンネルB(OUTB)
- bit14: BUF~
VREFの入力でバッファ制御を行うかの指示をします。
-- 0:バッファ制御をしない
-- 1:バッファ制御をする
- bit13: GA~
出力するゲインを選択します。
-- 0:2x (VOUT = 2 * VREF * D/4096)
-- 1:1x (VOUT = VREF * D/4096)
- bit12: SHDN~
シャットダウン制御を行うかの指示をします。
-- 0:出力端子からは出力されず、出力端子はハイインピーダ...
-- 1:出力端子からアナログ値が出力されます
*** Arduinoとの接続 [#j4ea499e]
Arduinoとの接続では、VoutAにLEDを接続して動きをみてみます。
((図は、フリーのfritzingを使用しました))
&ref(Arduino_MCP4922_bread.png);
** 動作確認 [#a631c5d9]
*** 動作確認用スケッチ [#ne5c1418]
動作確認用スケッチは、上記のサイトのプログラムをそのまま...
#pre{{
#include "pins_arduino.h"
#include <SPI.h>
#define LDAC 9 // ラッチ動作出力ピン
void setup() {
// 制御するピンは全て出力に設定する
pinMode(LDAC,OUTPUT) ;
// SPIの初期化処理を行う
SPI.begin() ; // SPIを行う...
SPI.setBitOrder(MSBFIRST) ; // ビットオーダー
SPI.setClockDivider(SPI_CLOCK_DIV8) ;// クロック(CLK...
SPI.setDataMode(SPI_MODE0) ; // クロック極性...
}
void loop() {
int i ;
for (i=0 ; i < 4096 ; i=i+4) {
digitalWrite(LDAC,HIGH) ;
digitalWrite(SS,LOW) ;
SPI.transfer((i >> 8)|0x30) ; // Highバイト...
SPI.transfer(i & 0xff) ; // Lowバイト...
digitalWrite(SS,HIGH) ;
digitalWrite(LDAC,LOW) ; // ラッチ信号を出す
}
}
}}
** 動かしてみる [#pd8de738]
スケッチを動かしてみます。LEDが点灯し、よく見ると明かりが...
&ref(Arduino_MCP4922.png);
期待したとおりのノコギリ波が生成されているかオシロスコー...
きちんとノコギリの波形がでています。これで無事MCP4922の使...
&ref(arduino_signal_output.png);
** コメント [#zcfd4552]
#vote(おもしろかった[52],そうでもない[2],わかりずらい[5])
皆様のご意見、ご希望をお待ちしております。
- *2の図が間違っています。MCP4922の14番ピンに5Vが結線され...
#comment_kcaptcha
終了行:
[[FrontPage]]
#contents
2013/12/14からのアクセス回数 &counter;
SPIインタフェースを持つ、12-bit DAC(デジタル・アナログ変...
((これは、LM4F120 Launchpadを使って音声合成をするための前...
** MCP4922の使い方 [#q38a0160]
[[DAコンバータ MCP4922を利用しD/A変換を行う>http://...
の例題を実際にArduinoで動かしながら、動作を確認していきま...
MCP4922のSPIインタフェースでは、12-bitのデジタル信号の他...
に制御用のデータを追加しています。
- bit15: A/B~
アナログを出力するチャンネルAorBを指定します。
-- 0:チャンネルA(OUTA)
-- 1:チャンネルB(OUTB)
- bit14: BUF~
VREFの入力でバッファ制御を行うかの指示をします。
-- 0:バッファ制御をしない
-- 1:バッファ制御をする
- bit13: GA~
出力するゲインを選択します。
-- 0:2x (VOUT = 2 * VREF * D/4096)
-- 1:1x (VOUT = VREF * D/4096)
- bit12: SHDN~
シャットダウン制御を行うかの指示をします。
-- 0:出力端子からは出力されず、出力端子はハイインピーダ...
-- 1:出力端子からアナログ値が出力されます
*** Arduinoとの接続 [#j4ea499e]
Arduinoとの接続では、VoutAにLEDを接続して動きをみてみます。
((図は、フリーのfritzingを使用しました))
&ref(Arduino_MCP4922_bread.png);
** 動作確認 [#a631c5d9]
*** 動作確認用スケッチ [#ne5c1418]
動作確認用スケッチは、上記のサイトのプログラムをそのまま...
#pre{{
#include "pins_arduino.h"
#include <SPI.h>
#define LDAC 9 // ラッチ動作出力ピン
void setup() {
// 制御するピンは全て出力に設定する
pinMode(LDAC,OUTPUT) ;
// SPIの初期化処理を行う
SPI.begin() ; // SPIを行う...
SPI.setBitOrder(MSBFIRST) ; // ビットオーダー
SPI.setClockDivider(SPI_CLOCK_DIV8) ;// クロック(CLK...
SPI.setDataMode(SPI_MODE0) ; // クロック極性...
}
void loop() {
int i ;
for (i=0 ; i < 4096 ; i=i+4) {
digitalWrite(LDAC,HIGH) ;
digitalWrite(SS,LOW) ;
SPI.transfer((i >> 8)|0x30) ; // Highバイト...
SPI.transfer(i & 0xff) ; // Lowバイト...
digitalWrite(SS,HIGH) ;
digitalWrite(LDAC,LOW) ; // ラッチ信号を出す
}
}
}}
** 動かしてみる [#pd8de738]
スケッチを動かしてみます。LEDが点灯し、よく見ると明かりが...
&ref(Arduino_MCP4922.png);
期待したとおりのノコギリ波が生成されているかオシロスコー...
きちんとノコギリの波形がでています。これで無事MCP4922の使...
&ref(arduino_signal_output.png);
** コメント [#zcfd4552]
#vote(おもしろかった[52],そうでもない[2],わかりずらい[5])
皆様のご意見、ご希望をお待ちしております。
- *2の図が間違っています。MCP4922の14番ピンに5Vが結線され...
#comment_kcaptcha
ページ名:
SmartDoc