使用案例
这段 C# 代码主要用于控制 MyCobot 机械臂。程序通过指定串口打开与机械臂的连接,执行一些输入/输出操作(如读取输入引脚状态),并最终关闭连接。代码中的部分功能被注释掉,这些注释部分展示了如何设置和读取 MyCobot 机械臂的 I/O 引脚
项目中的program.cs是完整的使用案例程序,可以在此基础上根据需要修改:
using System;
using System.Threading;
namespace Mycobot.csharp
{
class Test
{
static void Main(string[] args)
{
// 初始化 MyCobot 对象,并指定串口名称(Windows 下为 "COM57",树莓派下为 "/dev/ttyAMA0")
MyCobot mc = new MyCobot("COM57");
// 打开与 MyCobot 机械臂的串口连接
mc.Open();
// 等待 5 秒,以确保 Windows 环境下串口打开后,MyCobot 底层系统重新启动并准备就绪
Thread.Sleep(5000);
// 设置 MyCobot 的基本输出引脚(被注释掉的代码)
/*
mc.SetBasicOut(2, 1); // 设置引脚 2 为高电平
Thread.Sleep(100); // 延迟 100 毫秒
mc.SetBasicOut(5, 1); // 设置引脚 5 为高电平
Thread.Sleep(100); // 延迟 100 毫秒
mc.SetBasicOut(26, 1); // 设置引脚 26 为高电平
Thread.Sleep(100); // 延迟 100 毫秒
*/
// 获取 MyCobot 的基本输入引脚状态
Console.WriteLine(mc.GetBasicIn(35)); // 读取引脚 35 的电平,并输出其状态
Thread.Sleep(100); // 延迟 100 毫秒
Console.WriteLine(mc.GetBasicIn(36)); // 读取引脚 36 的电平,并输出其状态
Thread.Sleep(100); // 延迟 100 毫秒
// 设置 Atom 输出引脚(被注释掉的代码)
/*
mc.SetDigitalOut(23, 0); // 设置引脚 23 为低电平
Thread.Sleep(100); // 延迟 100 毫秒
mc.SetDigitalOut(33, 0); // 设置引脚 33 为低电平
Thread.Sleep(100); // 延迟 100 毫秒
*/
// 获取 M5 输入引脚状态(被注释掉的代码)
/*
Console.WriteLine(mc.GetDigitalIn(19)); // 读取引脚 19 的电平,并输出其状态
Thread.Sleep(100); // 延迟 100 毫秒
Console.WriteLine(mc.GetDigitalIn(22)); // 读取引脚 22 的电平,并输出其状态
Thread.Sleep(100); // 延迟 100 毫秒
*/
// 关闭与 MyCobot 机械臂的串口连接
mc.Close();
}
}
}