/ Saturday 25 February 2017 / No comments /

Pullup Pulldown and Internal pullup configuration of Arduino

                    Arduino Programming Digital Read

      Read the value from specific digital pin either HIGH or LOW. As simple as it may seem, knowing when something is either on or off can be a great tool for designing something useful.
This lesson will use in the following:
  1.  It is use to read state of digital sensor.
  2.  Use to control switch (high or low).
  3. .It can be used to read the state of a pushbutton, on/off switch, float sensor, flame sensor, capacitive touch sensor etc.
            REMEMBER: Receiving high dose'nt mean physically circuit is ON. its depend on you that what you choose High is ON or OFF its depend on you.

                               Digital Read: “Switch” Circuit

There are mainly THREE ways you can use to read the state of any digital input device (e.g.switch):
1. Pulldown Resistance Configuration
2. Pullup Resistance Configuration
3. Internal‐Pullup Resistance Configuration
push buttons

Pulldown Resistor Configuration:

 

 Digital Read: Pulldown “Switch” Sketch


   Step #0: Schematic of circuit (Pulldown)

pull down switch with arduino


                    Connect the pushbutton to the breadboard.Connect one side of the pushbutton to the 5-volt pin on the Arduino board using a jumper wire.Connect one side of the 10K resistor to the other side of the pushbutton.Connect the other side of the resistor to the ground pin on the Arduino. You may have to use a jumper wire to make it reach.On the same side, the resistor is connected to the pushbutton, connect a jumper wire and run it to pin 3 on the Arduino board.
Connect the Arduino to your computer with the USB cable.Open the sketch for this section.Click the Verify button in the top left corner of the IDE. The Verify button will turn orange and then back to blue when it has completed compiling.Click the Upload Button (located to the immediate right of the Verify button). This button will also turn orange and then back to blue once the sketch is uploaded to the Arduino board.Here you see when button is pressed it means your led will glow and if unpressed it means your led is off.

Switch                                                 Read

Pressed (Close)                                  HIGH (1)

Unperssed (Open)                              LOW (0)



                Digital Read: “Switch” Code


int sensor = 3;

void setup() {

// put your setup code here, to run once:

pinMode(sensor,INPUT);

}

void loop() {

// put your main code here, to run repeatedly:

int state = digitalRead(sensor);
}

                                    UNDERSTANDING OF CODE                                                                                    

Step #1: Global space
In global space we define that what is the name of our variable and the pin we connect our output or input connect with so here i use variable (sencor) and pin number (3). Declare an integer variable with suitable name and define it with the digital I/O pin # (0 to 13) or analog‐in pin (A0 to A5).
For example:
int sensor = 3;
or
int sensor = A3;
Step #2: Configure in setup()
At setup we define our pin Mode that the variables declare in the global space is our INPUT or OUTPUT. As we want to read data from a switch, use INPUT mode. For our program, we should write:
pinMode(3, INPUT);
or
pinMode(A3, INPUT);
or
pinMode(sensor, INPUT);
Step #3: Read in loop()
In loop() you can actually read the state (or signal) of switch.A statement used to read the digital data is:
int state = digitalRead(sensor);
Whoa! What the heck is this? It looks like the programmer is declaring a variable! I thought variables were declared at the top of the sketch. While variables are often declared before the setup() function, you can actually declare and initialize a variable just about anywhere in a sketch. Soon you will see why this placement is the way to go.


To initialize the variable, we see something altogether new – the variable is set equal to the output of a function called digitalRead(). This is going to take a little recall power on your part. Do you remember the reason for the word void in front of the loop() function? We had to write void because the function loop() does not return a value. But that is not the case for the function digitalRead().

The digitalRead() function returns an integer – either 1 or 0. This value is then assigned to the variable State.
If it is 1, the voltage at the pin is HIGH, if the value is 0, the voltage at the pin is LOW. What pin you ask? Well the pin you pass as an argument in the digitalRead() function. In this case, we send the variable sensor, because we want to read the state of pin 3.
All of this is in the following line of code
                                    
                 int state = digitalRead(sensor);


This is why Arduino rocks – one line of code and you are on your way to dominating the world.
Now the state of our pushbutton will be either HIGH (pressed) or LOW (not-pressed). HIGH will be reported as a 1, and LOW will be reported as 0. When we press the pushbutton, pin 3 is exposed to the 5-volts from the Arduino board, this is considered HIGH, and the digitalRead() function will return 1. If the button is not pressed, then all that pin 2 is exposed to is the ground voltage which is 0 and digitalRead() will return 0.
:
As we are dealing with “Digital” signals, we may receive either HIGH or LOW.

                Digital Read: “Switch” Sketch

Input?
1. You may connect a real “Switch” which can be a push (or reset) button, on/off button or a
     two‐way switch.
2. Several sensors work as a switch (e.g. float level sensor), so you may connect them to
    work as switch.
3. It can also be simulated by simply touching ad un‐touching two jumpers.

                Digital Read: Pulldown “Switch” Sketch

Output?
There can be several ways to indicate or utilize sensor output – We will discuss them later today.
For illustration, we are showing output in terms of glow of LED.
When received HIGH                                  When received LOW
  LED = ON                                                   LED = OFF

              Digital Read: Pulldown “Switch”with LED

Step #0: Schematic of circuit with LED (Pulldown)
pull down switch with arduino

             Digital Read: External Pull down “Switch”Led blinking Circuit

Step #0: Schematic of circuit with LED (Pulldown)
pull down circuit with arduino

                 Digital Read: “Switch” Led blinking Sketch

int sensor = 3;

int led = 7;

void setup() {

// put your setup code here, to run once:

pinMode(sensor,INPUT);

pinMode(led,OUTPUT);

}

void loop() {

// put your main code here, to run repeatedly:

int state = digitalRead(sensor);

digitalWrite(led, state);

}
       Here only change in variable we add extra variable because we connect led so we introduced led at global space of pin 7 and in setup also define pin mode that whats the mode of this we know that our variable sensor which button in real is our INPUT so our led is OUTPUT because by press and unpress of button we look our led Glow on OFF. At loop we write the the value that we read from our sensor write on led it means whatever the state of button (pressed or unpressed) placed on the output led.
                                        

         Arduino Programming Digital Read (PULL UP)

             Read the value from specific digital pin either HIGH or LOW. As simple as it may seem, knowing when something is either on or off can be a great tool for designing something useful.
This lesson will use in the following:
  1.   It is use to read state of digital sensor.
  2.  Use to control switch (high or low).
  3. .It can be used to read the state of a pushbutton, on/off switch, float sensor, flame sensor,capacitive touch sensor etc. 
           REMEMBER: Receiving high dose'nt mean physically circuit is ON. its depend on you that what you choose High is ON or OFF its depend on you.

Pullup Resistor Configuration:


    Connect the pushbutton to the breadboard.Connect one side of the pushbutton to the  Ground on the Arduino board using a jumper wire.Connect one side of the 10K resistor to the other side of the pushbutton.Connect the other side of the resistor to the 5 volt pin on the Arduino. 
You may have to use a jumper wire to make it reach.On the same side, the resistor is connected to the pushbutton, connect a jumper wire and run it to pin 3 on the Arduino board.Connect the Arduino to your computer with the USB cable.Open the sketch for this section.Click the Verify button in the top left corner of the IDE. 
The Verify button will turn orange and then back to blue when it has completed compiling.Click the Upload Button (located to the immediate right of the Verify button). This button will also turn orange and then back to blue once the sketch is uploaded to the Arduino board.Here you see when button is pressed it means your led will off and if unpressed it means your led is Glow. 
pull up switch with arduino
Switch                                                 Read

Pressed (Close)                                LOW (0)

Unperssed (Open)                           HIGH (1)
                                                                              

                Digital Read: “Switch” Input pullup

Input?
1. You may connect a real “Switch” which can be a push (or reset) button, on/off button or a
     two‐way switch.
2. Several sensors work as a switch (e.g. float level sensor), so you may connect them to
    work as switch.
3. It can also be simulated by simply touching ad un‐touching two jumpers.

                Digital Read: Switch Pullup Output

Output?
There can be several ways to indicate or utilize sensor output – We will discuss them later today.
For illustration, we are showing output in terms of glow of LED.
When received HIGH                                  When received LOW
  LED = OFF                                                 LED = ON

              Digital Read: Pull up “Switch” Circuit

Step #0: Schematic of circuit with LED (Pull UP)
                                                             

  Schematic of circuit with LED ( External Pull UP )

pull up circuit with arduino

                 Digital Read: Pull up “Switch” Sketch

int sensor = 3;

int led = 7;

void setup() {

// put your setup code here, to run once:

pinMode(sensor,INPUT);

pinMode(led,OUTPUT);

}

void loop() {

// put your main code here, to run repeatedly:

int state = digitalRead(sensor);

digitalWrite(led, state);

}
               Here only change in variable we add extra variable because we connect led so we introduced led at global space of pin 7 and in setup also define pin mode that whats the mode of this we know that our variable sensor which button in real is our INPUT so our led is OUTPUT because by press and unpress of button we look our led Glow on OFF. At loop we write the the value that we read from our sensor write on led it means whatever the state of button (pressed or unpressed) placed on the output led.
                                  

                         Internal Pullup Configuration: 

                       You can can also used pullup configuration without use of external resistor it is builtin in Arduino pin you can easly ues this configuration to make pullup. Remember it is only for pull up not for pull down if you want to make pull down circuit you have to make external circuit as i shown above.
                           
internal pull up circuit with arduino
                     This is the circuit now i am going to show you that what is in internal circuit in pin it will be same as external pullup above shown but a little change in coding.
                                               
                   this is how it is from Internal pullup

                                 Internal pull up Code 

int sensor = 3;

int led = 7;

void setup() {

// put your setup code here, to run once:

pinMode(sensor, INPUT_PULLUP); 
Only change in sketch isthis configuration part!

pinMode(led,OUTPUT);

}

void loop() {

// put your main code here, to run repeatedly:

int state = digitalRead(sensor);

digitalWrite(led,state);

}


               I mention in the code that what is the change in coding. i don't thing it is necessary make a heading of understanding of code because its the same code as above and all the details of the code is step by step mention in above code use knowledge from the above code you will easily understood this code.
              
           Hope you enjoyed the lesson, keep looking at my profile for more arduino lessons soon. 
Share This Post :
Tags :
Related Posts

No comments:

Post a Comment

Social Media

Popular Posts