重力感应式蓝牙 FM 收音机设计(源码、详细制作讲解、视频演示) 电路方案

上传:qq_29067 浏览: 10 推荐: 0 文件:ZIP 大小:475.48KB 上传时间:2021-05-03 08:49:04 版权申诉
先说说硬件环境,使用的是STM32F4DISCO(自带加速度)+Si4703+LCD5110。软件设计上,虽然应用的核心功能是收音机了,但是和大部分的应用相似,没有良好的用户交互界面,使用体验是要大打折扣的。所以下面的文字大部分都集中在用户交互设计上。 首先是控制部分,加速度计可以提供上下左右4个方向的控制,在应用中给音量增减和电台下上切台使用。由于敲击功能没有实现,因此电台的开关交给了开发板上的用户按键。用户按键原计划使用callback来实现功能,但是测试木有成功啊。不过既然加速度值也是用polling的话,那不如按键也一起好了。扫描使用最原始的方式,扫描到以后,延时10ms,然后再判断是否按下。加速度计在使用时,也存在类似的抖动,因此也使用了相同的逻辑来消抖。同时,通过测试,给定了一个加速度计倾转的阈值:g=0.3,也就是说当某个方向(不含z)的g大于0.3,表示有用户动作发生。 接下来就是显示界面了。整个5110有6行高度为8的字符可用,每行84个点。应用要显示的核心内容是电台频率和音量,内容不多,因此可以适当放大。最终频率选择了12*24的字体,占用3行,又不会把整行撑满;音量做了以模拟的bar显示,用竖条|||||||的多少表示音量的打下,占用两行;这样还多出一行,用来显示一个固定字符串“PY FM Radio”。 整体界面如下图所示: 事先用其他方式确定了若干个本地效果较好的电台,放到了radiolist中。当发现有左右手势的时候,取出radiolist中的下一个电台频率值,发送给Si4703,并更新显示界面,电台频率是绕圈改变的,也就是说到了radiolist的最后一个,下一次就回到了第一个。当发现有上下手势时,对volume进行响应的改变,并发送给Si4703,并更新显示界面。音量最大15,最小0(表示静音)。当发现有用户按键动作时,在开关状态之间切换。关闭时,清除屏幕,关闭Si4703;开机时,正常显示,FM工作。 视频演示: 说明: 设计过程中发现了浮点数运算的精度问题。比如频率99.6Mhz,在list当中是存成996的,显示的时候,通过运算channel=str(996/10),将电台转为浮点字符串99.6。前期调试的时候,用的电台较少,没有问题。后面把所有电台都加上时,发现有些电台,比如890,做了除法运算以后,变成了89.0001,导致显示行方向溢出。最后通过字符串截取的方式取到自己想要的长度。python似乎没有printf? 目前还有一些小问题,比如加速度识别的抖动有时候还会出现,音量有时候会有跳变等等。最后通过视频看下具体效果吧。 详细的制作讲解和main.py见附件内容。
上传资源
用户评论
相关推荐
重力感应遥控小车设计源码视频演示电路方案
重力感应遥控小车概述: 基于Mini STM32的重力感应无线遥控小车,主要是通过nrf905传送利用MMA7455倾角传感器得到的角度值,小车接收角度值等信息后判断做出相应的动作并通过角度的不同还可
ZIP
4.08MB
2021-04-25 10:47
简易制作蓝牙控制开关程序加蓝牙APP加制作讲解电路方案
我要实现的功能就是能用我手机控制电源的通、对家里的电器的开关进行控制。(目前只是内网操作) 1.首先是蓝牙APP 易安卓编写的,说编写其实我只是修改了其中的一些内容,主要的部分都是通过视频学习的,不过
ZIP
327KB
2021-04-23 18:36
了不起的谷歌眼镜源码制作讲解视频演示基于安卓系统电路方案
谷歌眼镜现在火的不行,在能拿到手或者买得起之前,先自己做个玩玩。 首先看看谷歌眼镜上都有什么。 1. 头戴显示器,利用折射到视网膜上 2. 摄像头 3. 骨传导扬声器+麦克风 4. 触摸板 5. 运动
ZIP
1.44MB
2021-05-04 04:34
蓝牙行车电脑制作方案电路方案
整个系统采用ATmega64作为主控芯片,用24064的黄绿液晶作为显示屏(T6963C驱动),DS1302作为时钟芯片,读取时间。用2个DS18B20温度传感器检测车内及车外温度,用C3-370C的
ZIP
1.02MB
2021-04-26 00:52
FM收音机电路的调谐电路
本文介绍的主要是FM收音机电路的调谐电路
PDF
92KB
2020-09-20 06:27
基于TEA5767FM收音机源码加仿真电路分享电路方案
该FM收音机采用TEA5767收音机模块、51单片机以及1602液晶显示模块等构成,再加入了24C02,用于保存搜到的频道,和保存关机前上次播放的频道。 FM收音源码编译已经通过测试,TEA5767和
ZIP
461KB
2021-04-26 01:02
FM收音机源码
MTK6589自带收音机源码,不能单独运行,可参考
ZIP
0B
2019-09-11 22:17
转智能机专用蓝牙GPS制作讲解原理分析等电路方案
最近买了一些GPS模块打算用在我们的机器人上,就顺便花了一个下午用一个蓝牙串口模块配合,做了一个可以给带蓝牙的智能机使用的蓝牙GPS。效果不错,就和大家分享下制作过程吧。 上图就是成品的外观,我使用了
ZIP
90KB
2021-04-26 08:30
矩阵按键无线蓝牙遥控器制作讲解IR控制源码上位机源码电路方案
附件内容分享的是代码与工程,包括上位机程序和R7F的程序。上位机程序比较简单,主要是通过蓝牙串口接收到R7F通过蓝牙发送过来的字符串,这些字符串直接通过上位机的解析后变成了各种鼠标、键盘、快捷键的命令
ZIP
1.04MB
2021-04-24 14:58
解读车载AM FM收音机电路
为了实现低成本 AM/FM车载收音机应用,本文引入低成本微控制器MC9S08QG8、集成收音芯片TEF6621、低成本音频处理及高保真功率输出方案,并以精简硬件设计电路,同时描述了器件选择、总体构建思
PDF
72KB
2020-08-15 01:58
收音机详细电路制作过程详解
这是一个自己学习做收音机的详细讲解资料,希望对广大电工电子爱好者有一定的帮助。它对学习高频的同学有好大的帮助
PDF
0B
2019-07-09 20:03
DIY制作广州塔详细制作资料原理图加制作讲解加程序源码电路方案
可能感兴趣的项目设计: 能歌善舞的广州塔——自带MP3,红外遥控LED音乐频谱DIY制作,资料下载链接:https://www.cirmall.com/circuit/5658/detail?3 广州
ZIP
9.26MB
2021-05-08 05:47
DIY带线性刻度的复古外观FM收音机电路方案
包含一个线性标尺,其中以一个彩色LED点显示频率,该点是WS2812 LED灯带的组成部分。 硬件组件: Arduino Nano R3×1个 WS2812可寻址LED灯带×1个 SparkFun F
ZIP
462KB
2021-05-01 04:43
arduino手机蓝牙遥控小车制作电路方案
手机蓝牙控制的小车用一个mega32u4带两路直流电机驱动的整合开发板Mboard制作的,所需配件如下: 第一步,先把小车组装好。我想各位小伙伴们都有自己心爱的小车模型了吧? 我们以亚克力小车为例,安
ZIP
1.22MB
2021-04-30 18:40
解读车载AM FM收音机电路
本文将解读车载AM/FM收音机电路
PDF
82KB
2020-08-15 01:58