基于单片机的七彩音乐喷泉设计

您所在的位置:网站首页 氮化镓工作原理图 基于单片机的七彩音乐喷泉设计

基于单片机的七彩音乐喷泉设计

2023-06-10 06:05| 来源: 网络整理| 查看: 265

目录

一、方案流程及技术规格书设计

二、系统硬件电路设计

三、软件编写及调试

四、系统调试测试与分析

前言

       随着时代的进步,人们对生活质量的要求也在不断提升,因此,51单片机七彩音乐喷泉系统应运而生,它不仅可以满足人们对舒适环境的追求,而且还可以实现智能化、自动化的户外设施,因此从受到人们的喜欢。本文提出的用步进电机控制操作,更简洁方便。

       系统采用单片机STM32F103RCT6为控制核心,由模数转换器ADC0832检测模块把音频信号转换成数字信号输入给单片机,经处理后控制电机驱动水泵开关闭合,当识别到声信号较弱时,步进电机驱动水泵开口变大,使水流喷射高度减低;当识别到声信号较强时,步进电机驱动水泵开口变小,使水流喷射高度提高。音乐喷泉在喷射时装有多个LED灯泡,使音乐喷泉视觉效果得到显著提升,提高用户的舒适体验。

       喷泉能根据音乐进程进行动态喷射,LED发光灯泡能根据音乐效果进行颜色变换闪烁,步进电机能根据模数转换器采样值驱动水泵开关及闭合。

软件工具准备

软件:

电路设计:protel99 se(up主使用版本) 或者其他版本,或者其他电路设计软件;

单片机开发:Keil5;

调试测试:串口调试助手,逻辑分析仪等;

工具:

电路焊接:电烙铁,SMT(有条件的);

调试:

万用表、示波器(基础入门即可,可以白嫖学校或者公司)USB转串口工具、仿真器;

                       

一、方案流程及技术规格书设计                      

方案流程设计

技术规格书设计

       本课题是基于51单片机七彩音乐喷泉设计,系统包括硬件系统的实现;软件系统的实现。提供硬件系统实现的原理图,采用汇编语言或C51完成软件的开发,并完成系统的调试。本系统采用 51系列单片机开发平台。       本系统采用 51系列单片机开发平台。

二、系统硬件电路设计

       七彩音乐喷泉由51单片机AT89C51作为主控部件,外围设备有串口、步进电机、LED等接口及部件。采用51系列单片机的并行I/O接口对8个发光二极管进行控制,采用步进电机控制水泵闭合状态,8个发光二极管显示音乐状态,并根据实际AD采集数据通过ADC0832芯片实现调节步进电机转动角度,步进电机驱动水泵开关的功能;可以通过设置音频使得8个发光二极管按照指定的规则工作。该系统模块要求性能稳定,方便操作和设置。

       本系统采用AT89C51单片机做中央控制芯片,模块组成分为ADC模数转换模块,步进电机驱动模块和发光二极管模块,ADC模数转换模块型号为ADC0832,步进电机模块型号为28BYJ4+ULN2003驱动板;用ADC0832模数转换芯片检测音乐信号幅度。ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。其提供的音频AD转换技术,是实现设计音乐喷泉的基础。

       单片机AT89C51通过ADC实现模拟信号转数字信号读取ADC0832芯片解析的音频信号后,根据AD转换值控制八个发光二极管规律闪烁,同时驱动步进电机转动,以模拟实现控制水泵闭合程度,在水压强度一定情况下实现控制水柱高低变化。

       集成开发环境:Keil uVision5是一款专业实用的c语言软件开发系统,提供编译器、编译器、调试跟踪和包管理器功能。用户可以利用观察窗口同时进行对多个重要全局变量进行实时的查看,以此用户可以在最短的时间内发现问题。

2.1微处理控制电路

       系统采用STM32F103C8T6单片机。LQFP48封装,STM32F103是ARM系列单片机,电路图如图所示:

       图中VCC3.3供电电压3.3V。R12、C19复位电路,C20、C101、C102滤波作用,J6是仿真烧录口。

单片机IO口连接介绍:

PB0-PB2(18-20脚):LCD数据口。

PB3-PB7(39-43脚):LCD数据口。

PB8-PB9(45-46脚):LCD数据口。

PB10-PB11(21-22脚):LCD数据口。

PB12-PB15(25-28脚):LCD数据口。

PC13-PC14:LCD控制。

PA8-PA9:LCD控制。

PA7:LCD背光。

PA0-PA2:按键。

PA3:光敏电阻输入。

PA4:蜂鸣器控制。

PA5:LED灯控制。

PA6:DHT11温湿度控制。

2.2  发光电路设计

        发光模块设计为独立模块。发光模块的基本应用电路由三极管和电阻组成。主控MCU STM32F103通过控制IO口电平高低,给特殊功能寄存器赋值对应参数,控制周期和占空比使得发光管可以输出我们想要的颜色,从00H〜FFH。TEMP6000发光模块电路如图所示。

       三极管驱动电路,其模块外接有信号采集、放大和处理电路,所以和单片机接口比较简单。设计采用3个LED和单片机IO口一对一连接。在音频识别下,由单片机控制三个颜色的发光模块,实现发光模块随音乐律动。 

2.3 LCD显示电路

       LCD1602液晶显示电路如图:

       LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。不同厂家生产的LCD1602芯片可能有所不同,但使用方法都是一样的。为了降低成本,绝大多数制造商都直接将裸片做到板子上。

2.4按键电路

       设计按键部分使用了4个机械按键,K1-K4四个IO口电平被单片机实时检测,正常状态下,电平会升至较高水平,而当按键按下时,电平会降至较低。按键控制对应设备开关。电路如图:

2.5  声音输出模块电路设计

       系统可通过功放进行音频输出控制,功放的开关和通讯通过AINO控制。功放设置有空闲和通讯状态。设置功放空闲时,AINO输出低电平,设置功放通讯时,AINO输出50%占空比的方波。设计可以插入耳机通过耳机播放音频。

 

2.6 步进电机驱动电路设计

       两个ULN2003达林顿管驱动步进电机,如图3.7。在U4的1-4管脚输出特定时序的电压波形,可以使得步进电机按我们需求正转或反转,模拟音乐喷泉开关。

 

2.7 电源电路

       电源是整个系统能源供给中心,稳定的电压是系统工作的必要条件。由于单片机和温湿度传感器都需要纹波小干扰少的电源,所以系统采用线性稳压电路。外部9V电源适配器经过7805稳压输出5V,C4输入滤波电容、C5输出滤波电容。电路如图。

       单片机等3.3V供电采用ASM1117线性稳压电路,电路如图。

 

三、软件编写及调试

3.1主程序设计

       主控单片机为STM32F103FRT6,单片机识别音频信号输入,按键信号,LCD1602输出显示,步进电机输出转动步数。

       工作时,程序先进行初始化工作。然后单片机接收音频信号,控制步进电机、LCD1602液晶显示。系统流程图。

 

3.2 LCD显示程序设计

       1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块 它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有也有间隔 起到了字符间距和行间距的作用。

       1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶,其地址和屏幕的对应关系如下表4.1地址和屏幕对应关系:

显示位置

1

2

3

4

5

6

40

DDRAM

地址

第一行

00H

01H

02H

03H

04H

05H

27H

第二行

40H

41H

42H

43H

44H

45H

67H

       以下是清屏指令,如表:

指令功能

RS

RW

D7

D6

D5

D3

D2

D1

D0

清屏

0

0

0

0

0

0

0

0

1

       与液晶显示器进行通讯,首先要具备写入和写入的功能,图是写LCD命令和数据流程图。

 

3.3 步进电机驱动程序设计

       使用4相8拍步进电机,它的工作原理为:电机按照一定的电流循环运行,从A开始,依次为AB、B、BC、C、CD、D、DA,最后回到DA开始,依次为C、BC、B、AB。转速的快慢是由输出脉冲频率决定。

步进电机代码:

/*输出脉冲驱动*/

    unsigned char MotorCtr(void)

{

    if (stop_flag==1) //停止转动

        {

            P24 = 1;

            P25 = 1;

            P26 = 1;

            P17 = 1;

            case 0: //0 ,(A 相)

               P22 = 1;

               P21 = 0;

                 P20 = 0;

                 P10 = 0;

            break;

            case 1: //0、1, (AB 相)

                   P22 = 1;

               P21 = 1;

                 P20 = 0;

                 P10 = 0;

            break;

            case 2: //1,(B 相)

                   P22 = 0;

               P21 = 1;

                 P20 = 0;

                 P10 = 0;

            break;

            case 3: //1、2 , (BC 相)

                   P22 = 0;

               P21 = 1;

                 P20 = 1;

                 P10 = 0;

            break;

            case 4: //2, (C 相)

                   P22 = 0;

               P21 = 0;

                 P20 = 1;

                 P10 = 0;

            break;

            case 5: //2、3, (CD 相)

                   P22 = 0;

               P21 = 0;

                 P20 = 1;

                 P10 = 1;

            break;

            case 6: //3, (D 相)

                   P22 = 0;

               P21 = 0;

                 P20 = 0;

                 P10 = 1;        break;

           

            case 7: //3、0, (DA 相)

                   P22 = 1;

               P21 = 0;

                 P20 = 1;

                 P10 = 1;

     }

如果(turn==0),则控制转动方向,从0-正转到1-反转,以实现最佳效果。

     {

            step_index++; //正转时序

            if (step_index>7)

                   step_index=0;

     }

     else

     {

            step_index--;//反转时序

            if (step_index



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3