假如您使用的主控板是 86Duino Zero,为了让多颗伺服机能快速、整齐地和 86Duino Zero 连接,强烈建议手动制作一块电子扩充板。它由 3 个 3×4 的杜邦针脚和 1 个 1×2 的杜邦针脚组成,每个 3×4 的针脚可以插上 4 颗伺服机,3 组共可插 12 颗。 一组的 3×4 杜邦针脚上有: 1. 电源线(VIN) 2. 地线(GND) 3. 讯号线(PWM) 其中电源(红线)是每颗伺服机共用,地线(黑线)也是,可以用烙铁工具将这些针脚各焊成两条平行的直线,如下图的红黑双线。橘线是讯号线,是我们最后要用杜邦线(共 12 条)连接至主控板脚位的,请勿将他们像红黑双线一样焊成一排,只需要点锡固定即可。最后一个 1×2 的针脚作为电源和地线来源,把它焊在红黑双线延伸的上方即可。请牢记:红黑双线之间绝对不能有任何焊锡相连,务必让双线成为两条完全分离的平行线,否则会形成电路学上的短路现象,严重时可能会烧坏您的伺服机、伤害您的电池,务必检查再检查。 下图左边为布线图,中间是成品仰视图,右边是成品俯视图: 各位请参考上图实做一个,因过程中需要使用烙铁工具(含焊锡),烙铁头温度非常高,小朋友在使用时务必有家长陪同,避免操作过程中不慎烫伤。 86小六足組裝教學 The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples […]
专案起源 功能说明 准备材料 硬体架设 环境设定 程式解说 成果展示 相关资料 专案起源 此专案源起于某天,士兵 B 带了魔术方块来到公司被老大撞见。 「原来你会转魔术方块阿! 那麽做个魔术方块机器人对你来说应该是小菜一碟吧!」老大说道,于是士兵 B 便被指派为此专案负责人。 功能说明 本专案利用 86Duino One、86Duino Enjoy 及 Maixduino 实作魔术方块机器人。 准备材料 一片 86Duino One 一片 Maixduino 8 颗 RoBoard RS-1270 伺服机 OV2640 摄像头模组 一个魔术方块(此专案使用大雁展翅系列魔术方块) 2.4 吋 TFT LCD萤幕(可有可无) WS2812 LED 灯条(含 18 颗 LED 灯) 7.2V 的电池 3D 列印机 螺丝、螺帽与线材 硬体架设 […]
描述 接收并解析 Modbus 封包,并根据封包位址将其封包发送至对应节点。 语法 gateway.poll() 参数 gateway: ModbusGateway 物件。 回传 int:已接收到的 Modbus 封包长度。 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include <Modbus86.h> #include <Ethernet.h> ModbusMaster bus; ModbusMasterNode node1; ModbusMasterNode node2; […]
描述 设定逾时时间。 语法 gateway.setTimeout(timeout) 参数 gateway: ModbusGateway 物件。 timeout: 以毫秒为单位设定逾时时间,在 poll 阶段时若逾时将会回传 EXCEPTION_CODE 至Modbus Master 。 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include <Modbus86.h> #include <Ethernet.h> ModbusMaster bus; ModbusMasterNode […]
描述 建立此闸道器与 ModbusMasterNode 物件间的连结,其物件会对应一个通道与节点编号。 语法 gateway.connect(node) 参数 gateway: ModbusGateway 物件。 node: ModbusMasterNode 物件,其物件会对应一个通道与节点编号。 回传 bool:如果成功回传 true,反之回传 false 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include <Modbus86.h> #include <Ethernet.h> ModbusMaster bus; ModbusMasterNode […]
描述 初始化 ModbusGateway 物件,并指定此物件与 Modbus Master 间的通讯模式。 语法 gateway1.begin(mode, serial) gateway2.begin(mode) 参数 gateway1/gateway2: ModbusGateway 物件。 mode:指定 ModbusGateway 物件与 Modbus Master 间的通讯模式,其引数分别为 MODBUS_RTU 、 MODBUS_ASCII 或 MODBUS_TCP 。 serial:指定 Serial 类别做为传输通道。 回传 bool:如果成功回传 true,反之回传 false 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include <Modbus86.h> […]
Modbus86 Gateway 能使 86Duino 模拟成 Modbus Gateway ,是转发 Modbus Master 通讯资料的闸道器。 范例 使用 Modbus TCP 作为与 Modbus Master 通讯方式,并将其通讯资料转发至 Modbus RTU 上的节点 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 […]
描述 向 Slave 节点发送读写 Holding Registers 暂存器的封包指令。 语法 node1.readWriteMultipleRegisters(read_address, read_size, write_address, write_size) node2.readWriteMultipleRegisters(read_address, read_size) - 参数所搭配的函式与使用方法不同,详见范例以示说明。 参数 node1/node2: ModbusMasterNode 物件。 read_address:欲读取的 Holding Registers 暂存器之起始位址。 read_size:欲读取的 Holding Registers 暂存器之大小。 write_address:欲写入的 Holding Registers 暂存器之起始位址。 write_size:欲写入的 Holding Registers 暂存器之大小。 回传 int:如果成功回传 MODBUS_SUCCESS,反之回传 EXCEPTION_CODE 。 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 […]
描述 向 Slave 节点发送写入 Holding Register 暂存器的封包遮罩运算指令,其运算公式如下: (Current_Contents AND and_mask) OR (or_mask AND (NOT and_mask)) 语法 node1.maskWriteRegister(write_address , and_mask , or_mask) 参数 node1: ModbusMasterNode 物件。 write_address:欲写入的 Holding Register 暂存器之位址。 and_mask:「与」闸遮罩参数。 or_mask:「或」闸遮罩参数。 回传 int:如果成功回传 MODBUS_SUCCESS,反之回传 EXCEPTION_CODE 。 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 […]
描述 回传 ModbusMasterNode 类别中的私有阵列 readData 的资料。 readData 是使用 Read 功能码读回 Slave 装置暂存器后存放的阵列。 语法 node1.receive() 参数 node1: ModbusMasterNode 物件。 回传 uint16_t:回传 ModbusMasterNode 类别中的私有阵列 readData 的资料 范例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 […]