【Proteus仿真】【Arduino单片机】简易电子琴

文章目录


一、功能简介

本项目使用Proteus8仿真Arduino单片机控制器,使用无源蜂鸣器、按键等。

主要功能:

系统运行后,按下K1-K7键发出不同音调。


二、软件设计

c 复制代码
/*
作者:嗨小易(QQ:3443792007)

*/



#include "public.h"
#include "beep.h"
#include "pitches.h"
#include "key.h"


//初始化,执行一次
void setup() 
{
    beep_init();
    key_init();
}

//无限循环
void loop() 
{
    char key=0;

    while(1)
    {
        key=key_scan(0);
        switch(key)
        {
            case KEY1_PRESS:
                tone(BEEP,NOTE_C5,50);//Do
                break;
            case KEY2_PRESS:
                tone(BEEP,NOTE_D5,50);//Re
                break;
            case KEY3_PRESS:
                tone(BEEP,NOTE_E5,50);//Mi
                break;
            case KEY4_PRESS:
                tone(BEEP,NOTE_F5,50);//Fa
                break;
            case KEY5_PRESS:
                tone(BEEP,NOTE_G5,50);//So
                break;
            case KEY6_PRESS:
                tone(BEEP,NOTE_A5,50);//La
                break;
            case KEY7_PRESS:
                tone(BEEP,NOTE_B5,50);//Si
                break;
        }
    }
}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619

联系作者

视频地址:https://space.bilibili.com/444388619/video

专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

相关推荐
小马爱打代码4 小时前
Redis 集群方案详解:主从复制、哨兵、脑裂、分片集群和哈希槽
数据库·redis·哈希算法
我是一颗柠檬9 小时前
【Redis】发布订阅与消息队列Day8(2026年)
数据库·redis·后端·缓存
sukioe9 小时前
Redis 持久化+高可用详解:RDB/AOF/混合/主从/哨兵/集群
数据库·redis·缓存
不脱发的程序猿9 小时前
AI Coding时上下文不够用咋办?
单片机·嵌入式硬件·嵌入式
jghhh0110 小时前
STM32 在线升级 IAP(远程固件升级)方案
stm32
blevoice10 小时前
杰理工程师日志3:杰理芯片AC6966B开发蓝牙智能音响时,关于自己设置各种提示音常见问题
单片机·jl杰理蓝牙音频芯片·ac6966b蓝牙音响方案·杰理智能音箱开发·杰理蓝牙mp3芯片·杰理ac6965e蓝牙播放器·杰理蓝牙mcu芯片
leoFY12311 小时前
SGM3209(圣邦微 高压负压电荷泵)(与TP7660可只修改4脚,7脚即可替换)
单片机·嵌入式硬件
zlinear数据采集卡11 小时前
基准电压电路深度解析:从理论参数到ZLinear采集卡的精准参考实战
c语言·单片机·嵌入式硬件·fpga开发·自动化
bbaydnog11 小时前
FreeRTOS学习笔记 18:调试方法论——HardFault排查、栈溢出检测、运行时统计,RTOS调试三板斧
笔记·单片机·freertos
下午写HelloWorld11 小时前
GD32F4系列微控制器上电启动流程
单片机·嵌入式硬件