This early version of the laser phone sends sound taken from a microphone to the ADC of the microcontroller which converts it to digital pulses. The microcontroller then sends the pulses through UART back to itself. The pulses are then sent through the DAC of the microcontroller and converted back into analog signals.
The laser phone prototype, uses a microphone which goes to an amplifier to make the signal readable by the microcontroller. The amplifier is connected to the microcontroller. In the current prototype of the laser phone the microcontroller is connected to a different amplifier which connects to the speaker.
Schematic | Prototype | |
The first part of the code is controller initialization. We set up the 12-bit ADC at a 32-kHz sampling rate and use a digital comb filter to bring it down to 8-kHz by outputting every fourth result. Then we start up UART connections and send the output at a baud rate of around 230,400 bps through UART. The signal then goes to the DAC which converts and sends the signal to the speaker at each of its clock pulses. Because we are sending more than one byte of data, if the DAC doesn't receive both bytes of information in time it will use the previous information of the byte it didn't receive. (In reference to the High and Low order bytes) To prevent that from happening a circular buffer will be added to prevent the separation of data bytes.
Last modified:Mon, Jan 23, 2023.