Operácie

Acrob004: Rozdiel medzi revíziami

Z SensorWiki

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