HS-S58P 码盘计数传感器

HS-S58P 码盘计数传感器

1、介绍

码盘计数传感器采用槽型对射光电传感器,它由一个红外发光二极管和一个NPN光电三极管组成,槽宽度为5.9MM。只要非透明物体通过槽型即可触发输出TTL低电平。采用施密特触发器去抖动脉冲,非常稳定,可用于小车测转速,测距离等等应用!

2、原理图

码盘计数传感器-HS-S58P 原理图 点击查看

3、模块参数

引脚名称

描述

G

GND(电源输入负极)

V

VCC(电源输入正极)

S

单片机信号引脚

  • 供电电压:3.3V / 5V

  • 连接方式:PH2.0 端子线

  • 安装方式:双螺丝固定

4、电路板尺寸

5、Arduino IDE示例程序   

注意:程序上传时如果提示库文件报错,请先导入库文件!
Arduino IDE 库文件下载及导入教程:
点击查看

示例程序(UNO开发板):

volatile float Val;
volatile float time;
volatile float Speed;
volatile float Speed1;
volatile float Val1;

void attachInterrupt_fun_CHANGE_2() {
  count();
}

void count() {
  Val = Val + 1;
}

void setup(){
  Serial.begin(9600);
  Val = 0;
  time = 0;
  Speed = 0;
  Speed1 = 0;
  Val1 = 0;
  pinMode(2, INPUT);
  attachInterrupt(digitalPinToInterrupt(2),attachInterrupt_fun_CHANGE_2,CHANGE);
}

void loop(){
  //电机测速:20孔码盘,单位转/分

  String("转速:") + String(Speed);

  time = millis();
  Speed = (Val / 40) / (time / 60000);
  Serial.println(digitalRead(2));

}

6、ESP32 Python 示例(适用于Mixly IDE /米思齐)

开发板选择 Python ESP32 【ESP32 Generic(4MB)】切换为代码模式上传

注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:
点击查看

示例程序(ESP32-Python):

import machine
import time

def attachInterrupt_func(x):
    global val
    val = val + 1
    pass




val = 0
pin2 = machine.Pin(2, machine.Pin.OUT)
pin4 = machine.Pin(4, machine.Pin.OUT)
machine.Pin(12).irq(handler = attachInterrupt_func, trigger = (machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING))
pin2.value(1)
pin4.value(1)
t = float(0)
speed = float(0)
while True:
    t = time.ticks_ms()
    speed = (val / 40) / (t / 60000)
    print(speed)

7、米思齐 Mixly 示例程序(图形化语言)

示例程序(UNO开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE Arduino库文件下载及导入教程:点击查看

示例程序(ESP32开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:
点击查看

8、测试环境搭建

Arduino UNO 测试环境搭建

准备配件:

  • HELLO STEM UNO R3 开发板 *1

  • HELLO STEM UNO EXP1 扩展板 *1

  • USB type-c 数据线 *1

  • 码盘计数传感器(HS-S58P)*1

  • 电机驱动模块(HS-F04P) *1

  • PH2.0 3P双头端子线 *2 或 PH2.0 3P端子转杜邦线 *2

电路接线图:

ESP32 测试环境搭建

准备配件:待更新...

电路接线图:待更新...

9、视频教程   

视频教程:点击查看

10、测试结果

Arduino UNO测试结果:

器件连接好线之后,将上述程序烧录到UNO-R3PRO开发板之后,接通电源。打开串口监视器,当码盘计数传感器感测到有冲击信号时,就可以看到转速数据。

ESP32 测试结果:

待更新...