Go Down

Topic: Sensory Substitution using Tactile Stimulation (Read 699 times) previous topic - next topic

tilakzinzu

Jan 30, 2018, 08:32 pm Last Edit: Feb 01, 2018, 06:03 am by tilakzinzu
I have constructed a circuit using an Electret Microphone Amplifier (MAX9814), a Bone Conductor Transducer (A speaker) and an Arduino Uno (links to the parts can be found below). The goal of my circuit is to collect speech data through the Microphone Amplifier, perform signal processing using the Arduino Uno and then output the data to the Bone conduction speaker. The goal of the signal processing is to perform low pass filtering and half-wave rectification of the signal to extract a slowly varying envelope that can be sent to the bone conduction speaker. However, when I upload the code and test the circuit, all i can hear through the speaker is a high pitched buzzing sound (similar to feedback). I also can not see any signal data coming into the serial port. How can I fix this so that speech data collected from the microphone can be accurately transmitted to the speaker?

Here is my code:

Code: [Select]
//Capstone Project
//Sensory Substitution via Tactile Stimulation

#include <Filters.h>

int initialSignal;
int t = 0;
int AM;
float FilterFrequency = 50.0;
int Signal;

void setup() {
  Serial.begin(9600);
  pinMode(5, OUTPUT);

}

void loop() {
  initialSignal = analogRead(1);
  FilterOnePole lowpassFilter( LOWPASS, FilterFrequency );
  while( true ) {
    Signal = lowpassFilter.input( initialSignal );
    AM = initialSignal * sin(1000 * t);
    digitalWrite(5, AM);
    t++;
  }

}


I also used the digital signal processing library for arduino that i found on GitHub. The link can be found below:
https://github.com/JonHub/Filters

Parts:
https://www.adafruit.com/product/1713
https://www.digikey.com/catalog/en/partgroup/bone-conductor-series/26282

Go Up