当前位置: 首页 > news >正文

专业建设物流行业网站成都网站建设福州

专业建设物流行业网站,成都网站建设福州,东莞网站建设哪家最好,伊犁州建设局网站演示 智能物流柜#xff08;基础版#xff09; 智能物流柜#xff08;升级版#xff09; 前言 这是本人在大二在学校接的一个简单的实验室项目#xff0c;之前发布了一个#xff0c;由于那是在暑假#xff0c;家里器材有限#xff0c;代码敲完之后#xff0c;用面包板…演示 智能物流柜基础版 智能物流柜升级版 前言 这是本人在大二在学校接的一个简单的实验室项目之前发布了一个由于那是在暑假家里器材有限代码敲完之后用面包板接完现象正常之后就没去理过了最近正好比较闲我决定把他整理出来供大家进行学习。 简介 这里有两个版本一个是触摸屏另一个是0.96寸oled➕矩阵按键他们除了这里有所区别其他地方都是完全一模一样的我们就以基础版0.96寸oled➕矩阵按键进行讲解。 具体功能 ✨通过按键输入密码进行物体的储存放置 ✨存放后设置接收短信手机 进行密码接收 ✨点击存储按钮存储物品 并发送密码短信 ✨通过手机APP查看手机号以及取件码 输入取件码可打开柜门 ✨通过led灯显示柜子状态 ✨语音模块进行播报实时进行状态播报 ✨手机APP可以远程进行柜子的开关 硬件框图 主控部分 STM32F103C8T6 是一种微控制器基于 ARM Cortex-M3 内核运行频率可达 72 MHz。它有 64 KB 闪存和 20 KB SRAM支持多种外设如定时器、ADC、DAC、USART、SPI 和 I2C适用于各种嵌入式应用。 主控部分通过逻辑控制通过输入模块显示模块、上位机通讯、驱动模块实现我们项目的完整功能这里用到了STM32的多个外设I2C、定时器、GPIO、USART...... 驱动模块  SG90 180°舵机 舵机的控制信号为周期是20ms 的脉宽调制PWM)信号其中脉冲宽度从0.5ms-2.5ms相对应舵盘的位置为0—180度呈线性变化。也就是说给它提供一定的脉宽它的输出轴就会保持在一个相对应的角度上无论外界转矩怎样改变直到给它提供一个另外宽度的脉冲信号它才会改变输出角度到新的对应的位置上。舵机内部有一个基准电路产生周期20ms宽度1.5ms的基准信号有一个比较器将外加信号与基准信号相比较,判断出方向和大小从而产生电机的转动信号。控制电路板接受来自信号线相应的PWM控制信号进而控制电机转动电机带动一系列齿轮组减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的舵盘转动的同时带动位置反馈电位计电位计将输出一个电压信号到控制电路板进行反馈然后控制电路板根据所在位置决定电机的转动方向和速度从而达到目标停止。舵机的控制需要MCU产生一个周期为20ms的脉冲信号以0.5ms到2.5ms的高电平来控制舵机转动的角度。我们通过STM32的定时器外设输出相应的PWM波形从而控制输入的占空比从而改变舵机旋转的角度实现了柜门的开关。 LED发光二极管 STM32 微控制器通过其 I/O 引脚控制 LED 的开关将GPIO设置为推挽输出模式。LED 被连接到一个 STM32 的 I/O 引脚通常通过一个限流电阻以限制通过 LED 的电流保护 LED 不被烧毁这里LED亮灭表示了柜子的开光状态用于提示用于柜门开关。 语音播报模块JQ8900-16P JQ8900-16P 选用的是 SOC 方案集成了一个 16 位的 MCU以及一个专门针对音频解码的 ADSP采用硬解码的方式更加保证了系统的稳定性和音质。小巧尺寸更加满足嵌入其它产品的需求。此芯片最大的优势在于能够灵活的更换 SPI-flash 内的语音内容省去了传统语音芯片需要安装 上位机更换语音的麻烦SPI FLASH 直接模拟成 U 盘跟拷贝 U 盘一样非常方便。使得产品研发和生产变得便捷简单。一线串口控制模式、RX232 串口控制可选为研发提供更多的选择性。我们利用一线串口模式通过编写对应的通信协议在需要播报特定语音的时候STM32通过一线串口发送对应的信息语音模块就会播放提前存好在自己FLASH内的语音内容实现播报特定的语音。 显示模块 0.96寸OLED屏幕。 0.96寸 OLED 屏幕是一种小型显示器通常用于嵌入式项目中。能够独立发光不需要背光显示对比度高屏幕对角线长度为 0.96 英寸显示区域小巧适合紧凑型设备。分辨率通常为 128 x 64 像素用于显示简单的图形和文本。接口类型使用 I2CInter-Integrated Circuit通信协议通过四根针脚进行连接VCC电源、GND接地、SCL时钟线、SDA数据线。优点为低功耗、高对比度、视角宽广适合低功耗设备和需要清晰显示的应用。OLED 屏幕通过 I2C 接口与微控制器STM32通信实现数据传输和显示内容更新来进行柜子UI界面的显示。 2.8寸TFTLCD屏幕 这个操作起来就比前面的oled复杂很多由于这个屏幕引脚很多而且需要使用到FSMC外设我们要将主控换掉我自己采用的是STM32F407ZGT6不仅仅引脚多Flash、ROM和RAM都大很多可以搭载大型的项目。 输入模块 4x4矩阵按键 4x4 矩阵按键是一种常见的输入设备通常由 16 个按键组成按键排列在 4 行 4 列的矩阵中。结构由4行和4列交错排列的按键组成通过行列扫描来识别按键输入。当按键被按下时行列交点接通单片机扫描行列组合来确定哪个按键被按下。 单片机应用中的优势节省引脚通过矩阵扫描4x4 的按键矩阵只需要 8 个引脚4 行 4 列来处理 16 个按键大大减少了所需的 I/O 引脚数量。通过扫描行列能够快速检测多个按键的状态适合需要较多输入的场景。 在 STM32 中通过配置 STM32 的 GPIO 引脚为输入或输出用于行列扫描。编写扫描程序通过轮询或中断方式检测按键状态并处理输入。实现按键去抖动确保输入的稳定性和准确性。可选用中断来提高响应速度和效率。通过矩阵按键STM32 可以有效地处理多个按键输入减少硬件复杂度。 触摸模块 使用触摸芯片为XPT2046使用i2c进行通信通过检测哪里被按下可以进行i2c告诉主控有地方被按下并且告诉按下的坐标位置实现触摸功能。 我们柜子需要有很多按键比如数字键 0-9确认键删除键存储键、等等通过识别出哪个按键被按下从而单片机进行逻辑控制。 上位机 机智云手机APP 使用机智云手机 app 作为 STM32 的上位机通过 ESP8266 进行连接的流程可以分为以下几个步骤 1.硬件准备STM32主控制器用于处理数据和控制外设。ESP8266无线模块用于与互联网连接。机智云云平台用于接收和发送数据。 2.ESP8266 配置通过 AT 命令或其他方式将 ESP8266 连接到 Wi-Fi 网络。 3.云平台连接配置 ESP8266 以连接到机智云平台通过 MQTT 或 HTTP 协议进行通信。 4.STM32 编程数据处理编写程序来读取传感器数据或处理控制信号。串口通信使用串口UART与 ESP8266 进行数据传输。 5.机智云配置设备注册在机智云平台上注册并配置 STM32 设备。数据流设置创建数据流或接口以接收和发送 STM32 和手机 app 之间的数据。 6.手机 app 配置下载和安装在手机上下载机智云 app。设备绑定通过 app 绑定和管理 STM32 设备。数据监控查看来自 STM32 的数据和控制设备。数据交换 7.发送数据STM32 将数据通过 ESP8266 发送到机智云。 8.接收数据手机 app 从机智云获取数据进行显示或控制操作。 通过这些步骤可以实现 STM32 与机智云手机 app 的无缝连接实现数据监控和控制从而实时显示出我们柜子的状态柜子的取件码以及手机号码。 软件流程介绍 工程文件夹介绍 USER 存放main函数以及系统文件和中断文件 HARDWARE 存放硬件驱动文件。 SYSTEM 存放系统初始化文件。 CORE 存放内核驱动文件以及STM32启动文件 FWLIB 标准库移植文件 Gizwits以及Utils 存放网络协议代码 程序实现流程 int main(void){ //延时函数初始化 delay_init(); //引脚配置GPIOD_Init(); //LED灯控制LED1KG1;LED2KG2;LED3KG3;LED4KG4; //4*4按键初始化 Key_Init();//定时器3初始化控制舵机和生成随机数Timer0Init(); Timer2_Configuration();//1ms进入一次中断给机智云协议提供时钟//初始化OLED OLED_Init(); OLED_Clear(); //初始化语音模块voice_init();uart1_init(9600);//初始化串口1//清屏xianshiClear(); //显示-主界面xianshi_zjm();//开机播报//欢迎使用自动存取快递柜//播放指定的铃声lingsheng(11);//延迟5s让语音播报完成delay_ms(1000); delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000); lingsheng(1);delay_ms(1000); delay_ms(1000); delay_ms(1000); /*机智云初始化*/userInit();gizwitsInit();/*一件配网模式*///播报请打开手机app进行连接gizwitsSetMode(2);while(1){//按键扫描和处理anjianchuli(); //生成随机数zhongzi(); //LED灯状态更新LED1KG1;LED2KG2;LED3KG3;LED4KG4;/*网络参数更新对数据点的数值变量进行赋值操作*/userHandle();/*联网上传数据接收下发数据*/gizwitsHandle((dataPoint_t *)currentDataPoint); } } 进行各项初始化包括延时函数初始化、引脚配置、按键初始化、定时器初始化、语音模块初始化、串口初始化、网络配置初始化、屏幕初始化.......之后进入线程的处理包括按键扫描处理、随机数生成、舵机和LED状态更新、网络参数同步、网络协议任务处理。按键扫描与处理项目的核心线程通过不断扫描按键状况通过逻辑控制进行对应按键的处理包括密码的输入、手机号码的输入、存件的确认、密码的删除、柜门的关闭......之后在根据对应的状态进行对应的控制比如语音播报、柜门开关、取件码的更新、手机号码的更新......柜子的基本功能都在这个线程里面进行处理。随机数的生成通过定时器不断的计时通过采样计数器的值来不断生成随机数需要用到的时候可以当作取件码保证了取件码的随机性防止快递密码被人为篡改。舵机和LED状态更新通过全局变量调控着柜子和LED指示灯的状态这里如果全局变量改变我们及时进行状态更新保证柜子响应正确。网络参数同步我们这里要和手机APP进行通信我们网络协议里面规定了APP中的显示数据包括可读以及可写我们不断的进行消息的同步以确保上位机和STM32的正确通信和正确状态显示。网络协议处理我们上位机会发来消息我们这个时候就要调用这个函数不断的进行对应协议的回复保证与上位机的正常通信。 总结 以上就是我对这个项目的解释这里我感觉还没有做到完美暂且不开源......读者可以根据我的思路自己进行设计。
http://www.w-s-a.com/news/542720/

相关文章:

  • 免费建个人手机网站WordPress 简历库
  • 建网站 是否 数据库阳瘘的最佳治疗方法是什么
  • 知晓程序网站怎么做网站基础维护
  • 兼职做网站赚钱吗图片设计制作哪个软件好手机
  • 做手机旅游网站智慧校园登录入口
  • 莆田网站建设维护国外极简网站
  • 百度怎样收录网站缪斯设计集团
  • 网站建设在开封找谁做wordpress 数据转换
  • 旅游网站开发的流程江苏付费网络推广培训
  • 网站软文标题2018wordpress主题
  • 德清网站设计wordpress免登录发布接
  • 可以做游戏的网站有哪些客户关系管理系统的主要功能
  • 整人关不掉的网站怎么做广东省网站免备案表
  • 网站设计素材edu域名网站
  • 中山学校的网站建设wordpress文章图片显示不出
  • 兰溪城市建设规划网站网站联盟的基本流程
  • 免费推广网站注册入口小说阅读网站怎么建设
  • 新网站怎么做网络推广怎么做企业网站排名
  • jsp商业网站开发网站链接如何做二维码
  • 江苏高校品牌专业建设网站怎么制作网站搜索窗口
  • 北京app建设 网站开发公司织梦网站seo
  • 大学网站 作风建设专题汽车配件外贸出口公司
  • 东莞做网站系统购物网站建设精英
  • 建设vip网站相关视频网站营销建设公司
  • 微站直播平台杭州seo按天计费
  • seo 新旧网站 两个域名福州设计网站建设
  • 如何做网站客户端如何做网络营销网站
  • 苏州网站建设制度打鱼网站建设
  • 瓜子二手车直卖网上海小红书seo
  • 天津中小企业网站制作珠海做网站的