#include "INHK_Pot3.h"
#include "Wave.h"
Potentiometer pot1(A0);
Potentiometer pot2(A1);
Potentiometer pot3(A2);
// Potentiometer pot4(A3);
// Potentiometer pot5(A4);
// Potentiometer pot6(A5);
Wave carrierWave;
// Wave modulatorWave1;
// Wave modulatorWave2;
int carrier_amplitude;
float carrier_frequency;
int carrier_offset = 0;
// int mod1_amplitude;
// float mod1_frequency;
// int mod1_offset = 0;
// int mod2_amplitude;
// float mod2_frequency; main
// int mod2_offset = 0;
// int resultingWave;
void setup() {
Serial.begin(115200); // Initialize serial communication
}
void loop() {
carrier_amplitude = pot1.readValue();
carrier_frequency = pot2.readValue();
carrier_offset = pot3.readValue();
// carrier_frequency = mapFloat(carrier_frequency, 0, 255, 0.005, 0.5);
carrierWave.setAmplitude(carrier_amplitude);
carrierWave.setFrequency(carrier_frequency);
carrierWave.setSquareWaveFrequency2(carrier_frequency);
carrierWave.setOffset(carrier_offset);
// mod1_amplitude = pot1.readValue();
// mod1_frequency = pot2.readValue();
// mod1_offset = pot3.readValue();
// mod1_frequency = mapFloat(mod1_frequency, 0, 255, 0.005, 0.5);
// modulatorWave1.setAmplitude(mod1_amplitude);
// modulatorWave1.setFrequency(mod1_frequency);
// modulatorWave1.setSquareWaveFrequency2(mod1_frequency);
// modulatorWave1.setOffset(mod1_offset);
// mod2_amplitude = pot4.readValue();
// mod2_frequency = pot5.readValue();
// mod2_offset = pot6.readValue();
// mod2_frequency = mapFloat(mod2_frequency, 0, 255, 0.005, 0.5);
// modulatorWave2.setAmplitude(mod2_amplitude);
// modulatorWave2.setFrequency(mod2_frequency);
// modulatorWave1.setSquareWaveFrequency2(mod1_frequency);
// modulatorWave2.setOffset(mod2_offset);
auto carrier = carrierWave.squareValue();
// auto modulator1 = modulatorWave1.sineValue(); //0b10001010
// auto modulator2 = modulatorWave2.triangleValue();
// resultingWave = (int) (carrierWave + modulator1 + modulator2);
Serial.print("Carrier Wave: ");
Serial.print(carrier);
// Serial.print(" , ");
// Serial.print("modulator1: ");
// Serial.print(modulator1);
// Serial.print(" , ");
// Serial.print("modulator2: ");
// Serial.print(modulator2);
// Serial.print(" , ");
// Serial.print("resultingWave: ");
// Serial.print(resultingWave);
Serial.println();
}
float mapFloat(float x, float in_min, float in_max, float out_min, float out_max) {
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}