2026年6月1日月曜日

Arduino - Mozzi サイン・矩形・ノコギリ・三角波出力

 Mozziを下記サイトのプログラムでサイン波・矩形波・ノコギリ波・三角波のPWM出力をCRローパス・フィルタを通してオシロスコープで測定しました。 


















参考サイト


回路図

























Arduino Nano
フラッシュメモリー: 32 KB 
SRAM: 2 KB
クロック速度: 16 MHz
アナログI / Oピン: 8
EEPROM: 1 KB
デジタルI / Oピン: 22
PWM出力: 6




PWM出力
㊤PWM出力 ㊦ローパスフィルタ出力


















サイン波
















矩形波
















ノコギリ波
















三角波




















Mozzi 


















Mozzi Library  ダウウンロード














【Code】
【Download ZIP】
解凍して任意のライブラリー保存場所に貼付ける。

プログラム Arduino IDE【ボード:Arduino Nano
【Arduino】Mozzi入門1 様々な波形を出力する4波形をまとめたプログラムです。
各波形をコメントアウトで選択しました。
#include <MozziGuts.h>
#include <Oscil.h>
#include <tables/sin2048_int8.h>
#include <tables/square_no_alias_2048_int8.h>
#include <tables/saw2048_int8.h>
#include <tables/triangle2048_int8.h>

//設定された回数(デフォルト64〜128Hz)だけ毎秒実行される。
#define CONTROL_RATE 128

//2048サンプル波形生成器を定義・初期化する
Oscil <SIN2048_NUM_CELLS, AUDIO_RATE> aSin(SIN2048_DATA);
Oscil <SQUARE_NO_ALIAS_2048_NUM_CELLS, AUDIO_RATE> aSquare(SQUARE_NO_ALIAS_2048_DATA);
Oscil <SAW2048_NUM_CELLS, AUDIO_RATE> aSaw(SAW2048_DATA);
Oscil <TRIANGLE2048_NUM_CELLS, AUDIO_RATE> aTriangle(TRIANGLE2048_DATA);

void setup(){
    startMozzi(CONTROL_RATE);
    //aSin.setFreq(440);  //サイン波
    //aSquare.setFreq(440); //矩形波
    //aSaw.setFreq(440); //ノコギリ波
    aTriangle.setFreq(440);//三角波
}
//パラメータの更新
void updateControl(){
}
//オーディオ信号の生成
int updateAudio(){
    //return aSin.next(); //サイン波
    //return aSquare.next(); //矩形波
    //return aSaw.next(); //ノコギリ波
    return aTriangle.next(); //三角波
}
void loop(){
    //updateAudioを高速に呼び続ける
    audioHook();
}

0 件のコメント:

コメントを投稿

M5Stack用MIDI音源Unit - XIAO ESP32C3 スケッチ例

XIAO ESP32C3制御のM5Stack用MIDI音源ユニット(SAM2695)に入替てライブラリー【Seeed_Arduino_MIDIMaster-main】ダウンロード・保存、Arduino IDEのスケッチ例【Seeed_Arduino_MIDIMaster】選択【S...