Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Baugruppe funktioniert, die Oktavreinheit lässt in den oberen Lagen nach. Ursache ist die Dividerberechnung für den 8-bit-Timer mit Vorteiler.
Frequenzen mit Multimeter nachgemessen und die Frequenzliste per Dreisatz als Iteration korrigiert.
Habe als Dateityp WORD genommen.
TUNE funktioniert über einen AnalogIN, ein bißchen Mathe mit Fliesskomma
Der DAC für SAW ist ebenfalls keine Liste, sondern eine Formel, Kennlinie ist ja linear und kleine Abweichungen wirken sich nur unwesentlich auf den Pegel aus.
// MIDI DCO w/ tone(); & saw DAC
#include <SPI.h>
// pins
byte note = 8; // note pin
byte cs = 10; // DAC CS pin
byte gate = 4; // gate pin
byte mute = 5; // mute the SAW
byte s0 = 6; // 4512 S0
byte s1 = 7; // 4512 S1
// values
float tune; // tune value
int pot; // tune pot
word value; // actual DAC value
byte mid[3]; // MIDI data
byte midimin = 12; // min. MIDI note
byte midimax = 96; // max. MIDI note