Operácie

Acrob004: Rozdiel medzi revíziami

Z SensorWiki

(Pushbutton)
 
(5 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 1: Riadok 1:
 
[[Acrob003|< Previous]] | [[Acrob|Home]] | [[Acrob005|Next >]]
 
[[Acrob003|< Previous]] | [[Acrob|Home]] | [[Acrob005|Next >]]
  
<source lang="c++">
 
  
/*
+
== '''Pushbutton''' ==
  Button
 
 
Turns on and off a light emitting diode(LED) connected to digital 
 
pin 13, when pressing a pushbutton attached to pin 7.
 
 
 
The circuit:
 
* LED attached from pin 13 to ground
 
* pushbutton attached to pin 2 from +5V
 
* 10K resistor attached to pin 2 from ground
 
 
* Note: on most Arduinos there is already an LED on the board
 
attached to pin 13.
 
 
 
created 2005
 
by DojoDave <http://www.0j0.org>
 
modified 17 Jun 2009
 
by Tom Igoe
 
 
  http://www.arduino.cc/en/Tutorial/Button
 
*/
 
  
// constants won't change. They're used here to
 
// set pin numbers:
 
const int buttonPin = 2;    // the number of the pushbutton pin
 
const int ledPin =  13;      // the number of the LED pin
 
  
// variables will change:
+
To test the pushbutton, please connect one LED with current limiting resistor together with a pushbutton:
int buttonState = 0;        // variable for reading the pushbutton status
 
  
void setup() {
+
[[Obrázok:AcrobPushbutton01.jpg]]
  // initialize the LED pin as an output:
+
 
  pinMode(ledPin, OUTPUT);    
+
This setup doesn't require microcontroller, it is just to test it and recognize its function, pinout and operation.
  // initialize the pushbutton pin as an input:
+
No program required!
  pinMode(buttonPin, INPUT);    
+
 
 +
Let's modify the circuit and try to measure the input with the microcontroller and display its value on the terminal.
 +
Modify the connection according the following diagram and download the attached piece of software.
 +
 
 +
[[Obrázok:AcrobPushbutton02.jpg]]
 +
 
 +
<source lang="c">
 +
 
 +
#define SWITCH 3                // select the pin for Switch
 +
 
 +
void setup()
 +
{
 +
Serial.begin(9600);
 +
pinMode(SWITCH, INPUT );        // this pin is an INPUT
 +
Serial.println("Button test:");
 +
}
 +
 
 +
void loop()                      // endless loop
 +
{
 +
Serial.print("Input D3 = ");
 +
Serial.println(digitalRead(SWITCH),BIN);
 +
delay(250);                     // wait 1/4s for another
 
}
 
}
 +
</source>
  
void loop(){
 
  // read the state of the pushbutton value:
 
  buttonState = digitalRead(buttonPin);
 
  
  // check if the pushbutton is pressed.
+
Another example uses the switch to control the LED. Exactly as in the first experiment, but now the controller makes the
  // if it is, the buttonState is HIGH:
+
decision.
  if (buttonState == HIGH) {   
+
 
    // turn LED on:    
+
[[Obrázok:AcrobPushbutton03.jpg]]
    digitalWrite(ledPin, HIGH);   
+
 
  }
+
<source lang="c">
  else {
+
#define SWITCH  3                // select the pin for Switch
     // turn LED off:
+
#define LED_Green 14              // select the pin for LED
    digitalWrite(ledPin, LOW);  
+
 
  }
+
int State = 0;                  // variable to store the pushbutton value
 +
 
 +
void setup()
 +
{
 +
pinMode(LED_Green, OUTPUT );      // this pin is an OUTPUT
 +
pinMode(SWITCH, INPUT );        // this pin is an INPUT
 +
}
 +
 
 +
void loop()                      // endless loop
 +
{
 +
State =  digitalRead(SWITCH);
 +
if (State == HIGH )             // notice 2x = !!!
 +
   digitalWrite(LED_Green, HIGH);   // make it visible
 +
  else
 +
  digitalWrite(LED_Green, LOW);     // turn off
 +
delay(250);                     // wait 1/4s for another
 
}
 
}
  
 
</source>
 
</source>
 +
 +
 
[[Acrob003|< Previous]] | [[Acrob|Home]] | [[Acrob005|Next >]]
 
[[Acrob003|< Previous]] | [[Acrob|Home]] | [[Acrob005|Next >]]

Aktuálna revízia z 14:48, 15. jún 2020

< Previous | Home | Next >


Pushbutton

To test the pushbutton, please connect one LED with current limiting resistor together with a pushbutton:

AcrobPushbutton01.jpg

This setup doesn't require microcontroller, it is just to test it and recognize its function, pinout and operation. No program required!

Let's modify the circuit and try to measure the input with the microcontroller and display its value on the terminal. Modify the connection according the following diagram and download the attached piece of software.

AcrobPushbutton02.jpg

#define SWITCH 3                 // select the pin for Switch

void setup()
{
 Serial.begin(9600);
 pinMode(SWITCH, INPUT );        // this pin is an INPUT
 Serial.println("Button test:");
}

void loop()                      // endless loop
{
 Serial.print("Input D3 = ");
 Serial.println(digitalRead(SWITCH),BIN);
 delay(250);                     // wait 1/4s for another
}


Another example uses the switch to control the LED. Exactly as in the first experiment, but now the controller makes the decision.

AcrobPushbutton03.jpg

#define SWITCH  3                // select the pin for Switch
#define LED_Green 14              // select the pin for LED

int State = 0;                   // variable to store the pushbutton value

void setup()
{
 pinMode(LED_Green, OUTPUT );      // this pin is an OUTPUT
 pinMode(SWITCH, INPUT );        // this pin is an INPUT
}

void loop()                      // endless loop
{
 State =  digitalRead(SWITCH);
 if (State == HIGH )             // notice 2x = !!!
   digitalWrite(LED_Green, HIGH);    // make it visible
 else
   digitalWrite(LED_Green, LOW);     // turn off
 delay(250);                     // wait 1/4s for another
}


< Previous | Home | Next >