RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32的重力感應(yīng)售貨機(jī)系統(tǒng)設(shè)計(jì)

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2023-06-06 09:02 ? 次閱讀

一、項(xiàng)目介紹

隨著智能物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,人們的生活方式和消費(fèi)習(xí)慣也正在發(fā)生改變。如今越來(lái)越多的人習(xí)慣于在線購(gòu)物、自助購(gòu)物等新型消費(fèi)模式,因此智能零售自助柜應(yīng)運(yùn)而生。

本項(xiàng)目設(shè)計(jì)開發(fā)一款基于STM32主控芯片的智能零售自助柜,通過(guò)重力傳感器監(jiān)測(cè)貨柜內(nèi)商品重量變化,并通過(guò)WiFi通信模塊與手機(jī)端實(shí)現(xiàn)交互。用戶可以通過(guò)輸入賬號(hào)密碼,柜門自動(dòng)打開,用戶自取商品后關(guān)閉柜門,柜門鎖定,系統(tǒng)根據(jù)重量變化判斷用戶拿取的商品并從賬戶自動(dòng)扣費(fèi)。同時(shí),用戶也可以通過(guò)手機(jī)端查看消費(fèi)流水、商品庫(kù)存,并進(jìn)行補(bǔ)貨和充值等操作。

智能零售自助柜的應(yīng)用場(chǎng)景非常廣泛,可以應(yīng)用于商場(chǎng)、超市、酒店、機(jī)場(chǎng)、車站等各類場(chǎng)景。通過(guò)自助購(gòu)物,可以提高消費(fèi)者的消費(fèi)體驗(yàn)和購(gòu)物效率,同時(shí)也降低了商家的人力成本和物流成本。

image-20230530231109062

二、設(shè)計(jì)思路

【1】功能細(xì)節(jié)總結(jié)

(1)ESP8266配置成AP+TCP服務(wù)器模式與手機(jī)APP連接。

(2)手機(jī)APP可以完成用戶的注冊(cè),充值功能,然后通過(guò)連接貨柜將數(shù)據(jù)同步到貨柜的存儲(chǔ)芯片上(W25Q64-FLASH保存數(shù)據(jù))。

(3)手機(jī)APP連接貨柜之后,可以拉取數(shù)據(jù)顯示,了解貨柜現(xiàn)在的物品哪些已經(jīng)售賣出去,哪些還沒有售賣。,每個(gè)物品是放在一個(gè)貨柜格子里,透明玻璃可以查看到物品。

【2】硬件選型

  1. 主控芯片:STM32F103RCT6是一款主流的32位ARM Cortex-M系列微控制器,具有高性能、低功耗和易于開發(fā)等特點(diǎn),因此被選擇作為該系統(tǒng)的主控芯片。
  2. 重力傳感器:HX711重力傳感器模塊采用24位高精度芯片,能夠精確測(cè)量重量,適用于該系統(tǒng)中貨柜內(nèi)商品的重量監(jiān)測(cè)。
  3. SG90舵機(jī):該系統(tǒng)需要控制柜門的打開和關(guān)閉,因此使用舵機(jī)來(lái)實(shí)現(xiàn)柜門控制。
  4. 矩陣鍵盤:用戶需要輸入賬號(hào)密碼進(jìn)行登錄,因此使用矩陣鍵盤作為輸入設(shè)備。
  5. 顯示屏:OLED顯示屏具有低功耗、高對(duì)比度、快速響應(yīng)等特點(diǎn),適用于該系統(tǒng)中的桌面顯示界面。
  6. WiFi模塊:ESP8266-WIFI模塊是一款成本低、體積小、性能穩(wěn)定的WiFi通信模塊,適合在該系統(tǒng)中與手機(jī)APP進(jìn)行無(wú)線通信。

【2】程序設(shè)計(jì)思路

  1. 初始化系統(tǒng),包括各個(gè)外設(shè)的初始化,如WiFi模塊、重力傳感器HX711模塊、矩陣鍵盤等;
  2. 用戶輸入賬號(hào)密碼,判斷是否為有效用戶;
  3. 根據(jù)重力傳感器讀取貨柜內(nèi)商品重量,判斷用戶拿取的商品并從賬戶自動(dòng)扣費(fèi);
  4. 控制柜門打開和關(guān)閉,同時(shí)顯示屏上顯示相關(guān)提示信息
  5. 同步數(shù)據(jù)到手機(jī)APP。

【3】設(shè)備操作流程

  1. 用戶輸入賬號(hào)密碼,系統(tǒng)進(jìn)行驗(yàn)證,判斷是否為有效用戶;
  2. 如果驗(yàn)證通過(guò),屏幕上顯示“登錄成功”,并顯示貨柜內(nèi)商品列表和對(duì)應(yīng)價(jià)格;
  3. 用戶選擇需要購(gòu)買的商品,系統(tǒng)根據(jù)重力傳感器讀取貨柜內(nèi)商品重量,并判斷用戶拿取的商品并從賬戶自動(dòng)扣費(fèi);
  4. 系統(tǒng)控制電磁鎖或舵機(jī)將柜門打開,用戶自取商品后關(guān)閉柜門;
  5. 重力傳感器監(jiān)測(cè)到貨柜內(nèi)重量變化,系統(tǒng)自動(dòng)判斷用戶拿取的商品種類和數(shù)量,并在顯示屏上顯示相關(guān)提示信息,如顯示扣費(fèi)金額;
  6. 控制柜門鎖定,確保商品安全,同時(shí)在顯示屏上顯示“門已鎖定”等相關(guān)提示信息;
  7. 同步扣費(fèi)記錄和商品庫(kù)存信息到手機(jī)APP,以便用戶查看消費(fèi)流水和進(jìn)行補(bǔ)貨等操作。
  8. 如需要充值,用戶可以在手機(jī)APP上進(jìn)行余額充值操作。

三、代碼實(shí)現(xiàn)

【1】OLED顯示屏驅(qū)動(dòng)代碼

下面是OLED顯示屏的測(cè)試代碼。使用的SPI接口的OLED顯示屏。

#include "stm32f10x.h"
 #include "OLED.h"   // OLED驅(qū)動(dòng)庫(kù)頭文件
 ?
 void OLED_ShowString(uint8_t x, uint8_t y, uint8_t *str)
 {
     uint8_t i = 0;
     while(str[i] != '\\0'){
         if(x > OLED_WIDTH - 8){  // 滿行自動(dòng)換行
             x = 0;
             y++;
         }
         OLED_ShowChar(x, y, str[i]);  // 顯示單個(gè)字符
         x += 8;  // 水平方向上的下一個(gè)字符
         i++;
     }
 }
 ?
 void OLED_SPI_SendByte(uint8_t data)
 {
     while(SPI_I2S_GetFlagStatus(OLED_SPI_PORT, SPI_I2S_FLAG_TXE) == RESET);  // 等待發(fā)送緩沖區(qū)空
     SPI_I2S_SendData(OLED_SPI_PORT, data);  // 通過(guò)SPI發(fā)送數(shù)據(jù)
 }
 ?
 void OLED_WriteCmd(uint8_t cmd)
 {
     OLED_DC_Clr();  // 將DC置為0,表示發(fā)送命令
     OLED_CS_Clr();  // 將CS置為0,選中OLED芯片
     OLED_SPI_SendByte(cmd);  // 發(fā)送命令
     OLED_CS_Set();  // 將CS置為1,取消OLED芯片選中
 }
 ?
 void OLED_WriteData(uint8_t data)
 {
     OLED_DC_Set();  // 將DC置為1,表示發(fā)送數(shù)據(jù)
     OLED_CS_Clr();  // 將CS置為0,選中OLED芯片
     OLED_SPI_SendByte(data);  // 發(fā)送數(shù)據(jù)
     OLED_CS_Set();  // 將CS置為1,取消OLED芯片選中
 }
 ?
 ?
 int main(void)
 {
     uint32_t i;
 ?
     // 初始化SPI接口
     SPI_InitTypeDef SPI_InitStructure;
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);  // 打開SPI1時(shí)鐘
     SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;  // 設(shè)置SPI工作模式
     SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
     SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;  // 數(shù)據(jù)位寬8bit
     SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;  // 時(shí)鐘極性為低電平
     SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;  // 時(shí)鐘第一個(gè)邊沿采樣
     SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;  // 軟件控制CS信號(hào)
     SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;  // 預(yù)分頻系數(shù)為256
     SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;  // MSB先行
     SPI_InitStructure.SPI_CRCPolynomial = 7;  // CRC校驗(yàn)值
     SPI_Init(SPI1, &SPI_InitStructure);
     SPI_Cmd(SPI1, ENABLE);  // 使能SPI1
 ?
     // 初始化OLED顯示屏
     OLED_Init();  // OLED初始化
 ?
     // 顯示數(shù)字
     char str[] = "1234567890";
     OLED_ShowString(0, 0, (uint8_t *)str);  // 在(0,0)坐標(biāo)處顯示字符串
 ?
     while(1){
         for(i = 0; i < 10000000; i++);  // 延時(shí)等待
     }
 }
 ?

OLED_WriteCmd 函數(shù)用于向 OLED 顯示屏發(fā)送命令,而 OLED_WriteData 函數(shù)用于向 OLED 顯示屏發(fā)送數(shù)據(jù)。OLED_SPI_SendByte 函數(shù)是底層SPI數(shù)據(jù)傳輸?shù)年P(guān)鍵代碼部分。

【2】HX711稱重傳感器代碼

#include "stm32f10x.h"
 #include < stdio.h >
 #include "usart.h"
 ?
 #define HX711_SCK_GPIO_RCC  RCC_APB2Periph_GPIOB
 #define HX711_SCK_GPIO_PORT GPIOB
 #define HX711_SCK_GPIO_PIN  GPIO_Pin_13
 ?
 #define HX711_DOUT_GPIO_RCC  RCC_APB2Periph_GPIOB
 #define HX711_DOUT_GPIO_PORT GPIOB
 #define HX711_DOUT_GPIO_PIN  GPIO_Pin_15
 ?
 uint32_t read_HX711_data(void);
 void init_GPIO(void);
 void init_USART1(void);
 void USART1_SendChar(char ch);
 ?
 int main(void)
 {
     uint32_t hx711_value;
 ?
     init_GPIO();
     init_USART1();
 ?
     while(1){
         hx711_value = read_HX711_data();  // 讀取 HX711 傳感器數(shù)據(jù)
         printf("The weight is: %d g\\r\\n", hx711_value);  // 通過(guò)串口打印 HX711 傳感器讀取的數(shù)據(jù)
     }
 }
 ?
 // 從 HX711 傳感器讀取數(shù)據(jù)
 uint32_t read_HX711_data(void)
 {
     uint32_t weight = 0;
     uint8_t i;
 ?
     GPIO_SetBits(HX711_SCK_GPIO_PORT, HX711_SCK_GPIO_PIN);  // 拉高 SCK 管腳
     GPIO_ResetBits(HX711_DOUT_GPIO_PORT, HX711_DOUT_GPIO_PIN);  // 拉低 DOUT 管腳
     for(i = 0; i < 24; i++){
         GPIO_ResetBits(HX711_SCK_GPIO_PORT, HX711_SCK_GPIO_PIN);  // 拉低 SCK 管腳,使得 HX711 將數(shù)據(jù)推入 DOUT 管腳
         weight < <= 1;  // 左移一位,為下一次讀取做準(zhǔn)備
         if(GPIO_ReadInputDataBit(HX711_DOUT_GPIO_PORT, HX711_DOUT_GPIO_PIN)) weight++;  // 如果 DOUT 管腳為高電平,那么就在 weight 中保存 "1"
         GPIO_SetBits(HX711_SCK_GPIO_PORT, HX711_SCK_GPIO_PIN);  // 拉高 SCK 管腳,為下一次讀取做準(zhǔn)備
     }
     GPIO_ResetBits(HX711_SCK_GPIO_PORT, HX711_SCK_GPIO_PIN);  // 最后時(shí)刻需要拉低 SCK 管腳一次
 ?
     weight = (weight ^ 0x800000) - 0x800000;  // 將讀出的24位二進(jìn)制重量值轉(zhuǎn)化為帶符號(hào)數(shù),這里我們只考慮單通道讀取的情況(如有多個(gè)物理傳感器需進(jìn)行一定的計(jì)算處理)
 ?
     return weight;
 }
 ?
 // 初始化 GPIO 管腳
 void init_GPIO(void)
 {
     GPIO_InitTypeDef GPIO_InitStructure;
 ?
     RCC_APB2PeriphClockCmd(HX711_SCK_GPIO_RCC | HX711_DOUT_GPIO_RCC, ENABLE);  // 打開 SCK 和 DOUT 管腳時(shí)鐘
 ?
     GPIO_InitStructure.GPIO_Pin = HX711_SCK_GPIO_PIN;
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_Init(HX711_SCK_GPIO_PORT, &GPIO_InitStructure);  // 初始化 SCK 管腳
 ?
     GPIO_InitStructure.GPIO_Pin = HX711_DOUT_GPIO_PIN;
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_Init(HX711_DOUT_GPIO_PORT, &GPIO_InitStructure);  // 初始化 DOUT 管腳
 }
 ?
 // 初始化 USART1
 void init_USART1(void)
 {
     USART_InitTypeDef USART_InitStructure;
 ?
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);  // 打開 USART1 時(shí)鐘
 ?
     USART_InitStructure.USART_BaudRate = 115200;  // 波特率 115200
     USART_InitStructure.USART_WordLength = USART_WordLength_8b;  // 數(shù)據(jù)位 8 位
     USART_InitStructure.USART_StopBits = USART_StopBits_1;  // 停止位 1 位
     USART_InitStructure.USART_Parity = USART_Parity_No;  // 無(wú)奇偶校驗(yàn)
     USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;  // 無(wú)硬件流控制
     USART_InitStructure.USART_Mode = USART_Mode_Tx;  // 只啟用串口發(fā)送
 ?
     USART_Init(USART1, &USART_InitStructure);  // 初始化 USART1
     USART_Cmd(USART1, ENABLE);  // 使能 USART1
 }
 ?
 // 通過(guò) USART1 發(fā)送字符
 void USART1_SendChar(char ch)
 {
     while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);  // 等待發(fā)送緩沖區(qū)為空
     USART_SendData(USART1, (uint8_t)ch);  // 發(fā)送數(shù)據(jù)
 }
 ?

代碼執(zhí)行流程說(shuō)明:

(1)通過(guò) init_GPIO() 函數(shù)初始化 SCK 和 DOUT 兩個(gè) GPIO 管腳,并通過(guò) init_USART1() 函數(shù)初始化 USART1 串口。其中,初始化 SCK 管腳為輸出模式,DOUT 管腳為輸入模式,USART1 算是串口助手,用于將數(shù)據(jù)打印輸出。

(2)read_HX711_data() 函數(shù)用于向 HX711 傳感器發(fā)出讀取數(shù)據(jù)的指令,并將返回的數(shù)據(jù)進(jìn)行處理(將24位二進(jìn)制重量值轉(zhuǎn)化為帶符號(hào)數(shù))后返回。

(3)在主函數(shù)的 while 循環(huán)中,不斷調(diào)用 read_HX711_data() 函數(shù)讀取 HX711 傳感器的數(shù)據(jù),并通過(guò)串口打印出來(lái)。

【3】SG90舵機(jī)控制代碼

下面是SG90舵機(jī)的控制代碼,可以按照指定的角度旋轉(zhuǎn)。

#include "stm32f10x.h"
 #include "delay.h"
 ?
 #define GPIO_PORT           GPIOA
 #define GPIO_PIN            GPIO_Pin_1
 #define RCC_APB2Periph_GPIO RCC_APB2Periph_GPIOA
 #define PWM_FREQ            50
 ?
 void servoInit(void)
 {
     GPIO_InitTypeDef GPIO_InitStructure;
     TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
     TIM_OCInitTypeDef TIM_OCInitStructure;
 ?
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO, ENABLE);
 ?
     GPIO_InitStructure.GPIO_Pin = GPIO_PIN;
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_Init(GPIO_PORT, &GPIO_InitStructure);
 ?
     TIM_TimeBaseStructure.TIM_Period = 9999; //計(jì)數(shù)器最大值
     TIM_TimeBaseStructure.TIM_Prescaler = (72 * 2) - 1; //時(shí)鐘分頻,72是系統(tǒng)時(shí)鐘頻率,2是倍頻
     TIM_TimeBaseStructure.TIM_ClockDivision = 0;
     TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
     TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
 ?
     TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
     TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
     TIM_OCInitStructure.TIM_Pulse = 0;
     TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
     TIM_OC1Init(TIM2, &TIM_OCInitStructure);
 ?
     TIM_Cmd(TIM2, ENABLE);
 }
 ?
 void servoSetAngle(uint8_t angle)
 {
     uint16_t pwmVal = (uint16_t)(500 + angle * 10.0 / 9.0);
 ?
     TIM_SetCompare1(TIM2, pwmVal);
     delay_ms(100);
 }
 ?
 int main(void)
 {
     SystemInit();
     delay_init();
 ?
     servoInit();
 ?
     while(1)
     {
         servoSetAngle(0);
         delay_ms(1000);
 ?
         servoSetAngle(90);
         delay_ms(1000);
 ?
         servoSetAngle(180);
          delay_ms(1000);
     }
 }

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2550

    文章

    51035

    瀏覽量

    753063
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2909

    文章

    44557

    瀏覽量

    372754
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10895

    瀏覽量

    355725
  • WIFI
    +關(guān)注

    關(guān)注

    81

    文章

    5296

    瀏覽量

    203569
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    LabVIEW售貨機(jī)(人機(jī)交互實(shí)驗(yàn)版)

    售貨機(jī)是基于NI的PXI控制器(LabVIEW軟件實(shí)現(xiàn))的人機(jī)交互性售貨機(jī)。該售貨機(jī)為試驗(yàn)版,正式版由于保密性不提供。本帖主要目的是給學(xué)習(xí)LabVIEW編程語(yǔ)言的朋友參考下,過(guò)程可能存在不合理或者有誤的地方,希望學(xué)習(xí)的朋友可以
    發(fā)表于 09-21 15:26

    無(wú)線遠(yuǎn)程對(duì)自動(dòng)售貨機(jī)的管理

    現(xiàn)在很多支付商家都在推舉1分錢購(gòu)買自動(dòng)售貨機(jī)的飲料,那么這些自動(dòng)售貨機(jī)是怎么普及過(guò)來(lái)的呢? 隨時(shí)隨地可見的自動(dòng)售貨機(jī)儼然成為了我們的一種從商場(chǎng)轉(zhuǎn)到小賣部,從小賣部轉(zhuǎn)到個(gè)人的快捷交易平臺(tái)。自動(dòng)售賣機(jī)
    發(fā)表于 07-26 09:06

    被無(wú)線遠(yuǎn)程控制管理的自動(dòng)售貨機(jī)

    現(xiàn)在很多支付商家都在推舉1分錢購(gòu)買自動(dòng)售貨機(jī)的飲料,那么這些自動(dòng)售貨機(jī)是怎么普及過(guò)來(lái)的呢? 隨時(shí)隨地可見的自動(dòng)售貨機(jī)儼然成為了我們的一種從商場(chǎng)轉(zhuǎn)到小賣部,從小賣部轉(zhuǎn)到個(gè)人的快捷交易平臺(tái)。自動(dòng)售賣機(jī)
    發(fā)表于 07-28 09:23

    嵌入式自動(dòng)售貨機(jī)能實(shí)現(xiàn)什么功能?

    我們知道,智能設(shè)備的根本在于嵌入式系統(tǒng)的開發(fā)應(yīng)用(嵌入式系統(tǒng)開發(fā)流程),隨著電子技術(shù)不斷的發(fā)展,很多智能化設(shè)備逐步取代了人工勞動(dòng),自動(dòng)售貨機(jī)就是其中一種基于嵌入式系統(tǒng)的智能化設(shè)備(什么
    發(fā)表于 04-17 08:14

    基于80C51單片機(jī)的自動(dòng)售貨機(jī)設(shè)計(jì)

    公司出品的80C51單片機(jī)為核心的自動(dòng)售貨機(jī),并且著重詳細(xì)地介紹了自動(dòng)售貨機(jī)的整體系統(tǒng)設(shè)計(jì)方案、硬件選擇基礎(chǔ)、軟件使用方法及技巧。以80C51作為CPU處理單元連接各個(gè)功能模塊;以4*4矩陣鍵盤
    發(fā)表于 12-02 07:30

    自動(dòng)售貨機(jī)短信報(bào)警系統(tǒng)

    關(guān)鍵詞 ZWG-03A 智能短信設(shè)備、自動(dòng)售貨機(jī)、短信報(bào)警摘 要 本文介紹 ZWG-03A 在自動(dòng)售貨機(jī)短信報(bào)警系統(tǒng)中的應(yīng)用
    發(fā)表于 11-04 11:18 ?86次下載

    智能自動(dòng)售貨機(jī)售貨

    英特爾打造核心技術(shù)智能自動(dòng)售貨機(jī)售貨 .
    發(fā)表于 12-28 18:09 ?0次下載

    PLC售貨機(jī)

    使用三菱PLC,擁有售貨機(jī)簡(jiǎn)單功能,可用,無(wú)錯(cuò)誤
    發(fā)表于 06-24 14:36 ?11次下載

    一種基于 PLC 的自動(dòng)售貨機(jī)系統(tǒng)的設(shè)計(jì)

    一種基于 PLC 的自動(dòng)售貨機(jī)系統(tǒng)的設(shè)計(jì)王曉麗摘要:設(shè)計(jì)一種可編程序控制器 PLC 控制的自動(dòng)售貨機(jī)控制系統(tǒng)
    的頭像 發(fā)表于 03-29 10:12 ?1.4w次閱讀

    基于Zigbee和物聯(lián)網(wǎng)的自動(dòng)售貨機(jī)系統(tǒng)

    結(jié)合Zigbee技術(shù)、物聯(lián)網(wǎng)技術(shù)和手機(jī)掃碼支付技術(shù),以STM32和Arduino為主控芯片,設(shè)計(jì)了一種自動(dòng)售貨機(jī)系統(tǒng)。系統(tǒng)可實(shí)現(xiàn)購(gòu)買商品的線上/線下支付,運(yùn)營(yíng)商通過(guò)短信可及時(shí)了解
    發(fā)表于 04-26 10:17 ?25次下載

    自動(dòng)售貨機(jī)方案/設(shè)計(jì)/開發(fā)/項(xiàng)目

    隨著物聯(lián)網(wǎng)和大數(shù)據(jù)時(shí)代的到來(lái),人工智能的興起,智能設(shè)備已環(huán)繞在人們衣食住行的各個(gè)方面。自助售貨機(jī)解決方案是解決線上消費(fèi)和線下體驗(yàn)的核心樞紐,加上定制化的運(yùn)營(yíng)模式和大數(shù)據(jù)的收集分析,讓傳統(tǒng)細(xì)分行業(yè)零售
    發(fā)表于 11-10 12:50 ?47次下載
    自動(dòng)<b class='flag-5'>售貨機(jī)</b>方案/設(shè)計(jì)/開發(fā)/項(xiàng)目

    32-基于單片機(jī)的售貨機(jī)系統(tǒng)

    基于單片機(jī)的售貨機(jī)系統(tǒng)
    發(fā)表于 11-18 09:51 ?15次下載
    32-基于單片機(jī)的<b class='flag-5'>售貨機(jī)</b><b class='flag-5'>系統(tǒng)</b>

    基于ARM硬件的智能售貨機(jī)終端

    啟揚(yáng)智能為售貨機(jī)行業(yè)提供了基于ARM架構(gòu)搭載Android系統(tǒng)的智能售貨機(jī)硬件解決方案。
    的頭像 發(fā)表于 07-27 15:18 ?1075次閱讀
    基于ARM硬件的智能<b class='flag-5'>售貨機(jī)</b>終端

    藍(lán)牙芯片售貨機(jī)方案

    藍(lán)牙售貨機(jī)是一種自動(dòng)售貨機(jī),通過(guò)藍(lán)牙技術(shù)實(shí)現(xiàn)與移動(dòng)設(shè)備的交互,提供便捷的購(gòu)物體驗(yàn)。它主要由主機(jī)、貨架、付款臺(tái)和控制系統(tǒng)組成。主機(jī)是售貨機(jī)的核心部分,里面包含了所有的電子元件和機(jī)械部件。
    的頭像 發(fā)表于 02-28 16:39 ?662次閱讀

    自動(dòng)售貨機(jī)MDB電源供電系統(tǒng)要求

    自動(dòng)售貨機(jī)MDB協(xié)議中文解析(五)MDB電源供電系統(tǒng)要求
    發(fā)表于 09-09 10:46 ?1次下載
    RM新时代网站-首页