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

发布于:2025-09-03 ⋅ 阅读:(13) ⋅ 点赞:(0)

在这里插入图片描述

一.系统概述

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

  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


网站公告

今日签到

点亮在社区的每一天
去签到