Operácie

Acrob004: Rozdiel medzi revíziami

Z SensorWiki

(Pushbutton)
Riadok 44: Riadok 44:
 
<source lang="c">
 
<source lang="c">
 
#define SWITCH  3                // select the pin for Switch
 
#define SWITCH  3                // select the pin for Switch
#define LED_Red 7               // select the pin for LED
+
#define LED_Green 7             // select the pin for LED
  
 
int State = 0;                  // variable to store the pushbutton value
 
int State = 0;                  // variable to store the pushbutton value
Riadok 50: Riadok 50:
 
void setup()
 
void setup()
 
{
 
{
  pinMode(LED_Red, OUTPUT );      // this pin is an OUTPUT
+
  pinMode(LED_Green, OUTPUT );      // this pin is an OUTPUT
 
  pinMode(SWITCH, INPUT );        // this pin is an INPUT
 
  pinMode(SWITCH, INPUT );        // this pin is an INPUT
 
}
 
}
Riadok 57: Riadok 57:
 
{
 
{
 
  State =  digitalRead(SWITCH);
 
  State =  digitalRead(SWITCH);
  if (State == HIGH )            // notice 2x = !!!
+
  if (State = HIGH )            // notice 2x = !!!
   digitalWrite(LED_Red, HIGH);    // make it visible
+
   digitalWrite(LED_Green, HIGH);    // make it visible
 
  else
 
  else
   digitalWrite(LED_Red, LOW);    // turn off
+
   digitalWrite(LED_Green, LOW);    // turn off
 
  delay(250);                    // wait 1/4s for another
 
  delay(250);                    // wait 1/4s for another
 
}
 
}

Verzia zo dňa a času 14:43, 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 7              // 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 >