Using only two digital pins for a button? (no GND, no VCC)
- 
					
					
					
					
 If I only have two digital pins left, could they be used to support a button? Online searches have proven fruitless. For example: - D4 functions as output, set to permanently high. >> [ button ] >> - D5 functions as input, with pullup resistor enabled.Would this work? Or would this fry the Arduino/pin? 
 
- 
					
					
					
					
 @alowhum almost, if you set D4 permanently LOW. 
 Then you button on D5 toggles between HIGH (when open, due to pullup) and LOW (when closed, shorted to D4).
 
- 
					
					
					
					
 @Yveaux Thanks! // It works! For anyone finding this: In the Setup / Before function: // BUTTON pinMode(BUTTON_OUTPUT_PIN, OUTPUT); // Set a digital pin as power output digitalWrite(BUTTON_OUTPUT_PIN, LOW); pinMode(BUTTON_INPUT_PIN, INPUT_PULLUP); // Set another digital pin as power inputIn the loop: wait(20); // ON DEVICE TOGGLE BUTTON if (digitalRead(BUTTON_INPUT_PIN) == LOW) { button_pressed = true; Serial.print(F(".")); }
 
- 
					
					
					
					
 Out of curiosity, would there be any practical reason for doing it this way? Maybe there is an advantage that I am not thinking of. It just seems though that it is a waste of a pin, not to mention that it is more code to get it working. 
 
- 
					
					
					
					
 @dbemowsk The Nano only has so many GND and VCC pins. This allows me to connect a relay, an LED and this button directly with dupont wires. No breadboard/expansion board/soldering required. 
 
- 
					
					
					
					
 @alowhum Seems a bit wasteful of Nano pins for the sake of 2 lines of Veroboard and some header pins though, but if it works for you...  
 
- 
					
					
					
					
 @zboblamont It's not very wasteful if you're not using them for anything else anyway. I'd rather use some extra code than extra hardware. 
 
 
			
		 
			
		 
			
		

 
					
				 
					
				