2021-10-21 09:30:52 索煒達(dá)電子 940
本文介紹了一款使用由意法半導(dǎo)體公司生產(chǎn)的STM32為核心控制器,在MDK4.70軟件開發(fā)平臺下設(shè)計開發(fā)的智能小車。文中介紹了整個設(shè)計的需求分析、方案選擇、硬件部分、軟件部分、傳感器的選擇與布局、電路板的安裝、以及整車的測試與評估。
本次設(shè)計最終采用STM32為主控制器,此款芯片功能強大,足以滿足整個設(shè)計的需求,選用最常用高靈敏度的紅外光電傳感器完成循跡功能,采用MG995舵機和HC-SR04超聲波模塊配合完成避障功能,采用MQ-2煙霧氣敏傳感器完成煙霧濃度探測功能,采用DHT11溫濕度傳感器模塊完成溫濕度探測功能,采用NRF24L01無線發(fā)射接收模塊完成與上位機之間的無線通信功能,采用SIM800C模塊完成與管理者手機通訊功能。程序經(jīng)過多次測試和改進,能夠較健壯的運行。最終能夠很好地實現(xiàn)上述功能。
目錄│文件列表:
└ 基于STM32的智能小車無線環(huán)境監(jiān)測系統(tǒng)(完整版)
│ 畢業(yè)設(shè)計論文.doc
│ 說明.txt
├ 效果
│ │ IMG_20180518_000228.jpg
│ │ VID_20180526_235114.mp4
│ │ VID_20180526_235732.mp4
│ │ VID_20180527_095247.mp4
│ └ wx_camera_1526803678633.mp4
├ 硬件是純手工搭的
│ └ 說明.txt
└ 程序
│ 說明.txt
├ SmartCar_NF2401
│ │ keilkilll.bat
│ ├ CORE
│ │ │ core_cm3.c
│ │ │ core_cm3.h
│ │ │ startup_stm32f10x_hd.s
│ │ └ startup_stm32f10x_md.s
│ ├ HARDWARE
│ │ ├ KEY
│ │ │ │ key.c
│ │ │ └ key.h
│ │ ├ LCD
│ │ │ │ font.h
│ │ │ │ lcd.c
│ │ │ └ lcd.h
│ │ ├ LED
│ │ │ │ led.c
│ │ │ └ led.h
│ │ ├ NRF24L01
│ │ │ │ 24l01.c
│ │ │ └ 24l01.h
│ │ └ SPI
│ │ │ spi.c
│ │ └ spi.h
│ ├ STM32F10x_FWLib
│ │ ├ inc
│ │ │ │ misc.h
│ │ │ │ stm32f10x_adc.h
│ │ │ │ stm32f10x_bkp.h
│ │ │ │ stm32f10x_can.h
│ │ │ │ stm32f10x_cec.h
│ │ │ │ stm32f10x_crc.h
│ │ │ │ stm32f10x_dac.h
│ │ │ │ stm32f10x_dbgmcu.h
│ │ │ │ stm32f10x_dma.h
│ │ │ │ stm32f10x_exti.h
│ │ │ │ stm32f10x_flash.h
│ │ │ │ stm32f10x_fsmc.h
│ │ │ │ stm32f10x_gpio.h
│ │ │ │ stm32f10x_i2c.h
│ │ │ │ stm32f10x_iwdg.h
│ │ │ │ stm32f10x_pwr.h
│ │ │ │ stm32f10x_rcc.h
│ │ │ │ stm32f10x_rtc.h
│ │ │ │ stm32f10x_sdio.h
│ │ │ │ stm32f10x_spi.h
│ │ │ │ stm32f10x_tim.h
│ │ │ │ stm32f10x_usart.h
│ │ │ └ stm32f10x_wwdg.h
│ │ └ src
│ │ │ misc.c
│ │ │ stm32f10x_adc.c
│ │ │ stm32f10x_bkp.c
│ │ │ stm32f10x_can.c
│ │ │ stm32f10x_cec.c
│ │ │ stm32f10x_crc.c
│ │ │ stm32f10x_dac.c
│ │ │ stm32f10x_dbgmcu.c
│ │ │ stm32f10x_dma.c
│ │ │ stm32f10x_exti.c
│ │ │ stm32f10x_flash.c
│ │ │ stm32f10x_fsmc.c
│ │ │ stm32f10x_gpio.c
│ │ │ stm32f10x_i2c.c
│ │ │ stm32f10x_iwdg.c
│ │ │ stm32f10x_pwr.c
│ │ │ stm32f10x_rcc.c
│ │ │ stm32f10x_rtc.c
│ │ │ stm32f10x_sdio.c
│ │ │ stm32f10x_spi.c
│ │ │ stm32f10x_tim.c
│ │ │ stm32f10x_usart.c
│ │ └ stm32f10x_wwdg.c
│ ├ SYSTEM
│ │ ├ delay
│ │ │ │ delay.c
│ │ │ └ delay.h
│ │ ├ sys
│ │ │ │ sys.c
│ │ │ └ sys.h
│ │ └ usart
│ │ │ usart.c
│ │ └ usart.h
│ └ USER
│ │ JLinkLog.txt
│ │ JLinkSettings.ini
│ │ main.c
│ │ NRF24L01.map
│ │ NRF24L01.opt.bak
│ │ NRF24L01.Uv2.bak
│ │ NRF24L01.uvgui.Administrator
│ │ NRF24L01.uvgui_Administrator.bak
│ │ NRF24L01.uvopt
│ │ NRF24L01.uvproj
│ │ NRF24L01_Opt.Bak
│ │ NRF24L01_Target 1.dep
│ │ NRF24L01_uvopt.bak
│ │ NRF24L01_uvproj.bak
│ │ startup_stm32f10x_hd.lst
│ │ stm32f10x.h
│ │ stm32f10x_conf.h
│ │ stm32f10x_it.c
│ │ stm32f10x_it.h
│ │ system_stm32f10x.c
│ └ system_stm32f10x.h
└ SmartCar_Update
│ keilkilll.bat
├ CORE
│ │ core_cm3.c
│ │ core_cm3.h
│ └ startup_stm32f10x_md.s
├ FWLIB
│ ├ inc
│ │ │ misc.h
│ │ │ stm32f10x_adc.h
│ │ │ stm32f10x_bkp.h
│ │ │ stm32f10x_can.h
│ │ │ stm32f10x_cec.h
│ │ │ stm32f10x_crc.h
│ │ │ stm32f10x_dac.h
│ │ │ stm32f10x_dbgmcu.h
│ │ │ stm32f10x_dma.h
│ │ │ stm32f10x_exti.h
│ │ │ stm32f10x_flash.h
│ │ │ stm32f10x_fsmc.h
│ │ │ stm32f10x_gpio.h
│ │ │ stm32f10x_i2c.h
│ │ │ stm32f10x_iwdg.h
│ │ │ stm32f10x_pwr.h
│ │ │ stm32f10x_rcc.h
│ │ │ stm32f10x_rtc.h
│ │ │ stm32f10x_sdio.h
│ │ │ stm32f10x_spi.h
│ │ │ stm32f10x_tim.h
│ │ │ stm32f10x_usart.h
│ │ └ stm32f10x_wwdg.h
│ └ src
│ │ misc.c
│ │ stm32f10x_adc.c
│ │ stm32f10x_bkp.c
│ │ stm32f10x_can.c
│ │ stm32f10x_cec.c
│ │ stm32f10x_crc.c
│ │ stm32f10x_dac.c
│ │ stm32f10x_dbgmcu.c
│ │ stm32f10x_dma.c
│ │ stm32f10x_exti.c
│ │ stm32f10x_flash.c
│ │ stm32f10x_fsmc.c
│ │ stm32f10x_gpio.c
│ │ stm32f10x_i2c.c
│ │ stm32f10x_iwdg.c
│ │ stm32f10x_pwr.c
│ │ stm32f10x_rcc.c
│ │ stm32f10x_rtc.c
│ │ stm32f10x_sdio.c
│ │ stm32f10x_spi.c
│ │ stm32f10x_tim.c
│ │ stm32f10x_usart.c
│ └ stm32f10x_wwdg.c
├ HARDWARE
│ ├ BEEP
│ │ │ beep.c
│ │ └ beep.h
│ ├ DHT11
│ │ │ dht11.c
│ │ └ dht11.h
│ ├ KEY
│ │ │ key.c
│ │ └ key.h
│ ├ L298N
│ │ │ l298n.c
│ │ └ l298n.h
│ ├ LED
│ │ │ led.c
│ │ └ led.h
│ ├ NRF24L01
│ │ │ 24l01.c
│ │ └ 24l01.h
│ ├ OLED
│ │ │ codetable.h
│ │ │ OLED_I2C.c
│ │ └ OLED_I2C.h
│ ├ SPI
│ │ │ spi.c
│ │ └ spi.h
│ ├ SR04
│ │ │ sr04.c
│ │ └ sr04.h
│ ├ TIMER
│ │ │ timer.c
│ │ └ timer.h
│ ├ TUBE
│ │ │ tube.c
│ │ └ tube.h
│ └ UART
│ │ uart.c
│ └ uart.h
├ OBJ
│ └ SmartCar.hex
├ SYSTEM
│ ├ delay
│ │ │ delay.c
│ │ └ delay.h
│ ├ sys
│ │ │ sys.c
│ │ └ sys.h
│ └ usart
│ │ usart.c
│ └ usart.h
└ USER
│ JLinkLog.txt
│ JLinkSettings.ini
│ main.c
│ main.h
│ SmartCar.BAT
│ SmartCar.map
│ SmartCar.uvgui.Administrator
│ SmartCar.uvgui_Administrator.bak
│ SmartCar.uvopt
│ SmartCar.uvproj
│ SmartCar_SmartCar.dep
│ SmartCar_uvopt.bak
│ SmartCar_uvproj.bak
│ startup_stm32f10x_md.lst
│ stm32f10x.h
│ stm32f10x_conf.h
│ stm32f10x_it.c
│ stm32f10x_it.h
│ system_stm32f10x.c
└ system_stm32f10x.