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

硬件开发_基于物联网的自动售卖机系统

在这里插入图片描述

一.系统概述

物联网自动售卖机系统的主要功能如下:

  1. 核心控制器:采用STM32单片机作为系统核心,负责整体数据处理和各设备的统一控制。
  2. 商品选择:支持语音识别及按键方式,方便用户在售卖机内选择商品。
  3. 语音播报:集成语音播报模块,当用户选定商品后,系统会通过语音播报告知商品的价格信息。
  4. 投币检测与计数:内置投币检测装置,准确识别并统计用户投入的硬币数量,确保支付过程无误。
  5. 舵机控制:在用户完成支付后,舵机会控制动作,将所选商品推出售卖机。
  6. 环境监测:系统配备温湿度传感器和烟雾传感器,实时采集售卖机内部的温度、湿度及烟雾数据,保障操作安全和商品质量。
  7. 位置监控:利用GPS模块实现售卖机实时定位,便于管理和定位。
  8. 数据上传与远程监控:通过无线通信模块,将环境数据和销售数据上传至远程监控软件,便于管理员实时监控售卖机的销售情况、库存及价格信息。
  9. 远程补货:当商品库存低于设定阈值时,系统会自动向管理员发送补货提醒,确保用户需求得到及时满足。

在这里插入图片描述

二.电路设计

电路图采用Altium Designer进行设计:

  1. 整个电路图使用Altium Designer设计,其中以STM32F103C8T6单片机构成的最小系统电路作为核心控制单元;
  2. 利用DHT11模块实现温湿度检测,其数据通过one-wire总线连接至单片机的GPIO引脚;
  3. 采用MQ-2模块检测CO浓度,将其模拟输出信号接入单片机的模拟输入端;
  4. 通过LU-ASR01高精度语音识别模块实现语音指令的检测,模块与单片机通过UART串口通信;
  5. 利用光电开关进行硬币检测,检测模块的数据输出直接接入单片机的GPIO口;
  6. 使用JR6001语音播报模块,其与单片机通过UART串口相连,实现语音输出功能;
  7. 通过ESP8266-01S模块将采集到的数据上传到上位机,该模块同样采用UART串口与单片机通信;
  8. 利用舵机完成购买成功后商品的推出,舵机的控制信号直接连接至单片机的GPIO口。

在这里插入图片描述

在这里插入图片描述

三.程序设计

#include “sys.h”
#include “delay.h”
#include “adc2.h”
#include “math.h”
#include “key.h”
#include “OLED_I2C.h”
#include “Control_Report_To_Police.h”

int main(void)
{
u8 i;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化
Usart1_Init(9600);
Usart3_Init(9600);
TIM4_Init(300,7200);
while(DHT11_Init()){}
Adc2_Init();
Servor_GPIO_Config_Time2_Init();
UART1Write(“AF:20”);
switch_Init();
KEY_Init();
ALi_ESP8266_GPIO_Init();
MQTT_Buff_Init();
AliIoT_Parameter_Init();
for(i=0;i<=50;i++)
{
UART1Write(“B0”);
delay_ms(200);
UART1Write(“B0”);
delay_ms(100);
}
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}

四.资料内容

在这里插入图片描述

24-32-37

http://www.xdnf.cn/news/1432315.html

相关文章:

  • 联邦学习论文分享:GPT-FL: Generative Pre-Trained Model-AssistedFederated Learning
  • Apache 的安装及基本使用
  • MMORPG 游戏战斗系统架构
  • MATLAB矩阵及其运算(一)变量与常量
  • Python 中将 JSON 字符串转为对象的几种方法对比
  • 软件测试面试题【内附超详细面试宝典】
  • 【本地知识库问答系统】MaxKB搭建本地知识库问答系统
  • 低代码开发平台有哪些,中国十大低代码开发平台排名
  • 从零开始的云计算生活——第五十六天,临深履薄,kubernetes模块之etcd备份恢复和集群升级指南
  • Ruoyi-vue-plus-5.x第三篇Redis缓存与分布式技术:3.2 缓存注解与使用
  • 第2章:用户界面与基本监控
  • Ansible 循环、过滤器与判断逻辑
  • 小学一到六年级语文/英语/数学作业出题布置网站源码 支持生成PDF和打印
  • 基金交易量预测比赛_数据分析
  • MySQL 8.0 窗口函数详解:让数据分析更简单高效
  • 大数据毕业设计选题推荐-基于大数据的大学生就业因素数据分析系统-Spark-Hadoop-Bigdata
  • 华为OD最新机试真题-中庸行者-OD统一考试(C卷)
  • 【Unity Shader学习笔记】(二)图形显示系统
  • 从Web2到Web3:一场重塑数字未来的“静默革命”
  • mac 本地安装maven环境
  • LLM面试50问:NLP/RAG/部署/对齐/安全/多模态全覆盖
  • CentOS7.6
  • @Hadoop 介绍部署使用详细指南
  • Qt中QSettings的键值使用QDataStream进行存储
  • 【ComfyUI】SDXL Refiner 提示进一步提升生成图像的质量
  • Android的USB通信 (AOA Android开放配件协议)
  • CSS基础学习步骤
  • 蓝桥杯算法之基础知识(5)
  • GPU 优化 - tensor core 用swizzle 解决bank conflict
  • STM32HAL 快速入门(十六):UART 协议 —— 异步串行通信的底层逻辑