2016-05-12 4 views
1

私はarduinoでマイクロコントローラを作ろうとしています。私はarduinoから+ 5voltを供給しています。これをNCボタンに送信します(手動でタイミングパルスを出力するタイミングを手動で決定できます)。ボタンの後、私はinPin(pin8)として設定したピンに行きます。次に、プログラムがピン7をHIGH(遅延あり)にして、トランジスタに行きます。arduino unoでデジタルピンをプログラムするにはどうすればよいですか?

これは私が(私はコーディングについてはほとんど何も知らない)作ってみましたコードです:outPinはすべての時間HIGHであるいくつかの理由

int ledPin = 7; 
int inPin = 8; 
void setup() { 
    pinMode(ledPin, OUTPUT); 
    pinMode(inPin, INPUT); 
} 



void loop() 
{ 
if (inPin=HIGH) { 
    digitalWrite(ledPin, HIGH); 
} 
    delay (500); 
    digitalWrite(ledPin, LOW); 
} 

。私はGNDに抵抗を接続することを覚えていたので、デジタルピンはLOWになるとLOWに留まります。

ありがとうございます!

+0

Vladimirの答えは正しいです。さらに、arduino IDEのサンプルを見て、どのように動作するかを確認することを強くお勧めします。そして、いくつかの基本的なチュートリアルを探してみてください... – frarugi87

答えて

1

if(inPin=HIGH)は間違いですが、まずの代わりに"=="を使用してください。また、あなたは、入力端子の状態を読み出す必要があります。

int ledPin = 7; 
int inPin = 8; 
void setup() { 
    pinMode(ledPin, OUTPUT); 
} 

void loop() 
{ 
    if (digitalRead(inPin)==HIGH) digitalWrite(ledPin, HIGH); 
    delay (500); 
    digitalWrite(ledPin, LOW); 
} 
:あなたはそれらの変更後は、あなたのコードは次のようになります使用 pinMode(inPin, INPUT);

は必要ありませんので、int invalue = digitalRead(inPin);

はまた、デフォルトですべてのピンは、入力としてcoonfigured

関連する問題