将数字从Processing发送到Arduino

时间:2016-12-19 11:03:15

标签: java arduino processing arduino-uno

这是我的第一个问题,所以我尽力解释它。 我的目标是通过我的网站处理收集一个号码并将其发送到我的arduino。我试图在数字1进入时将我的指示灯打开,或在数字0进入时将其关闭。

到目前为止,我设法从我的网站收集号码。 当我用arduino串行监视器向arduino发送一个数字时,arduino代码也可以工作。

无效的部分是从处理到arduino的号码发送。领导只是闪烁一次。

这是我的处理代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="buy" style="text-align:center;">
  <span style="margin-right:3px;font-size:14px;"   class="Lite_Price">$20.00</span>

  <input type="hidden" maxlength="2" name="qty" class="quantity-wrp itemqty" value="1">
  <input type="hidden" name="prod_id" class="prod_id" value="151">
  <input type="hidden" name="code" class="code" value="152PM">

  <input type="button" value="Promo product" id="promo_button_1">
</div>

<div class="buy" style="text-align:center;">
  <span style="margin-right:3px;font-size:14px;"   class="Lite_Price">$20.00</span>

  <input type="hidden" maxlength="2" name="qty" class="quantity-wrp itemqty" value="2">    
  <input type="hidden" name="prod_id" class="prod_id" value="252">
  <input type="hidden" name="code" class="code" value="255PM">

  <input type="button" value="Promo product" id="promo_button_2">
</div>

这是我的arduino代码:

import processing.serial.*;
Serial ComPort;
String input[];
void setup(){

    String portName = Serial.list() [0];
    ComPort = new Serial(this, portName, 9600);
    ComPort.bufferUntil('\n');
    input = loadStrings("website-adresse");
    if(input.length != 0){
        String s_current = input[0];
        int current = Integer.parseInt(s_current);
        println(current);
        delay(2000);
        ComPort.write(current);
    }
}

我刚接触编程,我的英语不太好,所以我为此道歉。

感谢您的帮助

问候Jenni

1 个答案:

答案 0 :(得分:2)

主要问题是在0 (0x00)上发送值1 (0x01)ComPort,但您期望'0' (0x30)'1' (0x31)

如果您将案例更改为期望01而不是'0''1',那么它将起作用(但这些值在串行监视器中不起作用,除非你有两种变体)