2

昨年、当時はうまく機能していたコードを書きました。ただし、今回同じコードをロードすると、逆の出力が得られます。つまり、デジタル ピンが HIGH に設定されると、LOW に戻り、逆もまた同様です。

digitalWrite(led, HIGH) //PROBLEM: Should turn ON the LED but insted it turns OFF

BLINK EXAMPLE を試してみましたが、その場合も出力が逆になっているようです。

コードは次のとおりです。

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
// initialize the digital pin as an output.
pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(1000);               // wait for a second
digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
delay(5000);               // wait for a second
}

コードによると、私の LED は 1 秒間オンにしてから 5 秒間オフにしてから、再びオンにする必要があります。ただし、取得している OUTPUT は完全に逆です。つまり、LED は 5 秒間オンになり、1 秒間オフになります。これを修正する方法を教えてください。

私のメイン コードは、arduino と android のインターフェイスに基づいています。私は昨年達成したBluetooth経由のandroid-arduino接続のためにこれを修正するために取り組んできましたが、現在この問題が発生しています。これを3つの異なるarduino unoボードで試し、異なるセンサーで試しましたが、HIGH-LOWが逆になっているようです。

4

3 に答える 3

2

出力ピンに電圧計またはオシロスコープを取り付けます。LOW は 0 ボルト、HIGH は 5 ボルトですか? その場合、ソフトウェアとチップは正常に動作しており、LED が配線されているため、反対側に電圧がかかっています。つまり、チップからの 0 V で点灯します。一部のチップはソースよりも多くの電流をシンクできるため、これは LED を駆動する一般的な方法です。

于 2014-02-01T01:29:00.810 に答える
0

私がこれに遭遇したのは、arduinoのboards.txtファイルをいじった後だけでした。このファイルで何かを変更した場合は、C:/ Program Files / Arduinoのすべてのarduinoの残りのデータをアンインストールして削除できます。ライブラリをバックアップするだけですおよびその他のスクリプト。それからarduinoを再インストールすれば問題ないはずです。Arduino は、win10 の Windows ストアからインストールして、自動更新することもできます。

于 2018-07-04T17:57:37.477 に答える