【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设计,视频分享,技术交流。

相关推荐
langsiming13 小时前
Redis底层实现
数据库·redis·缓存
SmartRadio13 小时前
ESP32-S3 (ESP-IDF) 动态修改BLE设备名称 完整实现方案
单片机·嵌入式硬件·物联网
Hello World呀13 小时前
Redis是AP的还是CP?
数据库·redis·缓存
JavaLearnerZGQ15 小时前
redis笔记大全
数据库·redis·笔记
写代码的小阿帆16 小时前
Redis缓存健壮性——穿透、雪崩与击穿防护
数据库·redis·缓存
芯岭技术16 小时前
XL2477 WiFi 透传模组,让产品快速、低成本接入无线网络
单片机·嵌入式硬件
点灯小铭17 小时前
基于单片机的自动路灯监控系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
qq_4557608517 小时前
redis - 集群
数据库·redis·缓存
Li_76953217 小时前
Redis 进阶(五)—— 哨兵
数据库·redis·缓存
困知勉行198517 小时前
Redis大key处理
数据库·redis·缓存