|
/*
|
|
* Computer Switchboard
|
|
*
|
|
* Because interfacing with computers should be fun
|
|
* and a keyboard is not enough.
|
|
*
|
|
* Let's turn a computer into an airplane (interface wise).
|
|
*
|
|
*/
|
|
|
|
/*
|
|
DigitalReadSerial
|
|
Reads a digital input on pin 2, prints the result to the serial monitor
|
|
|
|
This example code is in the public domain.
|
|
*/
|
|
|
|
// digital pin 2 has a pushbutton attached to it. Give it a name:
|
|
int pushButton = 9;
|
|
|
|
// the setup routine runs once when you press reset:
|
|
void setup() {
|
|
// initialize serial communication at 9600 bits per second:
|
|
Serial.begin(9600);
|
|
// make the pushbutton's pin an input:
|
|
// I was somewhat confused about this. I thought maybe it would be an output
|
|
// to ground, through the resistor, and it would only conduct when grounded, but
|
|
// using the input pullup works. I'm not sure if you can detect when an output grounds or is conducting...
|
|
pinMode(pushButton, INPUT_PULLUP);
|
|
|
|
|
|
//https://stackoverflow.com/questions/6160963/how-can-i-digitalread-a-pin-that-is-in-pinmode-output
|
|
//https://forum.arduino.cc/index.php?topic=183977.0
|
|
//This approach doesn't work as you can't read a floating pin reliably
|
|
//so don't do it. It always reads zero, or will read noise.
|
|
//pinMode(pushButton, OUTPUT);
|
|
//digitalWrite(3,HIGH);
|
|
//interestingly, you could use a shunt resistor... but more complex
|
|
//https://arduino.stackexchange.com/questions/14647/how-can-i-detect-a-disconnected-pin
|
|
|
|
|
|
delay(100);
|
|
}
|
|
|
|
// the loop routine runs over and over again forever:
|
|
void loop() {
|
|
|
|
// easy way
|
|
// read the input pin:
|
|
// int buttonState = digitalRead(pushButton);
|
|
// print out the state of the button:
|
|
// Serial.println(buttonState);
|
|
delay(10); // delay in between reads for stability
|
|
int resultb = 0;
|
|
resultb = PINB;
|
|
Serial.println(resultb,BIN); //noisy, but reads 0 when low.
|
|
// Serial.println(bitRead(PORTB,1));// PORTB is for high or low
|
|
// PIN is for reading input. PORTB doesn't work here.
|
|
// https://arduino.stackexchange.com/questions/14647/how-can-i-detect-a-disconnected-pin
|
|
// not sure what that link is on about, regarding port usage.
|
|
delay(100);
|
|
}
|
|
|
|
|
|
|