8音键电子琴介绍: 该设计采用AT89C52(AT89C52数据手册)单片机作为主控制芯片,外接灯光闪烁功能和8音调键。共有8个音节和4个功能按键。可播放内置乐曲,可弹奏录音,采用24C02(24C02数据手册)芯片作为EEPROM存储,掉电不掉内容,LM386(LM386数据手册)功放模块外接扬声器。 具体功能介绍: 8个弹奏键,具有很强的娱乐性。 独创--弹奏录音功能 能录音,能回放,听起来更惬意。 内置多首音乐。 4个功能按键设计,PLAY(播放)NEXT(下一首),PRE(上一首),STOP(停止)按键。 5V电源转接PIN,供电稳定,方便实用。 采用LM386功放和专用音乐喇叭,声音更柔和动听,不再是蜂鸣器的刺耳啸叫。 原理图截图: 附件内容包括: 整个电路设计原理图和PCB源文件,用AD软件打开; 源程序; 仿真电路,用proteus软件打开; BOM表;
2021-12-03 22:35:08 109KB 51单片机 电子琴 diy制作 8音乐盒
1
【RT-Thread作品秀】远程调试终端作者:钟良涛 概述本设计灵感来源于调试人员出差调试设备遇到困难时,提供指导的工程师可以远程实时查看调试数据,以提供指导。本设计实现了一个远程调试助手,ART-Pi接收到无线串口按一定协议发送的数据后,将数据解析并打包为json格式发送给订阅该话题的MQTT上位机。搭配ART-Pi Mate可实现多种通信接口的调试。 开发环境硬件:ART-Pi ART-Pi Mate(自主设计) RT-Thread版本:4.0.3 开发工具及版本:RT-Thread Studio 2.0.0 PyCharm20.2 Python3.7 RT-Thread使用情况概述组件:finsh、lwIP、SPI、串口、Pin 软件包:cjson、wlan_wiced、phaomqtt、AT command 内核:信号量、多线程 硬件框架硬件框图如上图所示,硬件部分由ART-Pi和ART-Pi Mate和以CC2530无线透传模块模拟的调试设备组成。其中ART-Pi Mate为专为ART-Pi设计的扩展板,包含LCD、UART、NRF24L01等功能。 以CC2530无线透传模块模拟待调试的设备,将该模块连接到PC机,按照固定的协议格式发送数据包到ART-Pi Mate上焊接的CC2530无线透传,ART-Pi以串口中断的方式进行数据读取并解析,随后将数据打包为Json格式通过Wifi发送至MQTT上位机。 软件框架说明该应用中软件分为嵌入式软件部分和桌面端软件。嵌入式软件实现调试终端的数据接收、解析、打包、发布等功能,桌面端软件实现数据的接收和显示功能。软件流程如上图所示,调试终端数据处理线程对CC2530无线透传模块发送的数据进行解析、打包,然后由MQTT客户端线程进行数据发布。桌面端软件的MQTT客户端线程订阅调试终端发送的话题,然后通过信号槽的方式通知Qt界面线程刷新界面以显示数据。 软件模块说明数据接收模块: 数据接收模块通过串口中断的方式实现,首先以中断的方式打开串口设备,然后每当有数据达到时,触发相应的中断回调函数,在中断回调函数里发送有数据到达的信号量,通知数据处理线程进行数据读取。 数据解包: 数据包的格式定义如下: 以状态机的方式进行数据解包,状态机转移图如下图所示: 数据打包: 该设计将JSON打包为如下格式: 演示效果演示视频: 比赛感悟通过本次比赛熟悉了rt-thread的操作系统以及rt-thread studio的使用方式,被rt-thread优雅的设计所折服。通过这次比赛,使用了rt-thread的线程、信号量、设备模型、组件、软件包等功能,在搭配rt-thread studio进行开发时,是非常的便捷的,直接在设置中打开对应的功能,rt-thread studio就会自动下载好相应的资源并为我们配置好,使原本复杂的配置过程简单化,极大程度的提高了开发效率。 在参赛过程中也遇到了不少问题,其中包括开发板启动不成功,最后通过重新刷写bootloader解决;还有出现了线程堆栈溢出,通过调整堆栈大小解决;还有自己编写的软件模块在重新配置软件包后在工程中消失的问题,最后重新新建源代码文件夹解决;选择MQTT软件包并使能例程后,源代码中没有对应代码,最后发现和软件包版本有关系。总之,开发过程中遇到了一些大大小小的问题,但解决问题的过程就是能力提升的过程,也很感谢主办方提供的这次宝贵的比赛机会。
2021-12-01 09:46:13 1.37MB diy制作 rt-thread 电路设计方案 电路方案
1
本文首发于DF创客社区,作者:云天 原文链接:http://mc.dfrobot.com.cn/thread-296401-1-1.html 【设计背景】 当在公园、郊区等偏僻区域或黑夜无人情景,发生突发事件,手机等通讯设备被抢、丢失或未携带等,需报警求救。在这种孤立无援情况下,我们急需报警求救设施。 根据以上需求,相关部分可在以上这种环境下设置智能报警路灯。 【设计思路】 1、路灯配置智能终端(手机),利用人脸识别技术,采集人脸信息,后台记录(减少谎报),采集成功后,开启报警页面。 2、利用超声波检测到报警人,点亮路灯,并利用路灯发出求救信号,扩大求救范围。 【设计草图】 设计草图 【演示视频】 报警端演示 后台显示报警人 【材料准备】首先根据设计思路,准备好制作智能报警路灯所需的材料,清单和说明如下表和下图所示。 【电路设计】 为了方便编写程序,先设计智能报警路灯的电路连接关系,电路原理图如下图所示。 【程序设计】# 程序流程图设计 在写程序之前,先梳理一下思路,设计程序流程图,如下图所示。 ##硬件程序流程图 ##APP程序流程图 【ArduinoLeonardo硬件代码】#include #include double mind_n_bs; char mind_s_str; const byte LedArray_BBlG[] = {//"S"字模 B00111000, B01100100, B01100000, B00110000, B00011000, B00001100, B00100110, B00011100, }; const byte LedArray_pFgv[] = {//"O"字模 B00011000, B00100100, B01000010, B01000010, B01000010, B01000010, B00100100, B00011000}; const byte LedArray_42Se[] ={//“S”字模 B00111000, B01100100, B01100000, B00110000, B00011000, B00001100, B00100110, B00011100, }; const byte LedArray_PPNP[] = {B01100110,B11111111,B10011001,B10000001,B11000011,B01100110,B00111100,B00011000};//“心型”图案 DFRobot_LedControl max7219(5, 3, 4);//LED点阵(MAX7219),初始化DIN引脚为5,CS管脚为4,CLK管脚为3 DFRobot_Ultrasonic ultraA0;//模拟超声波 void SOS(); void XianShi(); void SOS()//12引脚上接电磁继电器,控制灯的开关,发出“SOS”莫尔代码 { digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(1500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(1500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(1500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100); } void XianShi()//LED点阵显示内容 { max7219.show(LedArray_BBlG); delay(200)
2021-11-28 14:32:58 957KB diy制作 电路方案
1
本文介绍的是带电压电流表的多功能STC免冷启动自动下载器,功能如下: 由于常用的STC自动下载器没有电流检测功能,没法判断实验板的工作电流大小,怕电流过大,不方便,所以自己动手DIY个带电压电流表的下载器。主要功能有自动下载、各接口的电压、输出的工作电流、及4路电压表。4路电压表用于实验板特定点的电压监测,充分利用单片机的资源,不浪费。对于自动下载器的原理网上有,就是监测串口是否连续输出0X7F的值,有就说明要断电重启下载数据,本下载器支持1200-115200b的常用波特率,程序是采用每0.1S改变一下串口的波特率(由于采用先判断收到不是7F值就改变波特率的方法会出现有时不响应。所以改为这种方式。),然后检查是否有7F的值,如有就停止改变波特率,如连接接收到7F值,就关电0.4S再开电。 STC自动下载器制作器件清单: 这个制作电压检测最大为25V,电流最大为2A,它的受控输出接有1A的保险的,所以采控电流不能过大,它的输出接口有专门USB供电的直出口,可以利用这个接口外接USB座,可以把这东东变身成USB电压电流表。 工作界面如下,分2页显示,下图为第一页,显示有输出5V的电压值及输出的3.3V的值、输出电流值、外接输入的值、单片机的供电,如当USB电压电流表时,跳线短接USB供电,CPU的电压为USB输出电压。 PCB截图: 说明:由于上图PCB制作是没找到表贴LED的封装,用二极管的封装,所以尺寸大了,而且有一线布不过去,用跳线跳过的,如下图右上角接口那条红线,它是连接两个焊盘。电路板设计是采用表贴47U电容,实际使用中出现向外供电时,单片机出现重启的情况,加表贴电容的方法也解决不了问题,后来只加个普通的100U的电解就解决了,这个有可能是表贴电容性能有问题,所以电路板上多了2个电解电容。 以下是装上元件的图,焊工一般,能用。 接口的图,由于内部单片机及输出有多个输入源可选择,所以有跳线,分别选择USB供电,外接5V供电,外接12V转5V供电,由于板过小,三端稳压散热位小,所以如用12V转5V稳压供电时,电流不能过大,会出现过热的情况。
2021-11-26 13:13:58 910KB 电流检测 diy制作 stc下载器 电压监测
1
蓝牙耳机 电路图,资料来自网上收集,分享给大家了
1
基于51系列单片机的8*16音乐频谱显示,使用的单片机是ST15F2K60S2,最后实现的效果是动感的频谱跟随音乐节奏优美的舞动。 本人制作这个音乐频谱显示只是用来娱乐,所以,电路比较简化,这样既可以节省元器件,也可以减少DIY 的难度,提高我们的兴趣。 硬件电路有以下几个优点: 1.采用USB转DC-005接口供电。 2.省去了 MCU 的复位电路,以及晶振和两个起振瓷片电容,但一般不影响系统正常工作。 3.双音频插孔设计,接口1可连接电脑或者手机,同时接口2可连接低音炮或者音响;不影响正常的音频输入输出。 4.采用0805贴片LED来显示,不仅特别的亮,而且比用普通的扁平头LED效果更美更节约体积,贴片LED具有免钻孔,便于DIY。
1
一直想做一种属于自己的雕刻机,机会来了 网上的雕刻机大多是arduino的,而且还提供了源码 今天在贴吧里看到了一个楼主做的基于单片机的雕刻机,有详细的源代码和上位机软件 把代码分享在这里给有需要的人下载,上个月在小米社区里也找到了其他的雕刻机资料,一块打包上传了。
2021-11-18 08:12:45 30.3MB 51单片机 diy制作 电路方案
1
项目:智能手表使用的PIC24F单片机作为控制器,除了可以显示时间,还可以作为一个提醒备忘功能,加速度传感器和磁力计可以进行专业测量,智能手表使用的是128*128的OLED进行数据显示。USB-HID(无线)和蓝牙4.0接口方便智能手表与外部进行数据传输。 描述: 2013-2014有不知道多少人,多少家公司都在制作可穿戴设备,去网上搜搜,能说出名字的不外乎那几个。 淘宝上的产品价格也是不一样的,从几十到几千的都有,功能却不尽相同。 近日看到国外的一个家伙做的智能手表,很不错,都已经做出2版了,性能应该已经很完善了,就拿出来分享给大家。 国外的工程师能做出来的东西,对我们中国的工程师自然也是小菜一碟。 下面言归正传,介绍这个智能手表的功能、性能如何吧。 这个项目的部件都可以从代理商或分销商那里购买,比如e络盟,Digikey等,而且只要你有一点硬件基础,就可以自己焊接的。 手表使用的是PIC24F(PIC24F数据手册)单片机和一个128*128 RGB的OLED显示屏,以及一个加速度传感及和磁力计。带有USB-HID(无线)和蓝牙4.0连接模式。 特点: 实时时钟,可以准备告诉当前时间; 提醒功能,大学课程表,可以告知一节课是什么课在哪里上 USB-HID接口进行通信和bootloader程序引导启动 基本的加速度测量 电池充电和电量监控 Anti-aliased字体绘制 附件:使用Altium Designer绘制的原理图源文件、gerber文件、bom清单、软件源代码与固件、装配指南。 推荐套件:无线手表开发工具
1
罗列所需器件: STM32F103RC单片机 3.5寸,480x320的IPS显示屏,型号:IPS3P4140 四个按键及SD卡座。S1为下一张,S2为上一张,S3为暂停,S4为调节亮度 左上角有两个排针,左边为SW调试接口,右边为串口 LCD测试 刚开始的时候不知道STM32的有些管脚上电默认为JTAG调试,我搞了半天都没找到原因,还以为单片机坏了。后来才知道,要把JTAG禁用了才行。 总结: 1、单片机片上资源有限,只能才用IO口模拟来驱动LCD,SPI1驱动SD卡。 2、我也是第一次用STM32有些功能还不会用,想用SPI+DMA可惜不会。 3、程序我是移植原子的,原子的程序在显示图片时,如果图片比屏幕大就会进行缩放,导致的结果就是图片会有失帧。 3、只支持BMP,JPG,JPEG类型的图片。 4、刷屏时间有点慢,图片越大越慢。 5、按键只有图片显示完成后才起作用。 附件内容截图:
2021-11-16 14:42:50 2.56MB diy制作 stm32f103r 电路方案
1
本文和大家分享基于Arduino的开源头追的制作。首先,先介绍下Arduino,Arduino简单来说就是一块单片机,他是一个开放了源代码的硬件平台,并且提供了开发平台,重要的是,这一切都是for free的,并且Arduino的编程环境比较简单,初学者很容易能上手,而且有大量的开源程序供你参考。 说回到这个开源头追来,原理是:通过GY-85九轴IMU传感器(三轴陀螺仪、三轴加速度计和三轴地磁计)来实时输出当前位置与起始位置之间在三维空间中的变化,再通过Arduino Nano控制器,转化成X、Y、Z三个通道的PPM信号,输入到遥控器中,通过遥控器的“教练”功能,映射三个通道来控制云台的方向(Pan),俯仰(Tilt)和倾斜(Roll)从而实现摄像头角度的变化。由于飞行员通常不会在驾驶室做歪脖子的动作,所以我后续只用到了方向和仰俯轴,简化云台为二维云台。 在此介绍ADI的3轴加速度计ADXL345(ADXL345典型应用)。ADXL345(ADXL345典型应用)是一款小而薄的低功耗3轴加速度计,分辨率高(13位),测量范围达±16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。 ADXL345(ADXL345典型应用)非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(4 mg/LSB),能够测量不到1.0°的倾斜角度变化。 原理介绍完毕,项目需要的硬件如下: 1、Arduino nano控制板一块; 2、miniUSB线一根;(用来连接控制板刷程序) 3、GY-85九轴传感器一块; 4、杜邦线若干 头追演示视频: 头追硬件制作过程见附件 相关技术方案: 加速度传感器ADXL345典型应用 本参考设计基于ADI公司的ADXL345,实现了加速度传感器的一系列典型应用,包括:计步器,闪信,硬盘跌落保护,人体跌倒保护,倾角测量,旋转检测,晃动检测,单击、双击检测以及其他智能检测功能和游戏控制功能,等等。 ADI民用无人机解决方案 ADI拥有一支致力于支持新兴无人系统市场的团队和业务部门。ADI的产品组合覆盖空中、地面和海上无人系统,从小型消费类产品到大型长航时系统。 ADI产品组合专注于五个主要领域以支持无人系统业务:大气数据、姿态和航向,参考系统收发器,有效载荷,安全和监控,机身。除了以上产品之外, ADI公司丰富的产品组合支持包括控制站、数据采集等众多产品。
2021-11-15 18:35:36 7.06MB 四轴飞行器 diy制作 电路方案
1