a3144

资料

a3144是一种开关型霍尔效应传感器,由下图所知,他有3个引脚,(从丝印正对来看)从左到右是VCC、GND和输出的型号引脚。

需要注意的是:这里的的VCC的范围在4.5到24V之间,输出的饱和电压虽然在400mv以下,但是经过我的实验,发现是可以被stm32单片机引脚的输入模式检测到的

使用方法(这里测速使用)

拿丝印方向正对 磁极的S极,会输出一个高电平

cubemx配置

开个定时器,配置1ms进中断


开个GPIO口为输入模式

风扇硬件安装以及代码

硬件部分

安装

在旋转轴两边各贴一个磁铁,对外的磁极为S极

硬件使用

a3144模块的丝印方向正对风扇

代码部分

a3144.c

#include "a3144.h"
#include "tim.h"#define A3144_Port    GPIOB
#define A3144_PIN   GPIO_PIN_13uint16_t cntFanSpeed = 0;   // 风扇速度
uint16_t cntFanCnt = 0;        // 风扇计数// 转速计数
void CountFanSpeed(void)
{static uint8_t Flip = 0;if(Flip != HAL_GPIO_ReadPin(A3144_Port, A3144_PIN))  // 判断是否翻转{Flip = HAL_GPIO_ReadPin(A3144_Port, A3144_PIN);cntFanCnt++;}
}// 获取转速
unsigned short int Get_FanSpeed(void)
{static uint16_t beforeSpeed = 0, cntClear = 0;cntClear++;if(cntClear == 5) // 判断长时间为零,就是停转了{cntClear = 0;beforeSpeed = 0;}if(cntFanSpeed != 0) // 若是当前转速有计,则获取最新速度{cntClear = 0;beforeSpeed = cntFanSpeed;cntFanSpeed = 0;}return beforeSpeed;
}void a3144_Init(void)
{HAL_TIM_Base_Start_IT(&htim3);
}/*定时器中断*/
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{static uint16_t cnt1s = 0;if(htim == &htim3){CountFanSpeed();   // 判断翻转计算cnt1s++;if(cnt1s >= 1000)    // 到达1s{cnt1s = 0;cntFanSpeed = cntFanCnt/4;cntFanCnt = 0;}}
}

a3144.h

#ifndef __A3144_H_
#define __A3144_H_/* a3144初始化 */
void a3144_Init(void);
/* 读引脚电平 */
unsigned short int Get_FanSpeed(void);#endif /* __A3144_H_ */

main.c

头文件

include "a3144.h"
include "U_Print.h"   // 用户串口打印函数

初始化

a3144_Init();

循环中

U_Printf("Fan speed : %d\r\n", Get_FanSpeed());

效果展示

资料

芯片数据手册

cubemx stm32 a3144模块 霍尔效应传感器 风扇转速驱动代码相关推荐

  1. 【鸿蒙OS开发入门】18 - HDF驱动子系统:加速度计传感器 Driver层驱动代码分析

    [鸿蒙OS开发入门]18 - HDF驱动子系统:加速度计传感器 Driver层代码分析 一.如何添加速度计传感器驱动代码(代码.编译.配置) 1.驱动代码实现 2.驱动编译配置 2.1 linux 编 ...

  2. cubemx stm32 lu90614模块 人体温度检测模块 可以替代温枪 驱动代码

    lu90614 使用串口通信在,指值得注意的是,他的TX接单片机的TX,RX接单片机的RX,和其他的串口设备不一样. 模式切换包 lu90614有两种模式, 一个是物温模式,一个是体温模式(检测人体温 ...

  3. [Arduino] 二氧化碳传感器 ELT IoT-300E 驱动代码

    使用方法.原理都在JavaDoc (ArduinoDoc) 里面了,复制即用: // IoT300E.h/*** For ELT Sensor IoT-300E* @version 1.0* @sin ...

  4. 【霍尔效应传感器模块与 Arduino】

    霍尔效应传感器模块与 Arduino 前言 霍尔效应传感器引脚 霍尔效应传感器模块如何工作? 霍尔效应传感器的类型 单极霍尔效应传感器 双极霍尔效应传感器 霍尔效应传感器模块组成 关于霍尔效应传感器的 ...

  5. OLED显示模块的电路连接和驱动(树莓派)

    一.电路连接 OLED显示模块焊接上I2C仅有四个引脚,分别为接电(+3V).接地(GND).SCL和SDA,分别利用母对母杜邦线将SCL和SDA接口接入树莓派GPIO3和GPIO2口,接地和接电分别 ...

  6. STM32 BMP280模块 获取气压温度高度传感器数据 TFT显示

    STM32 BMP280模块 获取气压温度高度传感器数据 TFT显示 简介 BMP280是博世最新推出的数字气压传感器,具有卓越的性能和低廉的价格,相对精度为±0.12 hPa(相当于±1米),传感器 ...

  7. 霍尔效应传感器A3144磁力开关的基本操作和说明

    在本篇文章中,我们将学习有关霍尔效应传感器A3144磁力开关的基本知识和说明.我们还将设计一个使用晶体管的开关电路,以帮助检测磁力北极和南极.它也可以用来检测磁场的存在.霍尔效应传感器,顾名思义,是按 ...

  8. 基于数字电路交通灯信号灯控制系统设计-基于单片机病房温度监测与呼叫系统设计-基于STM32的无线蓝牙心电监护仪系统设计-基于STM32的智能蓝牙温控风扇控制设计-基于STM32的智能温室控制系统设计

    1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告)  摘  要:交通灯控制系统在城市交通控制中发挥着重要的作用,本次课程设计就是以城市交通灯控制系统为背景的,主要通过运用学过的数字电路 ...

  9. STM32+光敏模块

    STM32+光敏模块 器件选择 4线光敏传感器介绍 光敏模块原理图 光敏模块实物 光敏模块引脚说明 CubeMX配置 代码主体部分 结果展示 器件选择 硬件平台选择STM32F103C8T6最小系统开 ...

最新文章

  1. 石锤!谷歌排名第一的编程语言,死磕这点,程序员都收益
  2. 更多的结构化命令(第十三章)
  3. springcloud 组件_深入理解 Spring Cloud 核心组件与底层原理
  4. Python列表的常用方法
  5. [css] 举例说明伪类:focus-within的用法
  6. vm虚拟远程部署windows驱动
  7. 修改list中对象的值_怎样在S7-200 SMART中监控和修改变量的值?
  8. git命令之git rebase 的用法
  9. matlab循环取出矩阵的某一行并标示上A1 A2 A3
  10. Excel数据透视表制作
  11. 微信小程序图片上传组件
  12. 不再以讹传讹 剖析720P 1080i和1080P
  13. C# 通过反射获取类属性标识名称
  14. 达人评测联想小新笔记本air14 2023和联想小新pro162022款选那个好
  15. 用计算机进行绘画教案,电脑绘画的教案
  16. react中配置less-loader报错
  17. 一个程序员码农的迷茫期
  18. 【老生谈算法】matlab实现多种滤波器算法源码——多种滤波器
  19. 你有新的推送消息,请注意查收
  20. 什么是EasyUi?

热门文章

  1. whitelist方法_whitelist
  2. Web3社交基础设施SBT
  3. [OO] Unit3 Summary JML系列
  4. android_汇总
  5. Inception结构
  6. U盘启动盘的制作方法
  7. 机器人玛娜图片_怪兽惨死录:智能机器人:玛娜篇二
  8. 如何使用iphone手机进行录屏
  9. 大象有隐形的翅膀,互联网+直销能带来什么变革?
  10. R语言潜类别混合效应模型(Latent Class Mixed Model ,LCMM)分析老年痴呆年龄数据