1.目的是通过左右移动设备,红外模块输出高低电平。 2.开发的 c# 程序根据输出的高电平、低电平进行相关的操作。
开发过这方面的大佬,有没有什么相关的 SDK 。
红外模块(拼多多上买的,不提供 sdk ,是主板上插的那种 红外避障传感器) 3 块多钱
1
ilovey482i 2023-04-17 15:24:37 +08:00
这得看你那设备有无提供 SDK 文档了
|
2
longmeier90 OP @ilovey482i 红外避障传感器,不能直接使用,需要往主板上插的。拼多多上 3 块钱
|
3
Eiden 2023-04-17 15:37:56 +08:00
买个带串口输出的模块
|
4
Armor 2023-04-17 15:49:18 +08:00
测距离还是要雷达精准一些,红外的买欧姆龙的
|
5
xyfan 2023-04-17 17:04:48 +08:00
3 块钱的传感器能得到什么高精度结果,都不值得花时间写代码。
找一找嵌入式方面的代码,根据红外信号测距应该有很多 C 代码可供参考,把整体逻辑改成 C#实现,不过 IO 驱动这部分得用板卡的 SDK 实现。 |
6
aureole999 2023-04-17 17:13:31 +08:00
3 块钱的传感器是啥,就是有三个针脚的那种?
你得有个树莓派或者 arduino 或者 esp 之类的开发板才能接吧,接上就很简单了,一条线供电,一条 GND ,一条输入读数就行。C#一般不行吧,用 C 或者 Micro python 之类的。 |
7
longmeier90 OP @aureole999 是的,我能不能用 USB-TLL 模块*1 、杜邦线*1 连接电脑进行测试
|
8
aureole999 2023-04-17 18:34:31 +08:00
@longmeier90 我也不是专业的,但红外模块本身应该是不具备串口通讯的功能,所以我觉得不行。买个 NodeMCU 或者 D1 mini ,最好是焊好了引脚的,然后加 3 根杜邦线就行。再接电脑用 wifi 或者 usb 都可以了。
|
9
l1ve 2023-04-17 18:34:47 +08:00
红外模块什么样的? TTL 协议还是电平输出还是 Modbus ?
但看起来三块多钱我觉得就是个高低电平,如果你平台能读 IO 的话就直用平台的 SDK ,不行的话就要单独找个 AD 模块了。 |
10
businessch 2023-04-17 19:21:33 +08:00 via iPhone
有没这样一种工具,检测显示器前面有没有人,没人锁屏。
|
11
aureole999 2023-04-17 19:53:23 +08:00
@businessch 人在传感器呗,毫米波,小贵。接入智能家居可以实现人走关屏。
红外的话就很不准了,我曾经有一台显示器就带这个功能。 |
12
LXGMAX 2023-04-18 09:40:03 +08:00
几块钱没什么协议,三个脚的就是一个红外接收三极管输出模拟信号,后面跟着一个电压比较器,达到一个电平就输出信号;要连接电脑就得再加一个小单片机识别然后转串口之类的,如果要识别具体数值就得引出模拟量接口或者换模块
|
13
ybs123 2023-05-09 10:19:31 +08:00
首先,你需要准备一个能够读取红外模块输出信号的硬件设备,比如一块 Arduino 、一块树莓派等等。根据设备的型号,你需要相应的红外接收器模块和电路连接。
接着,你需要编写一段 C# 程序,与硬件设备进行通信,并获取红外模块输出的信号。以下是一个简单的 C# 程序示例,可供参考: ```csharp using System; using System.IO.Ports; namespace IRDistanceDetector { class Program { static void Main(string[] args) { // 初始化串口 SerialPort serialPort = new SerialPort("COM3", 9600); serialPort.Open(); while (true) // 循环读取数据 { string data = serialPort.ReadLine(); // 读取数据 if (data.Contains("HIGH")) // 判断输出电平为高电平 { // 进行操作 Console.WriteLine("发现距离变化,当前距离为:xx cm"); } } } } } ``` 在这个示例程序中,我们通过 SerialPort 类打开串口 COM3 ,并通过 ReadLine() 方法读取串口数据。每次读取到数据后,我们通过 Contains() 方法判断是否为高电平信号,如果是,就执行相关操作,比如输出当前距离。 你需要根据自己的硬件设备和电路连接,调整程序中串口的参数。此外,你还需要找到红外模块输出信号的电平变化与实际距离的关系,以便将信号转换为距离值。 希望这些信息能对你有所帮助。如果你还有任何问题,欢迎继续提问。 |