我正在尝试使用ardulink
从Java程序中命令我的Arduino UnoArduino中的函数如下(使用Servo类):
#define Init(port) \
attach(port); \
pinMode(A3,OUTPUT); \
digitalWrite(A3, HIGH);
在我的JAVA计划中
Link link = Link.getDefaultInstance();
boolean connected = link.connect("COM6", 57600);
//send messages
MessageInfo msg=link.sendPowerPinSwitch(9, IProtocol.POWER_HIGH);
但是,我不知道引脚号码中A3的等价性能够调用" sendPowerPinSwitch"我试过" 9"因为我在文档文件中找到了以下内容:
#define CON1_DIG 9
和CON1_DIG是与此文档中的障碍关联的一个:
http://moway-robot.com/wp-content/files_mf/teachers_guide_moway_smart_city.pdf
但它不起作用:(
如何为" A3"找到合适的引脚编号? ?
答案 0 :(得分:1)
Arduino Uno上的引脚A0到A5实际上编号为14到19,A-stuff只是名字。我用这个简单的枚举为我做了这个转换:
public enum Pin
{
A0, A1, A2, A3, A4, A5;
public int toNumber()
{
return ordinal() + 14;
}
}
你可以像这样使用这个枚举:
MessageInfo msg = link.sendPowerPinSwitch(Pin.A3.toNumber(), IProtocol.POWER_HIGH);
我认为不会工作,因为A引脚不是数字引脚,并且该方法看起来像设置数字输出。您正在使用的库中是否有模拟引脚方法?