電子工作のマイブームがまたやってきました。そのため久しぶりの更新です。
最近購入したKORG社のVolca Modularがきっかけです。
ブレッドボードにジャンプワイアで回路を作るようなフィーリングで、モジュラーシンセの音を作っていくものです。なかなか画期的だと思います。
こちらの記事でも書いたのですが、M5StackのDACで外部から操作しています。
もっとモジュレーションソースが欲しいのですが、そのたびにM5Stackを購入していては高いので、Arduino NanoとDAコンバータチップを使ってブレッドボード上に作ってみました。
http://zattouka.net/GarageHouse/micon/circuit/D_A.htm
http://www.pwv.co.jp/~take/TakeWiki/index.php?arduino%2FDAC%E3%82%92%E8%A9%A6%E3%81%99
SPIインターフェイスをもつMCP4922を使った事例がわかりやすく書かれていた、上記の記事を参考にさせていただきました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include "pins_arduino.h" #include <SPI.h> #define LDAC 9 void setup() { pinMode(LDAC,OUTPUT) ; pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(13, OUTPUT); SPI.begin(); SPI.setBitOrder(MSBFIRST); SPI.setClockDivider(SPI_CLOCK_DIV8); SPI.setDataMode(SPI_MODE0); } void loop() { for (int i=0 ; i < 4096 ; i=i+4) { digitalWrite(LDAC,HIGH) ; digitalWrite(SS,LOW) ; SPI.transfer((i >> 8)|0x30) ; SPI.transfer(i & 0xff); digitalWrite(SS,HIGH); digitalWrite(LDAC,LOW); delay(1); } } |
アナログ出力部分にLEDを接続しました。
だんだん明るくなり、最大の明るさになったら消灯、を繰り返します。
PWMでないことを確認するためにオシロスコープでも確かめました。
もともと、モジュラーシンセにPWMで電圧が変化させたものを入れて、おかしな音がなってから、ArduinoのDACについて詳しく調べるようになりました。
PWMについてはこちらでテスト。
次は、チャンネル数を増やしたいと思っています。