| 
			
			
			
			 Major Member 
			
		
			
			
								
	 | 
	
	
		
		
		
									  
		
		
你提到的按鈕不穩定問題 
 
參考一下這個教學
[YOUTUBE]JOqezO2zI_M&t=278s[/YOUTUBE]
 下面是我的紅外線模組及arduino UNO 連接出來的電路
 
我的紅外線模組當有遮蔽物時,會發送低電位訊號LOW 
無遮蔽物時,會送出高電位訊號HIGH 
紅外線的感應很快,用手遮擋離開的一瞬間,LED又閃了一次 
要放慢紅外線感應的速度,在IF前加了delay(300); 
這樣整個運作就正常了 
 
int sun=0; 
 
void setup() { 
pinMode(2, INPUT); 
pinMode(3, OUTPUT); 
pinMode(4, OUTPUT); 
digitalWrite(3, LOW); 
digitalWrite(4, LOW); 
} 
 
void loop() { 
delay(300); 
if (digitalRead(2) == LOW && sun == 0){  
digitalWrite(3, HIGH); 
delay(1000); 
digitalWrite(3, LOW); 
delay(1000);  
digitalWrite(4, HIGH);  
delay(1000);  
digitalWrite(3, LOW);  
digitalWrite(4, LOW);  
sun += 1; 
} 
else if (digitalRead(2) == HIGH && sun == 1) { 
  sun = 0; 
  } 
} 
 
上面的程式IF判斷式是以我的紅外線模組設計的,可以正常運作, 
不會有你說的紅外線在無遮蔽時,會一直閃, 
 
不可直接複制貼上 
先確認你的紅外線模組在有遮蔽的狀況下所發送的訊號是高電位HIGH還是低電位LOW 
再來修改IF裡面digitalRead(2) == HIGH或LOW 
				
		
		
		
		
		
		
		
		
	
	 |