1. 程式人生 > >HC-SR505紅外感應模組驅動(STM32)

HC-SR505紅外感應模組驅動(STM32)

一、前期準備
微控制器:STM32F103ZET6
開發環境:MDK5.14
庫函式:標準庫V3.5
HC-SR505紅外感應模組:淘寶有售
在這裡插入圖片描述
二、實驗效果
在這裡插入圖片描述

三、驅動原理
這個模組比較簡單,當有人靠近時候其IO輸出3.3V,STM32可以直接採集。
需要完整工程或者有問題的請加QQ:1002521871,驗證:呵呵。

四、驅動程式碼
HC_SR505.h

#ifndef __HC_SR505_H__
#define	__HC_SR505_H__
#include "stm32f10x.h"
#include "gpio.h"

#define		HC_SR505			PAin(0)
#define		HC_SR505_PIN		GPIO_Pin_0
#define		HC_SR505PORT		GPIOA
#define		HC_SR505_CLKLINE    RCC_APB2Periph_GPIOA

extern void HC_SR505Configuration(void);
#endif

HC_SR505.c

#include "hc_sr505.h"

void HC_SR505Configuration(void)
{
	GPIO_InitTypeDef    GPIO;
    
    //Enable APB2 Bus
    RCC_APB2PeriphClockCmd(HC_SR505_CLKLINE, ENABLE);
    
    //Register IO 
    GPIO.GPIO_Pin   = HC_SR505_PIN;
    GPIO.GPIO_Mode  = GPIO_Mode_IPD;
    GPIO_Init(HC_SR505PORT, &GPIO);
}

由於作者能力有限,有不妥之處歡迎指正,郵箱[email protected]

相關推薦

HC-SR505紅外感應模組驅動STM32

一、前期準備 微控制器:STM32F103ZET6 開發環境:MDK5.14 庫函式:標準庫V3.5 HC-SR505紅外感應模組:淘寶有售 二、實驗效果 三、驅動原理 這個模組比較簡單,當有人靠近時候其IO輸出3.3V,STM32可以直接採集。 需要完整工

Arduino 使用人體紅外感應模組 HC-SR501

第四次發帖了,這個寫作介面操作也不是很好。直接跳過了寫作步驟,沒學習… 下邊分兩個步驟介紹這個模組。 步驟一:認知模組 工作電壓範圍 直流電壓4.5-20V; 延時時間 5-200S(可調

菜鳥江濤帶你學最小物聯網系統之模組02——STM32通過串列埠傳送AT指令控制ESP模組連線伺服器

接著上一篇繼續,這篇部落格我將帶大家使用STM32的串列埠來發送AT指令給ESP模組連線伺服器。當然目前測試使用的是區域網,自己的電腦當伺服器使用。使用TCP連線伺服器,STM32通過ESP12F模組透傳上傳溫溼度資料到伺服器。看下效果圖片 好了,看下主要的實現程式

STM32學習之路-LCD驅動1

T T 為了專案,直接就來研究LCD了,一開始很蒙,連一些基礎的知識都不懂.記錄下這天查資料的一些成果吧 TFT屏的介面模式主要有MCU模式、RGB模式、SPI模式 這是IC ILI9341的內部結構: RGB和MCU的區別: 這次的專案要求是用MCU模式,也就是並行

OLED驅動 0.96寸 SPISTM32

一、前期準備 微控制器:STM32F103ZET6 開發環境:MDK5.14 庫函式:標準庫V3.5 0.96 OLED模組:淘寶有售 二、實驗效果 三、驅動原理 此OLED模組採用SPI通訊,也可轉成IIC通訊,不過要焊接背面的

Linux 驅動開發之核心模組開發 —— 核心模組編譯 Makefile 入門

一、模組的編譯  我們在前面核心編譯中驅動移植那塊,講到驅動編譯分為靜態編譯和動態編譯;靜態編譯即為將驅動直接編譯進核心,動態編譯即為將驅動編譯成模組。 而動態編譯又分為兩種: a -- 內部編譯        在核心原始碼目錄內編譯 b -- 外部編譯        在核

linux驅動模組編譯初學者

現在我來說明一下這個Makefile。請記住是大寫的Makefile而不是小寫的makefile;obj-m :這個變數是指定你要聲稱哪些模組模組的格式為 obj-m := <模組名>.omodules-objs :這個變數是說明聲稱模組modules需要的目標檔案 格式要求   <模組名&

數據驅動

tails value packages tin gravity out robot 如果 例如 數據驅動 RIDE提供的庫: Create List Get File Import Variables Template ExcelLibrary 自定義庫:DataCe

數據驅動

但是 數據過大 err 使用 如何 ive 優缺點 info 接下來 數據驅動 RIDE提供的庫: Create List Get File Import Variables Template ExcelLibrary 自定義庫:DataCenter.py Read

函式和常用模組【day05】:不同目錄間進行模組呼叫

本節內容 1、背景 2、函式功能解釋 3、絕對路徑和相對路徑 4、不同目錄間進行模組呼叫 一、背景   之前寫了軟體開發目錄規範這篇部落格,相信很多人都已經知道,我們在寫程式時需要遵循一定的規範,不然,就算很簡答的邏輯程式的程式碼,讀起來會很費勁,佔用了我們大量的時間,但是,我們一旦用了這樣的規範

linux 核心模組程式設計之模組引數

通過巨集module_param指定模組引數,模組引數用於在載入模組時傳遞給模組。 module_param(name, type, perm) name是模組引數的名字 type是這個引數的型別,常見值:bool、int、charp(字串型) perm是模組

linux裝置驅動3I2C驅動

i2c驅動程式的核心是建立i2c_driver結構體 /* This is the driver that will be inserted */ static struct i2c_driver at24cxx_driver = { .driver = { .name

linux設備驅動3I2C驅動

eric without this flags res 創建 sig pri 數據傳輸 i2c驅動程序的核心是創建i2c_driver結構體 /* This is the driver that will be inserted */ static struct i2c_

ubuntu安裝USB轉串列埠驅動PL2303

在Ubuntu下利用minicom進行嵌入式開發時可能會用到USB轉串列埠,這時就會用到USB轉串列埠驅動,以前的Ubuntu是直接將此驅動編譯進核心,但不知道從哪個版本開始Ubuntu將其從核心去掉了,所以要用到Ubuntu的minicom時只能由我們自己安裝USB轉串列埠驅動,方法如下:

Appium-python日誌模組logging1

背景: 在除錯指令碼時,可直接使用pycharm IDE展示指令碼執行的日誌,如下圖: 但是,在指令碼完成後,每日定時執行自動化指令碼時,不會開啟pycharm,故會存在看不到日誌的情況,此時需要使用python日誌系統。 Python的日誌模組是logging模組。 Pyth

python collections模組 計數器counter

    一、計數器(counter) Counter是對字典型別的補充,用於追蹤值的出現次數。 ps:具備字典的所有功能 + 自己的功能   把我寫入的元素出現的多少次都計算出來 import collections # 建立一個Counter物件 obj

SpringBoot 多模組專案moduleService自動注入@Autowired空指標錯誤解決

 報錯資訊,這個我是截了上一部分,為了省空間下部分我就用...代替了。 java.lang.NullPointerException at com.jd.impl.UploadServiceImpl.uploadBlock(UploadServiceImpl.java:39)

紅孩兒編輯器的模組設計1主顯示區域的滾動條的邏輯處理

紅孩兒編輯器的模組設計(1)主顯示區域的滾動條的邏輯處理 第一個問題是判斷滾動條是否需要顯示的問題, 第二個問題是如何渲染滾動條的問題 第三個問題是通知渲染滾動條,或者是取消滾動條的顯示的時機問題 第四個問題是滾動條如何響應滑鼠的操作的問題 第一個問題 邏輯規則如下 如果當檔案的行數超過了一

python中的import模組引用

我們可以使用from import來將指定模組裡所有變數(包含變數名)匯入進來  #繼續採用上面的路徑# from first.first_1.a1 import * print (a + b * c - d + e * f)   如果不想引用模組的所有變數,可以

python中的import模組引用

python利用import匯入模組來實現程式碼的高複用性。 在同一個包內建立一個名為a1.py的模組,在裡面對a、b、c、d、e、f等變數進行定義。 a = 11 b = 22 c = 33 d = 44 e = 55 f = 66   接下來我們可以直接在a2.py