蜂鸣器

基于安卓的单臂机器人(二)

偶尔善良 提交于 2019-12-09 15:36:55
这篇文章主要是对硬件方面进行阐述,用到的工具软件是Altium Designer 09画电路图,Visio Studio画流程图。 系统硬件设计 整体方案概述 硬件部分是整个小车系统的核心部分,它的作用是响应APP发送来的指令,采集视频数据并将视频流推送给APP,通过单片机I/0口控制各个模块的工作,由于小车底盘空间位置有限,需要将整个系统的电路分两部分做板子,考虑到后期调试的方便,车灯、蜂鸣器、循迹、驱动模块都设置了按键开关,这样就可以分模块调试了。 硬件总体框图: 单片机模块 因为系统需要较多的pwm输出,较大的内存空间,平时使用的51单片机达不到要求,如果用STM32来做又浪费太多资源,而且对STM32不熟悉,将会给编程带来难度。于是我选用较为熟悉的单片机STC15F2K60S2,它有三个定时器,其中一个可以给串口通信使用,另外两个定时器可以给避障模块计算距离和机械臂模块控制用。另外,可以通过该单片机的PCA产生三路pwm信号,可以用于机器人速度或者其它系统功能,为了后期功能拓展,把没用到的管脚通过排针预留出来。 单片机模块电路图: 电源模块 因为用到两个电压,L298N驱动模块要用到5V和12V电压,其它模块都是用5V电压,供电电源由8个1.5V干电池组成,因此选用7805将12V转为5V。 车灯模块 和蜂鸣器控制原理相类似,因为车灯功率比较大,所以没有加限流电阻。

小蜜蜂单片机——实现蜂鸣器与继电器的基本控制

丶灬走出姿态 提交于 2019-12-07 17:47:34
首先让8路led指示灯闪烁3遍后熄灭,接着依次点亮led指示灯,继电器吸合一会后断开,然后依次熄灭led指示灯,蜂鸣器鸣叫一会后关闭,程序循环实现上述功能。 在上次学的led跑马灯的基础上改 # include "reg52.h" sbit HC138_A = P2 ^ 5 ; sbit HC138_B = P2 ^ 6 ; sbit HC138_C = P2 ^ 7 ; //注意是P2 void delay ( unsigned int t ) { while ( t -- ) ; while ( t -- ) ; } void ledrunning ( ) { unsigned char i ; HC138_C = 1 ; HC138_B = 0 ; HC138_A = 0 ; //Y4输出低电平 for ( i = 0 ; i < 3 ; i ++ ) //闪烁3遍熄灭 { P0 = 0x00 ; delay ( 60000 ) ; delay ( 60000 ) ; P0 = 0xff ; delay ( 60000 ) ; delay ( 60000 ) ; } for ( i = 1 ; i <= 8 ; i ++ ) //led依次点亮 { P0 = 0xff << i ; delay ( 60000 ) ; } for ( i = 1 ; i <= 8 ; i ++

按住一个按键不松手的加速匀速触发

对着背影说爱祢 提交于 2019-12-06 12:02:33
/*   实现功能:两个独立按键S1和S2,S1作为加键,S2作为减键。每按一次S1键,则被设置参数uiSetNumber自加1.   如果按住S1键不松手超过1秒,被设置参数uiSetNumber以不断边块的时间间隔往上自加1,这个为加速触发的功能,   直到到达极限,则以固定的速度加1,这个过程叫匀速。S5作为减法按键,每触发一次,uiSetNumber就减1,   其加速和匀速触发功能跟S1按键一样。当被设置参数uiSetNumber小于500的时候,LED灯灭;当大于或者等于500   时,LED灯亮。 */ #include "REG52.H" #define const_voice_short 40 #define const_key_time1 20 #define const_key_time2 20 #define const_time_1s 444 //1秒钟时间需要的定时中断次数 #define const_initial_set 160 //连续触发模式时,按键刚开始的间隔触发时间 #define const_min_level 30 /*连续触发模式时,按键经过加速后, 如果一旦发现小于这个值,则直接变到最后的间隔触发时间*/ #define const_sub_dt 10 //按键的加速度,相当于按键间隔时间每次的变化量 #define const

蜂鸣器的驱动程序---吴坚鸿

*爱你&永不变心* 提交于 2019-12-05 17:56:48
#include "REG52.H" #define const_time_05s 222 #define const_time_1s 444 #define const_time_3s 1332 #define const_time_6s 2664 #define const_voice_short 40 #define const_voice_long 200 void initial_myself(); void initial_peripheral(); void delay_long(unsigned int uiDelaylong); void led_flicker(); void alarm_run(); void T0_time(); sbit led_dr=P3^5; sbit beep_dr=P1^5; unsigned char ucLedStep=0; unsigned int uiTimeLedCnt=0; unsigned char ucAlarmStep=0; unsigned int uiTimeAlarmCnt=0; unsigned int uiVoiceCnt=0; void main() { initial_myself(); delay_long(100); initial_peripheral(); while(1) { led

Music模块

时光怂恿深爱的人放手 提交于 2019-12-05 01:43:02
micro:bit中,MicroPython提供一个Music模块,提供播放音乐的方法,但值得注意的是,控制板上并没有蜂鸣器,所以要外接蜂鸣器,才能听到效果 ,一般接到pin0端口,和gnd地,robotbit扩展板上就是这样接的。如果要用Music,pin0就不能用做其他作用了。注意有个跳线帽,可以切断,pin0与蜂鸣器的连接。一般,我们都要用到蜂鸣器,所以路线帽都是插在原位的。 music播放音乐,一般用做提示某个操作状态的。起到提示音的作用。 用法: import music music.play(music.NYAN) music模块中提供了内置音乐,我们可以直接使用。 music.DADADADUM music.ENTERTAINER music.PRELUDE music.ODE music.NYAN music.RINGTONE music.FUNK music.BLUES music.BIRTHDAY music.WEDDING music.FUNERAL music.PUNCHLINE music.PYTHON music.BADDY music.CHASE music.BA_DING music.WAWAWAWAA music.JUMP_UP music.JUMP_DOWN music.POWER_UP music.POWER_DOWN 自制乐谱:

简单超声波报警器的实现(arduino+超声波传感器+蜂鸣器+LED)

匿名 (未验证) 提交于 2019-12-02 23:43:01
如题,这是一个使用arduino以及多个传感器实现的一个警报器,Let's get started! 1.首先是电路图的确定 2.代码部分 程序无误后我们就可以将代码上传到开发板了 3.可能出现的错误 1)电脑无法正确识别开发板 2) avrdude: ser_open(): can't open device "\\.\COM7": 4.实现效果 1)首先是静息状态,即超声波传感器没有感应到物体接近,LED以及蜂鸣器都没有动作(如图) 1)接着是反应状态,在有物体接近的时候,LED亮起,蜂鸣器发出声音。 总结 1.首先是电路图的确定 如图,将超声波传感器按照上图的连线方式连接到开发板上; 再将LED以及蜂鸣器链接上。 连线部分到这完成。 2.代码部分 在完成连线部分之后,我们就可以进行代码部分的编写了,首先是IDE的选择,必须选择Arduino,不能选其他的,没有就去下载,附带Arduino官网地址: www.arduino.cc 。 源程序如下: const int TrigPin = 2; const int EchoPin = 3; int LedPin = 12; float cm; void setup() { Serial.begin(9600); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT); pinMode(8

蜂鸣器的驱动程序---吴坚鸿

こ雲淡風輕ζ 提交于 2019-11-28 07:54:37
#include "REG52.H" #define const_time_05s 222 #define const_time_1s 444 #define const_time_3s 1332 #define const_time_6s 2664 #define const_voice_short 40 #define const_voice_long 200 void initial_myself(); void initial_peripheral(); void delay_long(unsigned int uiDelaylong); void led_flicker(); void alarm_run(); void T0_time(); sbit led_dr=P3^5; sbit beep_dr=P1^5; unsigned char ucLedStep=0; unsigned int uiTimeLedCnt=0; unsigned char ucAlarmStep=0; unsigned int uiTimeAlarmCnt=0; unsigned int uiVoiceCnt=0; void main() { initial_myself(); delay_long(100); initial_peripheral(); while(1) { led

重学计算机组成原理(十一)- 门电路的\"千里传音\"

余生颓废 提交于 2019-11-27 19:30:59
人用纸和笔来做运算,都是用十进制,直接用十进制和我们最熟悉的符号不是最简单么? 为什么计算机里我们最终要选择二进制呢? 来看看,计算机在硬件层面究竟是怎么表示二进制的,你就会明白,为什么计算机会选择二进制。 1 怎么做到“千里传书” 马拉松的故事相信你听说过。公元前490年,在雅典附近的马拉松海边,发生了波斯和希腊之间的希波战争。雅典和斯巴达领导的希腊联军胜利之后,雅典飞毛腿菲迪皮德斯跑了历史上第一个马拉松,回雅典报喜。这个时候,人们在远距离报信的时候,采用的是派人跑腿,传口信或者送信的方式。 但是,这样靠人传口信或者送信的方式,实在是太慢了 在军事用途中,信息能否更早更准确地传递出去经常是事关成败的大事 所以我们看到中国古代的军队有“击鼓进军”和“鸣金收兵”,通过打鼓和敲钲发出不同的声音,来传递军队的号令。 如果我们把军队当成一台计算机,那“金”和“鼓”就是这台计算机的“1”和“0” 我们可以通过不同的编码方式,来指挥这支军队前进、后退、转向、追击等等。 “金”和“鼓”比起跑腿传口信,固然效率更高了,但是能够传递的范围还是非常有限,超出个几公里恐怕就听不见了。于是,人们发明了更多能够往更远距离传信的方式,比如海上的灯塔、长城上的烽火台。因为光速比声速更快,传的距离也可以更远。 亚历山大港外的法罗斯灯塔,位列世界七大奇迹之一,可惜现在只剩下遗迹了

单片机工程师是高薪岗位,按照这个步骤学习才能快速入门获得高薪

不羁的心 提交于 2019-11-26 19:59:45
现在的电子产品,随便拿来一个拆开,都能看到单片机的身影,单片机在电子产品中已经成了标配。因为现在的电子产品都是以单片机为核心,根据不同的需求加以不同的外设电路,再做一些认证相关的设计工作,都是这个构架。以智能手环为例,可以实现步数统计、心率检测、液晶显示、与手机蓝牙通讯、手机来电振动等功能,这些功能通过选用相关的传感器、元器件来实现,最后单片机做数据处理和逻辑处理,核心还是单片机,功能框图如下所示。 1-以单片机为核心的智能手环电路框图 如今,各种家电、智能穿戴设备、各种数码产品层出不穷,需求量越来越大,这也使得单片机工程师这个岗位需求量巨大,在不同的公司中,这个岗位有不同的称呼,如单片机工程师、电子工程师、硬件工程师、数电工程师等。相对于互联网程序员,单片机工程师低调的多,因为硬件是一个平台,是幕后,所有的效果、界面都是由代码呈现的,所以程序员成了台上的明星。平台可能只有一个,但是明星却有很多,这就要求你这个平台够硬。可以单片机工程师的重要性并不亚于程序员,而单片机工程师的待遇也不会很差,前提是你要坚持住。 2-华为体脂秤的国产单片机,来自芯海科技 所以,单片机是一门很有用的技术,学会单片机可以找一份很好的研发岗工作,享受很好的工资待遇。但是万事开头难,在初学入门阶段可能摸不着头脑无从下手毫无头绪,如果有了比较好的学习方法,单片机学习起来也是很有趣、很容易的

STM32无源蜂鸣器播放音乐

风格不统一 提交于 2019-11-26 07:31:01
目录 ​ 1.STM32产生PWM波驱动无源蜂鸣器使其发声 2.音乐播放原理 3.音乐文件制作(播放自己喜欢的音乐) 4.用蜂鸣器播放音乐 1.STM32产生PWM波驱动无源蜂鸣器使其发声 1)查看原理图,找到对应引脚(我这里时PA1) 2)打开CubeMax,输入自己芯片的类型确定后,配置好系统时钟RCC,我这里是80Mhz,找到相应引脚PA1设置为GPIO_Output模式(用来切换引脚状态,使蜂鸣器发声), 3)设置定时器我这里用TM2 2.音乐播放原理 原理:给无源蜂鸣器输入不同频率的PWM波(构成不同音调) 让PWM波持续不同长度的时间(构成节拍) 3.音乐文件制作(播放自己喜欢的音乐) (1)1=F,表示这首曲子是F调的。 3/4,是表示这首曲子是34拍。 (2)音符下面有一条横线,这个表示的是 节拍 。 下面 没有线的音符 ,叫做四分音符,也就是 一拍 ,如果用数组来表示节拍时一般用 4 来表示 一拍 (当然可根据自己喜好来定) 下面 有一根横线的音符 ,叫八分音符,是 半拍 ,如果用数组来表示节拍时一般用 2 来表示 半拍 (当然可根据自己喜好来定) (3)音符上面有一个点。 上面有点的是高音 , 下面有点的是低音 , 没有点的是中音 。(对应的音区,我们称之为低音区,中音区,高音区,看图更易懂) 查看百度文库文库: 歌谱中所有音调对应的频率 (4