门磁模块详解(防盗感应开关 STM32)

news/2024/9/18 8:23:08/ 标签: stm32, 嵌入式硬件, 单片机, 传感器

目录

一、介绍

二、程序设计

main.c文件

gate_guard.h文件

gate_guard.c文件

三、实验效果 

四、资料获取

项目分享


一、介绍

        MC-38常闭式门磁开关是作为IO开关输入数字信号的,原理是合在一起信号是导通的 , 配合有线主机使用 不能单独使用。适用于非铁质(如木制或铝合金制)门或窗表面安装,做防盗报警使用。

以下是门磁模块的参数:

型号

MC-38

开关耐压

100VDC

负载电流

150mA

外观尺寸

27*14*10 mm

动作距离

18mm ± 6mm

寿命

100万次

开关输入

常闭式

哔哩哔哩视频:

门磁模块详解(防盗感应开关 STM32)

(资料分享见文末) 


二、程序设计

1.使用STM32F103C8T6读取门磁模块采集的数据,通过串口发送至电脑

2.将读取得到信息数据同时在OLED上显示

门磁IO

PB15

OLED_SCL

PB11

OLED_SDA

PB10

串口

串口1

main.c文件

#include "stm32f10x.h"
#include "led.h"
#include "usart.h"
#include "delay.h"
#include "oled.h"
#include "gate_guard.h"
#include "adcx.h"/*****************辰哥单片机设计******************STM32* 项目			:	门磁模块实验                     * 版本			: V1.0* 日期			: 2024.9.6* MCU			:	STM32F103C8T6* 接口			:	参看gate_guard.h							* BILIBILI	:	辰哥单片机设计* CSDN			:	辰哥单片机设计* 作者			:	辰哥 **********************BEGIN***********************/u16 value;int main(void)
{ SystemInit();//配置系统时钟为72M	delay_init(72);LED_Init();LED_On();GATE_GUARD_Init();USART1_Config();OLED_Init();delay_ms(1000);OLED_Clear();//显示“门磁状态:”OLED_ShowChinese(0,0,0,16,1);OLED_ShowChinese(16,0,1,16,1);OLED_ShowChinese(32,0,2,16,1);OLED_ShowChinese(48,0,3,16,1);	OLED_ShowChar(64,0,':',16,1);while (1){value = GATE_GUARD_GetData();if(value == 1){OLED_ShowChinese(60,30,4,16,1);  //开printf("开\r\n");LED_Toggle();delay_ms(100);}else{OLED_ShowChinese(60,30,5,16,1);		//关printf("关\r\n");delay_ms(100);}}
}

gate_guard.h文件

#ifndef __GATE_GUARD_H
#define	__GATE_GUARD_H
#include "stm32f10x.h"
#include "adcx.h"
#include "delay.h"
#include "math.h"/*****************辰哥单片机设计******************STM32* 文件			:	门磁模块h文件                   * 版本			: V1.0* 日期			: 2024.9.6* MCU			:	STM32F103C8T6* 接口			:	见代码							* BILIBILI	:	辰哥单片机设计* CSDN			:	辰哥单片机设计* 作者			:	辰哥**********************BEGIN***********************//***************根据自己需求更改****************/
// 门磁模块 GPIO宏定义#define		GATE_GUARD_GPIO_CLK								RCC_APB2Periph_GPIOB
#define 	GATE_GUARD_GPIO_PORT							GPIOB
#define 	GATE_GUARD_GPIO_PIN								GPIO_Pin_15/*********************END**********************/#define GATE_GUARD  GPIO_ReadInputDataBit(GATE_GUARD_GPIO_PORT,GATE_GUARD_GPIO_PIN)		//读取按键1void GATE_GUARD_Init(void);
uint16_t GATE_GUARD_GetData(void);#endif /* __ADC_H */

gate_guard.c文件

#include "gate_guard.h"/*****************辰哥单片机设计******************STM32* 文件			:	1×4矩阵键盘c文件                   * 版本			: V1.0* 日期			: 2024.8.31* MCU			:	STM32F103C8T6* 接口			:	见代码							* BILIBILI	:	辰哥单片机设计* CSDN			:	辰哥单片机设计* 作者			:	辰哥**********************BEGIN***********************/void GATE_GUARD_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd (GATE_GUARD_GPIO_CLK, ENABLE );			// 打开连接 单片机引脚端口时钟GPIO_InitStructure.GPIO_Pin = GATE_GUARD_GPIO_PIN;					// 配置连接 单片机引脚模式GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;								// 设置为上拉输入GPIO_Init(GATE_GUARD_GPIO_PORT, &GPIO_InitStructure);					// 初始化 }uint16_t GATE_GUARD_GetData()
{if(GATE_GUARD==1){delay_ms(10);//去抖动 if(GATE_GUARD==1)return 1;}    return 0;// 无按键按下
}

三、实验效果 

四、资料获取

项目分享


http://www.ppmy.cn/news/1526118.html

相关文章

基于Python实现一个庆祝国庆节的小程序

功能: 添加互动功能:允许用户选择不同的祝福语或者查询不同的国庆节信息。动态背景音乐:播放国庆节相关的背景音乐。增加节日小测验:提供一些关于国庆节的趣味小测验,让用户参与。增强图形用户界面 (GUI):…

中断门+陷阱门

中断门: 中断描述符在IDT表里面 kd> dq idtr 80b95400 83e48e000008bfc0 83e48e000008c150 80b95410 0000850000580000 83e4ee000008c5c0 80b95420 83e4ee000008c748 83e48e000008c8a8 80b95430 83e48e000008ca1c 83e48e000008d018 80b95440 000085000050…

git github仓库管理

原文链接:git github仓库管理 拉取镜像 github的仓库有两种下载方式,http和ssh,http是对外公开的,可以直接clone,ssh的一般是自己的或内部的仓库,仓库需要配置ssh-key才能使用git clone. 或者直接网页下载 #https git clone https://github.com/git/git.git #ssh…

vue element时间选择不能超过今天 时间选中长度不能超过7天

背景: 使用elenmet plus 组件实现时间选择;且日期时间选择不能超过今天;连续选中时间的长度范围不能超过7天 效果展示: 实现思路: 一、使用element组件自带的属性和方法; :disabled-date"disabledDate…

Java设计模式之责任链模式详细讲解和案例示范

在本文中,我们将详细讲解Java设计模式中的责任链模式,探讨其基本概念、使用场景、常见问题和解决方式。同时,我们还会介绍责任链模式与策略模式的区别,并结合电商交易系统的示例进行说明。此外,我们还会探讨责任链模式…

Basler 相机与LabVIEW进行集成

Basler 提供的相机驱动和 SDK (Software Development Kit) 允许用户通过 LabVIEW 对相机进行控制和图像采集。以下是 Basler 相机与 LabVIEW 集成的几种方式: 1. Baslers Pylon SDK Basler 提供的 Pylon SDK 是一套用于控制 Basler 相机的开发工具包,支…

ubuntu 安装 nvidia-docker

安装 nvidia-docker 之前要先安装好显卡驱动和docker,不需要安装CUDA 1、安装docker 先卸载旧版本docker sudo apt-get remove docker docker-engine docker.io containerd runc再进行 sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb…

ModuleNotFoundError: No module named ‘datasets‘

报错信息: 解决:安装datasets 方法1: pip install datasets 方法2: python3可以使用以下命令: pip3 install datasets

15.7 创建prometheus的statsfulset配置

本节重点介绍 : prometheus statsfulset yaml配置 设置statsfulset副本反亲和性设置pod运行优先级设置volumeClaimTemplates设置配置文件热更新容器 configmap-reload设置prometheus主容器 statsfulset 设置元信息 apiVersion: apps/v1 kind: StatefulSet metadata:name: p…

Rust:Result 和 Error

在 Rust 编程语言中,错误处理是一个核心部分,用于确保程序的健売性和可靠性。Rust 通过 Result 枚举和 Error 特质(trait)来处理错误。 Result 枚举 Result 是一个泛型枚举,用于表示一个操作可能成功或失败。它有两个…

时序预测|基于小龙虾优化高斯过程GPR数据回归预测Matlab程序COA-GPR 多特征输入单输出 附赠基础GPR

时序预测|基于小龙虾优化高斯过程GPR数据回归预测Matlab程序COA-GPR 多特征输入单输出 附赠基础GPR 文章目录 一、基本原理二、实验结果三、核心代码四、代码获取五、总结 时序预测|基于小龙虾优化高斯过程GPR数据回归预测Matlab程序COA-GPR 多特征输入单输出 附赠基础GPR 一、…

实时(按帧)处理的低通滤波C语言实现

写在前面: 低通滤波采用一般的FIR滤波器,因为本次任务,允许的延迟较多,或者说前面损失的信号可以较多,因此,涉及一个很高阶的FIR滤波器,信号起始段的信号点可以不处理,以及&#xf…

Spring boot中常用注解解释

Data 是Lombok提供的注解,结合了以下几个常用注解的功能: Getter: 自动为所有字段生成getter方法。 Setter: 自动为所有字段生成setter方法。 ToString: 自动生成toString()方法。 EqualsAndHashCode: 自动生成equals()和hashCode()方法。 RequiredArgs…

HTML5中`<span>`标签深入解析

引言 在HTML5中&#xff0c;<span>标签是一个行内元素&#xff0c;用于对文档中的一小部分文本或内容进行分组&#xff0c;以便于应用CSS样式或JavaScript脚本。与块级元素&#xff08;如<div>&#xff09;不同&#xff0c;<span>不会打断文本的流动&#x…

设计模式之单例模式(通俗易懂--代码辅助理解【Java版】)

文章目录 设计模式概述1、单例模式概述2、懒汉式&#xff1a;3、饿汉式4、懒汉式&#xff1a;解决反射、序列化反序列化问题5、懒汉式DCL&#xff08;推荐&#xff09;6、应用场景7、单例线程池实现8、总结 设计模式概述 创建型模式&#xff1a;工厂方法、抽象方法、建造者、原…

conda、anaconda、pip、torch、pytorch、tensorflow到底是什么东西?(转载自本人的知乎回答)

转载自本人的知乎回答&#xff08;截止2024年9月&#xff0c;1700赞同&#xff0c;2400收藏&#xff09; https://www.zhihu.com/question/566592612/answer/3063465880 如果你是一个大四的CS准研究生回去补基础课&#xff0c;假如是科班CS甚至科班EE的话那你基础也太差了。你…

相亲交友程序系统开发产品分析

相亲交友系统是一种专门为单身人士设计的社交平台&#xff0c;旨在帮助他们找到合适的伴侣。这类系统通常包括了线上和线下的多种互动方式&#xff0c;能够让参与者在舒适的环境中相识、相知。编辑&#xff1a;qawsed2466。以下是相亲交友系统的一些关键特点和优势&#xff1a;…

AI算法部署方式对比分析:哪种方案性价比最高?

随着人工智能技术的飞速发展&#xff0c;AI算法在各个领域的应用日益广泛。AI算法的部署方式直接关系到系统的性能、实时性、成本及安全性等多个方面。本文将探讨AI算法分析的三种主要部署方式&#xff1a;本地计算、边缘计算和云计算&#xff0c;并详细分析它们的优劣性。 一、…

计算机毕业设计选题推荐-推拿知识互动平台-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

基于微信小程序的宠物之家的设计与实现

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于微信小程序JavaSpringBootVueMySQL的宠物之家/宠物综合…