无法与四个Arduino通过串行端口进行通信node.js

问题描述:

我无法同时与四个Arduino通信。我用三个串口尝试下面的代码,它工作正常。如果我添加第四个Arduino,则不会与任何Arduino进行通信。
有人可以帮助我吗?无法与四个Arduino通过串行端口进行通信node.js

var SerialPort = require('serialport'); 
sport1 = new SerialPort('COM10', { autoOpen: true , 
    parser: SerialPort.parsers.readline('\n'), baudRate: 9600}); 
sport2 = new SerialPort('COM11', { autoOpen: true , 
    parser: SerialPort.parsers.readline('\n'), baudRate: 9600}); 
sport3 = new SerialPort('COM12', { autoOpen: true , 
    parser: SerialPort.parsers.readline('\n'), baudRate: 9600}); 
sport4 = new SerialPort('COM13', { autoOpen: true , 
    parser: SerialPort.parsers.readline('\n'), baudRate: 9600}); 

var u = 0; 
    setInterval(function() { 
    if(u==0) { 
     sport1.write("a"); 
     sport2.write("b"); 
     sport3.write("a"); 
     sport4.write("b"); 
    }else { 
     sport1.write("b"); 
     sport2.write("a"); 
     sport3.write("a"); 
     sport4.write("b"); 
    } 
    u = !u; 
    },500); 
+0

的arduinos如何连接到你的电脑?你使用USB集线器吗? – idanp

+0

是的,我使用USB集线器。 –

看起来像硬件问题 - USB集线器往往会导致问题。我建议如下:

  • 不要使用USB集线器(从PCI扩展USB)
  • 使用可靠的USB集线器
  • 无论如何,连接到您的USB集线器,它需要5V输入。
  • 扩展您的计算机上的串行端口,而不是使用很多USB转RS232
  • 也许所有的Arduinos连接到一个RS485总线代替