Digitalizzazione musica
Ciao a tutti, vorrei provare a campionare della musica tramite l'ingresso analogico di un arduino mega2560 e poi con il PWM e un filtro passa basso riascoltare la musica, la qualità sarà scarsa ma è solo per provare e se funziona userò un arduino più prestante o adc e dac esterni a 16 bit. Di programmazione ne so poco e ho scritto questo, ho lasciato i commenti:
Per campionare a 16khz, il periodo T è uguale a 62,5 micros e quindi quello che ho scritto dovrebbe andare.
Mi manca la parte relativa al PWM dove la frequenza, ho letto, è meglio che sia la più alta possibile. Bisogna usare analogWrite(pin, valore); :
Non so come fare.
- Codice: Seleziona tutto
int sensorPin = A0; // select the input pin for the potentiometer
int ledPin = 11; // select the pin for the LED
int valore = 0; // variable to store the value coming from the sensor
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(ledPin, OUTPUT);
analogReference(INTERNAL1V1);
// initialize serial communication at 9600 bits per second:
// Serial.begin(9600);
}
void loop() {
// read the value from the sensor:
valore = analogRead(sensorPin);
delayMicroseconds(62);
// Serial.println(valore);
// delay(10); // delay in between reads for stability
// analogWrite(ledPin, valore / 4);
}
Per campionare a 16khz, il periodo T è uguale a 62,5 micros e quindi quello che ho scritto dovrebbe andare.
Mi manca la parte relativa al PWM dove la frequenza, ho letto, è meglio che sia la più alta possibile. Bisogna usare analogWrite(pin, valore); :
Non so come fare.
