2016-12-19 15 views
0

これは私の最初の質問ですので、私はそれを十分に説明するために最善を尽くしています。 私の目標は、私のウェブサイトから処理して数字を集め、私のarduinoに送信することです。番号1が来たら私の主導権をつけようとします。ProcessingからArduinoへの番号の送信

これまで私は自分のウェブサイトから番号を集めることができました。 arduinoのシリアルモニタで数値をarduinoに送信すると、arduinoコードも機能します。

動作していない部分は、処理から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); 
    } 
} 

はここに私のArduinoのコードです:

void setup() { 
    Serial.begin(9600); // Baudrate, muss mit PC übereinstimmen 
    pinMode(13,OUTPUT); 
} 
void loop() { 
int c = Serial.read(); 
switch (c) { 
case -1: return; // nichts neues gekommen, loop sofort beenden 
case '0' : 
    digitalWrite(13, LOW); 
    break; 
case '1' : 
    digitalWrite(13, HIGH); 
    break; 
} 
} 

Iamは、新しいプログラミングへと私の英語はとても私はそのために謝罪良いことではありません

は、ここに私の処理コードです。

ご協力いただきありがとうござい

挨拶ジェニー

+0

それが動作します(ただし、両方のバリアントを持っていますしない限り、これらの値は、シリアルモニタでは動作しません)を期待する例を変更する場合は、そのSerial.read新しい行は何もないときは本当に-1を返しますか?また、出力を他の場所にも設定しますか?あなたはそれを意図せずに引っ張るかもしれませんか?より多くのコードを追加する必要があります。ああ、英語のコメントは、非ドイツ語のスピーカーにはいいだろう。 – Fildor

+0

私はそれを確認する方法を知らない。 ^^ "また、出力を別の場所に設定していますか?それとも意図せずにプルダウンしていますか?"私はあなたがそこで何を意味するのか知りません。 ;( 私は英語で答えます:)私の英語力は十分であるはずです。 – Jennifer96

答えて

2

主な問題は、ComPort上の値0 (0x00)1 (0x01)を送信していますが、'0' (0x30)'1' (0x31)を期待しています。

あなたは01の代わりに、'0''1'あなたは確認することができます

+0

これは完璧に、ありがとうalot :) – Jennifer96

関連する問題