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
arduino:arduino_crash_course:basic_interaction [2012/11/12 04:36] mithatarduino:arduino_crash_course:basic_interaction [2017/12/06 01:05] (current) mithat
Line 9: Line 9:
 In an interrupt scheme, the microcontroller does essentially nothing in its main loop, but it is directed to do something specific when an input source jostles it into action. In an interrupt scheme, the microcontroller does essentially nothing in its main loop, but it is directed to do something specific when an input source jostles it into action.
  
-Of the two, polling is probably easier to get started with. You can use both techniques at the same time as well.+Of the two, polling is probably easier to get started with. We won't learn how to work with interrupts in this section, but it's good to know that you can use both techniques in the same program.
  
-Following is a simple example of using polling.+===== Polling example: switch-controlled LED =====
  
-===== Switch-controlled LED ===== +The following examples use polling to determine the state of a switch. If the switch is pressed, the 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.+
  
 ==== With external pulldown resistors ==== ==== With external pulldown resistors ====
Line 39: Line 37:
   buttonState = digitalRead(pushButtonPin);  // read the input pin   buttonState = digitalRead(pushButtonPin);  // read the input pin
  
-    // set LED state accordingly+  // set LED state accordingly
   if (buttonState == HIGH)       // if the button is pushed   if (buttonState == HIGH)       // if the button is pushed
     digitalWrite(ledPin, HIGH);  // turn the LED on     digitalWrite(ledPin, HIGH);  // turn the LED on
Line 45: Line 43:
     digitalWrite(ledPin, LOW);   // turn the LED off     digitalWrite(ledPin, LOW);   // turn the LED off
  
-  //delay(1);        // delay in between reads for stability (?)+  //delay(1);        // delay between reads for stability (?? I don't remember why this got in here.)
 } }
 </file> </file>
  
-Notice the use of an ''if-else'' statement. The ''if-else'' statement is an example of **flow control**.+Notice the use of an ''if-else'' statement. The ''if-else'' statement is an example of **control flow**.
  
 A more compact version of the above that eliminates the if-else statement: A more compact version of the above that eliminates the if-else statement:
Line 72: Line 70:
   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 between reads for stability (?? I don't remember why this got in here.)
 } }
 </file> </file>
Line 96: Line 94:
 void loop() { void loop() {
   digitalWrite(ledPin, digitalRead(pushButtonPin));  // read the input pin and turn the LED on or off   digitalWrite(ledPin, digitalRead(pushButtonPin));  // read the input pin and turn the LED on or off
-  //delay(1);        // delay in between reads for stability (?)+  //delay(1);        // delay between reads for stability (?? I don't remember why this got in here.)
 } }
 </file> </file>
arduino/arduino_crash_course/basic_interaction.1352695003.txt.gz · Last modified: 2012/11/12 04:36 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki