如何使用ardulink映射Arduino引脚?

时间:2015-11-12 17:39:39

标签: java arduino arduino-uno

我正在尝试使用ardulink

从Java程序中命令我的Arduino Uno

Arduino中的函数如下(使用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"找到合适的引脚编号? ?

1 个答案:

答案 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引脚不是数字引脚,并且该方法看起来像设置数字输出。您正在使用的库中是否有模拟引脚方法?