Stylophone是电子乐器。上个世纪七十年代,Stylophone曾风靡一时。
事实上,它的出现是一个巧合!
一位发烧友在为孩子修理玩具电子琴时,突发奇想制作了它。
他不但将电子琴复原,还添加了一系列音色修饰功能,创造出一个音质奇佳、音色优美的新型掌上电子乐器。
滚石乐队,摇滚先驱David Bowie都曾青睐于它。
于是,我花83元仿制了一个价值300+的stylophone。本项目主要模仿了其键盘和操作方式。
它能通过一个按钮修改音色,音色有两种,正弦波的音色浑厚低沉、三角波的音色相对明亮……
视频加载中...
另外两个按钮则可以调整高、中、低音。
非常适合arduino新手入门。
这是非常简单、非常有趣的项目!
使用合宙ESP32C3、AD9833、LM4781、PCF8574T、喇叭、电位器制作。
电路原理非常简单:
杜邦线接的是GND,当按钮检测到被GND“按”住,就会使I2C扫描三个PCF8574T的管脚输入状态,检测到低电平就会控制AD9833输出相对应频率的波形,并输出给喇叭发出音乐声。
void loop() {
Wire.requestFrom(PCF8591_ID_0, 1);
Wire.available();
a = Wire.read();
Wire.requestFrom(PCF8591_ID_1, 1);
Wire.available();
b = Wire.read();
Wire.requestFrom(PCF8591_ID_2, 1);
Wire.available();
c = Wire.read();
if (a == 0xff and b == 0xff and c == 0xff )AD.setFrequency(MD_AD9833::CHAN_0, 0);
switch (WAVE_S) {
case 0:
for (int i = 0; i < 8; i++) {
if (a == KEY_D[i])AD.setFrequency(MD_AD9833::CHAN_0, float(WAVE[i]));
if (b == KEY_D[i])AD.setFrequency(MD_AD9833::CHAN_0, float(WAVE[i + 8]));
if (c == KEY_D[i])AD.setFrequency(MD_AD9833::CHAN_0, float(WAVE[i + 16]));
}
因格式原因,源码无法完全上传,如需要“源码+电路源文件”,请自取,无偿分享:https://oshwhub.com/shukkkk/esp32c3_stylophone#P6
本文全部资料参考:立创开源硬件平台《PCB电子乐器》作者:爆改车间主任
https://oshwhub.com/shukkkk/esp32c3_stylophone#P6
如果你认为这篇文章还不错,欢迎点赞、关注、转发、收藏~
我会持续更新优质开源项目!
页面更新:2024-03-20
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号