1.简易超声波蜂鸣器的嗡鸣制作方法
2.利用C52单片机,用两位独立按键、四位数码管及蜂鸣器实现时钟的器实基本功能(走时、定时、验源源码调时等)?
3.毕业设计 单片机恒温箱控制系统(源码+硬件+论文)
4.秒表计时,码嗡鸣器按S0开始计时,实验并由数码管显示,嗡鸣旅游源码下载再按S0停止。器实若计满1分钟结束未按S0停止,验源源码则蜂鸣器报警
简易超声波蜂鸣器的制作方法
以下例子仅供参考:1. 简易超声波发生器电路
作者:yangzh
超声波发生器电路图图解。
2. (ST大赛三等奖作品)超声波自拍神器
超声波自拍神器
对于从来没有玩过安卓系统的实验同学们是不是很想也体会到安卓给我们带来的乐趣了,那是嗡鸣不是没学安卓,就不能控制手机呢?就不能体会到安卓给我们带来的器实乐趣呢?除了蓝牙和wifi等外,我们还能不能有一种更简单的验源源码、更有创意的码嗡鸣器、更实用的实验方案,让大部分电子爱好者体会用STM控制手机的乐趣了,答案是codevs源码肯定的。
某宝上很多自拍神器,有蓝牙控制和线控等,这一次我将向大家介绍一种最近比较流行的超声波自拍神器,方便实用,成本低。
1.方案介绍:
首先手机先到网上下载一个APP(Airshooting),然后打开APP,利用STM NUCLEO-FRB开发板的定时器产生一定频率PWM信号,用来控制蜂鸣器发出声音,当手机接收到蜂鸣器发出的声音后,会执行拍张操作,如果你的手机有前摄像头,还可以控制手机执行切换摄像头操作。
2.工作原理:
本设计主要重点是要调节PWM的频率。
(1)拍照的PWM频率为:先发送ms的频率为Hz的PWM信号(占空比没什么要求,%左右即可);后发送ms的频率为Hz的PWM信号。这个频率精确度越高,nbminer 源码控制的距离就越远。下图是我实际测量的频率,由于逻辑分析仪比较差,测量难免有误差。
(2)切换的PWM频率为:先发送ms的频率为Hz的PWM信号(占空比没什么要求,%左右即可);后发送ms的频率为Hz的PWM信号。
只要让STM开发板发出如上的PWM信号,控制蜂鸣器发声,那么手机就能接收到信号,执行拍照和切换镜头操作。
3.原理图
这个设计的原理图相当简单,学过单片机都用过,只需要一个简单的蜂鸣器电路即可,由于比较简单,我就用面包板搭建了。电路图如下:
除了以上电路,还用到了STM NULCEO-FRB上的-63源码用户按键和LD2。
功能介绍:
考虑到本设计要作为手持设备,因此设置了上电后,板子进入睡眠模式,此时板子功耗低,节约电量。打开手机APP,按下板子上的用户按键,LD2点亮0.5s后熄灭,2s左右后,手机执行拍张功能;按下S1按键,LD2点亮0.5s后熄灭,2s左右后,手机执行切换镜头功能;
4.源代码
见附件
5..实物图
由于电路比较简单,就直接用面包板了,献丑了
实际测试发现,在空旷的神奇源码地方,最远传输距离3M左右。调节PWM的精确度和增大蜂鸣器的功率,传输距离变远,由于最近比较忙,就没再调试下去了..........
6.运行视频
7.注意事项
这里由于需要比较精准的PWM,因此我在开发板上焊接了一个8MHz的外部晶振和两个PF的瓷片电容。
蜂鸣器我使用的是3V蜂鸣器,用5V蜂鸣器传输距离会比较近。
以上是我的参赛方案,虽然比较简单,某宝上也有卖,但是我还没发现哪个网站有介绍我这个作品的,算是首创吧..........或许是因为我是个学渣,没发现吧,大牛勿喷哈.........
利用C单片机,用两位独立按键、四位数码管及蜂鸣器实现时钟的基本功能(走时、定时、调时等)?
,用一位独立按键都可以,参考方案:
一级判断:按键保持1s松开为走时,按键保持3s松开为调时菜单(建议有效采集3-5s),按键保持9s松开为定时菜单(建议有效采集9-s)。
二级判断:当一级菜单有效,按键保持1s松开为逐步选项,按键持续保持3s为值递增。无按键操作s恢复运行。
两位按键似乎程序简短些,应该更好实现,楼主是要程序源代码?
毕业设计 单片机恒温箱控制系统(源码+硬件+论文)
前言:在毕业设计要求日益提升的背景下,许多学生难以满足老师的期望。为了解决这一问题,本文分享了一个实用且创新的毕业设计项目——单片机恒温箱控制系统。此项目结合了源码、硬件和论文,旨在提供一个全面且易于操作的解决方案,帮助学生顺利通过毕设。
主要功能:本系统的核心功能是控制温度保持在一个设定的范围内,实现恒温效果。通过DSB温度传感器采集温度信息,当检测到温度过高或过低时,自动启动加热或冷却程序,确保温度始终稳定在预设的上下限之间。
硬件设计:项目采用PCB电路图实现硬件连接,确保系统稳定可靠。硬件部分主要包括单片机、温度传感器DSB、继电器、指示灯以及蜂鸣器等关键组件,形成了一个完整的温控系统。
核心软件设计:基于单片机和DSB传感器设计的软件,具有温度测量范围广(0-.9℃)、精度高(0.1℃)的特点。系统可灵活设定上下限温度,通过程序更改初始值。此外,支持报警功能,当温度超出预设范围时,蜂鸣器会发出警报,同时指示灯显示加热或冷却状态。
实现效果:系统通过实时监测温度并自动调整加热或冷却状态,确保温度始终保持在设定的范围内。报警提示功能进一步提升了系统的安全性,确保操作者及时了解温度变化。
关键代码:项目包含部分关键代码,这些代码是实现系统功能的核心,包括温度数据采集、温度比较、控制操作及报警逻辑等。代码清晰、易于理解,对于学习者而言,具有很高的参考价值。
总结:本文分享的单片机恒温箱控制系统项目,结合源码、硬件和论文,提供了一个完整的温控解决方案。通过实际操作和代码示例,为学生提供了学习和实践的机会,有效提升毕设质量和通过率。
秒表计时,按S0开始计时,并由数码管显示,再按S0停止。若计满1分钟结束未按S0停止,则蜂鸣器报警
使用搭配最小系统就能实现了。
关键在定时器上面,如果不需要精确的就用C写个延迟函数。
具体可参考我的空间:
单片机数码管显示数字递增
关键字: 单片机 动态扫描 数码管 整数递增 让单片机的数码管显示的数从0开始递增一直到,然后重新置0,再递增,如此循环.
还是用到了将要显示的数进行百位,十位,个位的分离.
从这篇开始,以后的程序就要注意程序的规范性,与可读性了.源代码如下(已经成功调通):
C代码
#include<reg.h>
#define uint unsigned int
#define uchar unsigned char
sbit sda = P1^0;
sbit clk = P1^1;
sbit dig1 = P1^2;
sbit dig2 = P1^3;
sbit dig3 = P1^4;
sbit dig4 = P1^ 5;
uchar code table[]={ 0x7e,0x0c,0xb6,0x9e,0xcc,0xda,0xfa,0x0e,0xfe,0xde};
uchar times;
void init();
void delay(uchar);
void write(uchar);
void display(uchar);
void main()
{
uchar i = 0;
init();
while(1)
{
display(i);
if(times>2)
{
times = 0;
i ++;
if(i==)
i = 0;
}
}
}
/** 显示一个3位的整数 **/
void display(uchar num)
{
uchar bai,shi,ge;
bai = num/;
shi = num%/;
ge = num%;
/* 显示个位 */
dig4 = 0;
write(table[ge]);
delay();
dig4 = 1;
/* 显示十位 */
dig3 = 0;
write(table[shi]);
delay();
dig3 = 1;
/* 显示百位 */
dig2 = 0;
write(table[bai]);
delay();
dig2 = 1;
}
/** 程序初始化函数 **/
void init()
{
clk = 0;
times = 0;
TMOD = 0x; //定时器模式1
TH0 = (-)/; //每毫秒产生一次中断
TL0 = (-)%;
TR0 = 1; //开始计时
EA = 1; //打开总中断开关
ET0 = 1;
}
/** 向数据码管写入一个字节数据 **/
void write(uchar u)
{
uchar i;
for(i=0;i<8;i++)
{
clk = 1;
sda = u&0x;
clk = 0;
u = u<<1;
}
}
/** 延迟函数 **/
void delay(uchar t)
{
uchar x,y;
for(x=t;x>0;x--)
for(y=;y>0;y--);
}
/** 1号中断 **/
void timer0() interrupt 1
{
TH0 = (-)/; //每毫秒产生一次中断
TL0 = (-)%;
times ++;
}