Playing Music With RTL8722DM
Ameba RTL8722DM
Ameba RTL8722DM is a low-power dual-band WLAN and BLE(Bluetooth Low Energy) SoC by Realtek. The RTL8722DM also include memory for Wi-Fi protocol functions and application making it simple for anyone to develop various kind of IoT applications. At the same time it has a wide range of peripheral interfaces. With all these interfaces, it can connect to most of the electronics components like LEDs, temperature and humidity sensors, and so on.
A sound is composed of volume, tone and timbre. Volume is determined by the amplitude of the sound wave. Tone is determined by the frequency of the sound wave. Timbre is determined by the waveform of the sound wave.In this example, we use PWM to control the buzzer to emit sound with desired tone. As PWM outputs square wave, if we wish to emit tone C4 (frequency=262Hz), we have to make PWM to output square wave with wavelength 1/262 = 3.8ms:
We use PWM to output sound wave with different frequency, so as to play music by the buzzer.
Supplies
Ameba RTL8722DM x1
Buzzer x1
Setup
Connect the buzzer to the PWM output pin as shown in the wiring diagram.
Programming
The programming of the Ameba RTL8722DM can be done using Arduino IDE which makes it very easy to write code and upload code to the Ameba Board.
To open the example code in Arduino IDE, Open "File" -> "Examples" -> "AmebaAnalog" -> "TonePlayMelody"
Final Result!
Verify and Upload the code on the Arduino IDE and press the reset button on Ameba.
Once the upload is complete. You can hear the buzzer playing music.
For More Resources
If you need additional technical documents or the source code for this project. Please visit the official websites and join the Facebook group and forum.
Ameba Official Website: https://www.amebaiot.com/en/
Ameba Facebook Group: https://www.facebook.com/groups/amebaioten
Ameba Forum: https://forum.amebaiot.com/