User Tools

Site Tools


arduino:arduino_crash_course:basic_interaction

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
arduino:arduino_crash_course:basic_interaction [2012/11/03 21:12] – [Polling versus interrupts] mithatarduino:arduino_crash_course:basic_interaction [2012/11/12 04:36] mithat
Line 17: Line 17:
 The following examples use polling to determine the state of a switch. If the switch is pressed, Arduino will turn an LED on. If it is not pressed, it will turn the LED off. The following examples use polling to determine the state of a switch. If the switch is pressed, Arduino will turn an LED on. If it is not pressed, it will turn the LED off.
  
-==== Using external pulldown resistors ====+==== With external pulldown resistors ====
 The following example requires **pulldown resistors** on the input switch. The following example requires **pulldown resistors** on the input switch.
  
Line 29: Line 29:
 int pushButtonPin = 2;  // connect the push button to digital pin 2 int pushButtonPin = 2;  // connect the push button to digital pin 2
 int ledPin = 13;        // connect the LED to pin 13 int ledPin = 13;        // connect the LED to pin 13
 +int buttonState;        // stores current button state 
  
 void setup() { void setup() {
Line 36: Line 37:
  
 void loop() { void loop() {
-  int buttonState = digitalRead(pushButtonPin);  // read the input pin+  buttonState = digitalRead(pushButtonPin);  // read the input pin
  
     // set LED state accordingly     // set LED state accordingly
Line 61: Line 62:
 int pushButtonPin = 2;  // connect the push button to digital pin 2 int pushButtonPin = 2;  // connect the push button to digital pin 2
 int ledPin = 13;        // connect the LED to pin 13 int ledPin = 13;        // connect the LED to pin 13
 +int buttonState;        // stores current button state 
  
 void setup() { void setup() {
Line 68: Line 70:
  
 void loop() { void loop() {
-  int buttonState = digitalRead(pushButtonPin);  // read the input pin+  buttonState = digitalRead(pushButtonPin);  // read the input pin
   digitalWrite(ledPin, buttonState);             // turn the LED on or off   digitalWrite(ledPin, buttonState);             // turn the LED on or off
   //delay(1);        // delay in between reads for stability (?)   //delay(1);        // delay in between reads for stability (?)
Line 85: Line 87:
 int pushButtonPin = 2;  // connect the push button to digital pin 2 int pushButtonPin = 2;  // connect the push button to digital pin 2
 int ledPin = 13;        // connect the LED to pin 13 int ledPin = 13;        // connect the LED to pin 13
 +int buttonState;        // stores current button state 
  
 void setup() { void setup() {
Line 97: Line 100:
 </file> </file>
  
-==== Using internal pullups ====+==== With internal pullup resistors ====
  
 Using extenal resistors as part of switch state detection is so common that the microchip that is at the heart of the Arduino has built-in pullup resistors that can be turned on manually. Internal pullup resistors can be enabled with: Using extenal resistors as part of switch state detection is so common that the microchip that is at the heart of the Arduino has built-in pullup resistors that can be turned on manually. Internal pullup resistors can be enabled with:
Line 117: Line 120:
 int pushButtonPin = 2;  // connect the push button to digital pin 2 int pushButtonPin = 2;  // connect the push button to digital pin 2
 int ledPin = 13;        // connect the LED to pin 13 int ledPin = 13;        // connect the LED to pin 13
 +int buttonState;        // stores current button state 
  
 void setup() { void setup() {
Line 125: Line 129:
  
 void loop() { void loop() {
-  int buttonState = digitalRead(pushButtonPin);  // read the input pin+  buttonState = digitalRead(pushButtonPin);  // read the input pin
  
   // set LED state accordingly   // set LED state accordingly
-  // note the inverted logic+  // becasue we are using pullup resistors, the logic is inverted; 
 +  // in other words, pressed produces LOW, un-pressed produces HIGH.
   if (buttonState == LOW)        // if the button is pushed   if (buttonState == LOW)        // if the button is pushed
     digitalWrite(ledPin, HIGH);  // turn the LED on     digitalWrite(ledPin, HIGH);  // turn the LED on
Line 145: Line 150:
 int pushButtonPin = 2;  // connect the push button to digital pin 2 int pushButtonPin = 2;  // connect the push button to digital pin 2
 int ledPin = 13;        // connect the LED to pin 13 int ledPin = 13;        // connect the LED to pin 13
 +int buttonState;        // stores current button state 
  
 void setup() { void setup() {
Line 153: Line 159:
  
 void loop() { void loop() {
-  int buttonState = !digitalRead(pushButtonPin);  // read the input pin +  buttonState = digitalRead(pushButtonPin);  // read the input pin 
-  digitalWrite(ledPin, buttonState);              // turn the LED on or off+  
 +  // set LED state accordingly 
 +  // becasue we are using pullup resistors, the logic is inverted; 
 +  // in other words, pressed produces LOW, un-pressed produces HIGH. 
 +  digitalWrite(ledPin, !buttonState);        // turn the LED on or off
 } }
 </file> </file>
arduino/arduino_crash_course/basic_interaction.txt · Last modified: 2017/12/06 01:05 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki