Floating Pins, Pull-Up Resistors and Arduino

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ส.ค. 2014
  • 🤩 FREE Arduino Crash Course 👇👇
    bit.ly/get_Arduino_skills
    **If you like this, I think you'll like the premium Arduino training we offer. Check it out here** bit.ly/3nSBPUs
    We designed this circuit board for beginners!
    Kit-On-A-Shield: amzn.to/3lfWClU
    SHOP OUR FAVORITE STUFF! (affiliate links)
    ---------------------------------------------------
    Get your Free Trial of Altium PCB design Software
    www.altium.com/yt/programming...
    We use Rev Captions for our subtitles
    bit.ly/39trLeB
    Arduino UNO R3:
    Amazon: amzn.to/37eP4ra
    Newegg: bit.ly/3fahas8
    Budget Arduino Kits:
    Amazon:amzn.to/3C0VqsH
    Newegg:bit.ly/3j4tISX
    Multimeter Options:
    Amazon: amzn.to/3rRo3E0
    Newegg: bit.ly/3rJoekA
    Helping Hands:
    Amazon: amzn.to/3C8IYXZ
    Newegg: bit.ly/3fb03X1
    Soldering Stations:
    Amazon: amzn.to/2VawmP4
    Newegg: bit.ly/3BZ6oio
    AFFILIATES & REFERRALS
    ---------------------------------------------------
    ►Audible Plus Free trial: amzn.to/3j5IGrV
    ►Join Honey- Save Money bit.ly/3xmj7rH
    ►Download Glasswire for Free:bit.ly/3iv1fql
    FOLLOW US ELSEWHERE
    ---------------------------------------------------
    Facebook: / programmingelectronics...
    Twitter: / progelecacademy
    Website: www.programmingelectronics.com/
    This tutorial talks about floating pins. Specifically, what they are, why they are unwanted and how to deal with them.

ความคิดเห็น • 252

  • @programmingelectronics
    @programmingelectronics  3 ปีที่แล้ว +4

    ****If you like this, I think you'll like the premium Arduino training we offer. You can check it out here**** bit.ly/3lHyzcB

  • @clunkclunk2099
    @clunkclunk2099 2 หลายเดือนก่อน +1

    I’ve watched about four videos on this topic, and yours is the first that explicitly says why a resistor is needed not just how to do it. The part where you said path of least resistance is when the proverbial lightbulb went off in my head. Thanks!

    • @programmingelectronics
      @programmingelectronics  2 หลายเดือนก่อน

      Great to hear! Sometimes for me I think it takes quite a few different angles, and then all the sudden things pop into place - its a great feeling. Glad this could help some!

  • @mhelms1983
    @mhelms1983 7 ปีที่แล้ว +104

    Hands down the best explanation on a pull up resistor I've seen. I actually understand now, thank you for this. Subscribing.

    • @programmingelectronics
      @programmingelectronics  7 ปีที่แล้ว +2

      Glad you liked it, thanks for watching!

    • @cobra646
      @cobra646 7 ปีที่แล้ว +4

      same. So many terrible "tutorials" so sift through until you find a good one on youtube

  • @enteranamehere4541
    @enteranamehere4541 4 ปีที่แล้ว +3

    The one phrase that made this video different from all others, and better than all others, is "the path of least resistance." Hearing that gave me a eureka moment. Thank you so much.

  • @blehprojects5776
    @blehprojects5776 8 หลายเดือนก่อน +1

    Holy crud I’ve been looking at videos like this for over a month now and this is the first one that explains things in plain English! Keep ‘em coming!

  • @elecnut8211
    @elecnut8211 7 ปีที่แล้ว +3

    I dont think you have any idea how much you are helping the electronics community. Thank you thank you thank you !!

  • @jamescashmore8408
    @jamescashmore8408 5 ปีที่แล้ว +5

    best explanation i have ever found. You have a skill that many people lack that is explaining things clearly and using the right images to add to what you are saying. So many videos the stuff on the screen doesn't quite fit what is being said.

  • @EgyGyro
    @EgyGyro 3 ปีที่แล้ว +2

    another great expression; " *Tying up* the pin to a certain voltage". It draws a clearer figure in my mind than "pulling up" the pin to voltage.

  • @tedthisius4778
    @tedthisius4778 5 ปีที่แล้ว +2

    Great video. I always think of a pull up resistor like a coil spring. When the resistor is connected to 5V, it tries to pull up the voltage at that point to 5V but can be overcome by a direct connection to ground when the button is pushed. Much like a spring, it returns to the original position (5V) when released. When the button is pushed there is a 5V drop across the resister which is converted to a very small amount of heat. There is very little current flow because the resistance is relatively high. A pull down resistor really works the same way, the resistor or "spring" is connected to ground. When the button is pushed the switch can provide 5V which overcomes the ground and produces 5V to the Arduino pin. Since the symbol for a resistor is a wiggly line, it reminds me of a coil spring.

  • @kim15742
    @kim15742 7 ปีที่แล้ว +21

    lmao! I didn't even know I had this problem and since I am a programmer, I did the solution software-wise by it counting the number of loops that it's low. If it is low for over 20 loops the button is pressed. Not very elegant, I know

  • @jupiter457
    @jupiter457 9 ปีที่แล้ว +15

    I finally understand this concept now!!! Thank you. Your tutorials are great.

  • @harshitrajput6865
    @harshitrajput6865 7 ปีที่แล้ว +1

    After learning from your tutorials from one week , no other tutorial on youtube can match your level ! Thanks man !

  • @MinhNg180
    @MinhNg180 4 ปีที่แล้ว +4

    This video just cured my headache.
    Thanks a lot.

  •  6 ปีที่แล้ว

    I got No words to express how iluminating your videos are.... you make all the electronic's messy theory a vivid and smooth experience. THANK YOU SO MUCH

  • @JohnIsaacBradshaw
    @JohnIsaacBradshaw 7 ปีที่แล้ว +1

    Seeing the circuit you built helped a lot. Thanks!

  • @chunheichau7947
    @chunheichau7947 7 ปีที่แล้ว +1

    Very good explanation on how the pull up resistor works, I have been finding a good explanation for a long time until I find this.

  • @bradandsusan96
    @bradandsusan96 6 ปีที่แล้ว +1

    **THANK YOU SIR** Best tutorial's; simple, well thought out, flows logically and to the point. Great stuff!

  • @humanperson8418
    @humanperson8418 ปีที่แล้ว +1

    Best explanation of Pull-Up Resistors I've seen. Only improvement is if you said the Arduino has one built in, and how to activate it.

    • @programmingelectronics
      @programmingelectronics  ปีที่แล้ว

      Thanks so much for watching! Good call - that totally should have been covered in this video. You may already know, but just in case...
      To use the internal input pull up, use pinMode(yourDigitalPinNumber, INPUT_PULLUP)
      What this does is set the pin as an input - so it can read digital inputs - but it is internally being pulled to a HIGH state. If you want to trigger your input, you connect the pin to ground (i.e. through a button press)
      www.arduino.cc/reference/en/language/functions/digital-io/pinmode/

  • @KW-ei3pi
    @KW-ei3pi 10 หลายเดือนก่อน

    One of THE most important concepts for an Arduino use to understand. Thank you !!!

  • @afraimuangnory7195
    @afraimuangnory7195 7 ปีที่แล้ว +1

    you are really a gift to engineering.I now understand clearly what is mean by pull up resistor. I am try to get the money so that i will buy training materials from you .
    thanks a lot .

  • @shvideo1
    @shvideo1 5 ปีที่แล้ว +1

    The best video on this important concept. Very nicely done. Thank you.

  • @twitchy9948
    @twitchy9948 ปีที่แล้ว

    I would also add that this mysterious "noise" is that cable starts working as an antenna (like the one in your phone), if you pull out the cable, the pin read will go from random to 0.

  • @henik9
    @henik9 6 ปีที่แล้ว +2

    Thanks man this vid really clarified some stuff for me.

  • @solmanJapan
    @solmanJapan 3 ปีที่แล้ว +1

    This is the best explanation I've seen and has also helped me understand what INPUT_PULLUP and INPUT_PULLDOWN are doing.

  • @freethinker1957
    @freethinker1957 5 ปีที่แล้ว +1

    Michael Cheich: Thank you for this excellent video. Took me a while to "get it", but now I do. After watching this, I took your free "Arduino Crash Course", which convinced me it would definitely be worth buying full access to all your training, which I have now signed up for (so you can, as you say, keep gas in your Lamborghini...)
    Now just a couple of notes (as Michael says, the best way to learn is to look for opportunities to "teach" - explain it to someone else):
    This video shows the problem of floating pins, and how to resolve that via an external pull-up resistor. Once you understand the concept, you can by-pass the problem on digital input pins in one of these two ways in your code (rather than on a breadboard) - using digital pin 2 as an example:
    pinMode(2,INPUT);
    digitalWrite(2,HIGH); // WRITING HIGH to this INPUT pin activates its built-in pull-up resistor.
    OR
    pinMode(2,INPUT_PULLUP); // Does both of the above steps in a single statement.
    Either of those activates the internal pull-up resistor built into the Arduino digital (and maybe analog?) pins. This info can be found in the Arduino Reference documentation for the pinMode function.
    Again, I suggest you DON'T use the built-in pull-up resistors until you complete this video and understand the problem of floating pins in the first place.

  • @johndripper
    @johndripper 6 ปีที่แล้ว +2

    cool i like how you explain things :) this was very helpful you were the reason i got interested in arduino :) and other MCUs

  • @davidizquierdogomez
    @davidizquierdogomez 5 ปีที่แล้ว +1

    that was a very cool video tutorial. Thanks for solving the pull-up meaning and floating pins....so cool ¡¡¡

  • @TheDeIirium
    @TheDeIirium 9 ปีที่แล้ว +1

    Instant subscription after the first minute - brilliant humor.

  • @vadimkoller6232
    @vadimkoller6232 5 ปีที่แล้ว +1

    Finally got it. Thank you

  • @defariase
    @defariase 8 ปีที่แล้ว

    This tutorial is pretty awesome! Thanks for uploading it. I'm subscribing to your channel for more!
    Cheers,
    LD

  • @regpollock9403
    @regpollock9403 7 ปีที่แล้ว +1

    Thank you for making it understandable.

  • @derrickadusei7987
    @derrickadusei7987 4 ปีที่แล้ว

    It solved my digital pin input problem. Thanks

  • @ahmedamer777
    @ahmedamer777 8 ปีที่แล้ว +5

    the atmega 328 has built in pullup resistor you have to activate in the void setup using digital write to high. ;)

  • @bryanwesterveld5287
    @bryanwesterveld5287 9 ปีที่แล้ว

    This explained it very well!

  • @FRADemons
    @FRADemons 5 ปีที่แล้ว +1

    Very good video! So helpful !!

  • @The1Creston
    @The1Creston 5 ปีที่แล้ว +1

    Thank you. That helped a lot!

  • @mohammedzoheb5299
    @mohammedzoheb5299 3 ปีที่แล้ว +1

    Well explained..thank you so much!

  • @lizardofoz5329
    @lizardofoz5329 5 ปีที่แล้ว

    After watching AddOhm's tutorial I understood this topic. Now I am confused again.
    Never mind, I still liked it because you wrote some actual code and explained what
    it did and why. I am new to all this and it seems like everyone doing tutorials just
    uses simple existing sketches so you never see anything original being written. So
    bottom line, thank you and I'll watch this until I get clear on it again.

  • @avinashpankhade8644
    @avinashpankhade8644 6 ปีที่แล้ว +1

    great job... got it crystal cleared!!!!!!!!!!

  • @thomasalexander1563
    @thomasalexander1563 7 ปีที่แล้ว +1

    Nice tutorial agains...
    Love this channel

  • @prashanthirwani8047
    @prashanthirwani8047 2 ปีที่แล้ว +1

    For me as a beginner Most easy and value providing video on yt great explaination keep going🔥🔥🔥

  • @garvitgoyal5236
    @garvitgoyal5236 3 ปีที่แล้ว +1

    Thanks a lot. I am a begineer in electronics and this problem made me frustated many times, but after your explanation it will be very easy to solve this.

  • @mathiastyseng9208
    @mathiastyseng9208 4 ปีที่แล้ว +1

    easy new sub, first vid to properly explain it

  • @pikeshmn
    @pikeshmn 7 ปีที่แล้ว +1

    Awesome Explanation!

  • @MakerTutor101
    @MakerTutor101 6 ปีที่แล้ว +1

    Thank you your tutorials are great

  • @haribukkeprasad4612
    @haribukkeprasad4612 6 ปีที่แล้ว +1

    Thanks a lot for the explanation. You really saved my day. :)

  • @filipemarques9144
    @filipemarques9144 7 ปีที่แล้ว

    Finally...now I get it! Thanks! :)

  • @d4ny4pres1d3nt
    @d4ny4pres1d3nt 8 ปีที่แล้ว +1

    Thank you, you explain things very clearly! Cheers

    • @programmingelectronics
      @programmingelectronics  8 ปีที่แล้ว

      +d4ny4pres1d3nt Thanks for the kind words! I hope you enjoy the other videos.

  • @SymphonyKol_androidLover
    @SymphonyKol_androidLover 2 ปีที่แล้ว +1

    Beautiful explanation, was just looking for this, Thanks a ton.

  • @mayurthombare3288
    @mayurthombare3288 6 ปีที่แล้ว +1

    Thanks for this helpful video

  • @Maxr1998X
    @Maxr1998X 8 ปีที่แล้ว +1

    Excellent video. Now I understand a LOT more. Thanks!

    • @programmingelectronics
      @programmingelectronics  8 ปีที่แล้ว

      +Maxr1998X Great, glad you found it useful!

    • @umarmoiz8810
      @umarmoiz8810 8 ปีที่แล้ว

      +Programming Electronics Academy Can we use INPUT_PULLUP in our code ?as opposed to adding an external resistor or does it not work like that ?

  • @pascal1446
    @pascal1446 5 ปีที่แล้ว +1

    Thank you i've finally understrood thanks to you !!

  • @koemdjiev
    @koemdjiev 3 ปีที่แล้ว

    Great explanation, nice and simple, thanks! I was having difficulty understanding the Pull-up pins

  • @katrinagarcia8645
    @katrinagarcia8645 5 ปีที่แล้ว +1

    Funny guy. Love the intro with the surfing micro-controller

  • @pi11sburydoeboy
    @pi11sburydoeboy 7 ปีที่แล้ว +1

    Great explanation. Subbed!

  • @northshorepx
    @northshorepx 8 ปีที่แล้ว

    Nice a simple and makes perfect sense now! Thank you.

  • @jeroendruwe9061
    @jeroendruwe9061 6 ปีที่แล้ว +1

    Very good explanation :)

  • @bartnoe4194
    @bartnoe4194 7 ปีที่แล้ว

    Thank you for your clear explanation. great course!

  • @vincent6313
    @vincent6313 8 ปีที่แล้ว +2

    very helpful for my final exam. thanks

  • @kameelamareen
    @kameelamareen 7 ปีที่แล้ว

    WOW man hands down for sure !!!

  • @georgekot6377
    @georgekot6377 8 ปีที่แล้ว +2

    Good work. Thanks

  • @Richie_
    @Richie_ 2 ปีที่แล้ว +1

    Nice one Michael. That helped.

  • @alaminabdullah7770
    @alaminabdullah7770 7 ปีที่แล้ว +1

    nice video thank you!

  • @MJ-iy4fb
    @MJ-iy4fb 3 ปีที่แล้ว +1

    Good Lesson!!

  • @bernhardbaumgartner2890
    @bernhardbaumgartner2890 3 ปีที่แล้ว +1

    Great explanation, thanks a lot man!

  • @Ammani-Yat
    @Ammani-Yat 5 ปีที่แล้ว

    great lecture 👍

  • @redtipon9910
    @redtipon9910 4 ปีที่แล้ว +1

    Thank you sir, I'm not really good at reading from the net but this video explain perfect. I love it!! subscribing. more power to you sir.

  • @jorgemariofernandezfuentes3399
    @jorgemariofernandezfuentes3399 4 ปีที่แล้ว +1

    Excelente Información!!

  • @twinstarsnz3626
    @twinstarsnz3626 8 ปีที่แล้ว

    Thanks mate!

  • @cill521
    @cill521 8 ปีที่แล้ว +1

    Very clear. Thanks

  • @shaunsomaru4524
    @shaunsomaru4524 4 ปีที่แล้ว +1

    Thank you for great explanation

  • @jeranrai645
    @jeranrai645 4 ปีที่แล้ว +2

    This is the best tutorial i ever encountered but still a small question. After the pull up resistor is connected to 5V , isnt the connection to digital pin 2 is always gonna read High even after its pressed or not ! or am i wrong on some logic ?

  • @chuckhole
    @chuckhole 2 ปีที่แล้ว +1

    I think it would have been helpful to add that changing the input pin mode assignment from
    pinMode(Pin_Input, INPUT);
    to
    pinMode(Pin_Input, INPUT_PULLUP);
    accomplishes the same thing and eliminates the need for an external resistor.

  • @donaldklopper
    @donaldklopper 3 ปีที่แล้ว +1

    Remember: that life boat is still floating! Better pull that up into the ... no, wait.

  • @Bianchi77
    @Bianchi77 2 ปีที่แล้ว +1

    Nice video, thanks for sharing :)

  • @kenfranco7981
    @kenfranco7981 9 ปีที่แล้ว +4

    Great video but why don't you use the internal pull up resistor built into the Arduino boards instead of an external pull up resistor ?

    • @programmingelectronics
      @programmingelectronics  9 ปีที่แล้ว +2

      Ken Franco Great question Ken! Since the button sketch examples that come loaded with Arduino all use external pull ups I decide to follow suit.
      But I agree, the INPUT_PULLUP is the way to go.

  • @WhiskyPankcake
    @WhiskyPankcake 9 ปีที่แล้ว +1

    Great tutorial

  • @Moncayoboy
    @Moncayoboy 9 ปีที่แล้ว +1

    Good explanation, thanks.

  • @jianbinchen1428
    @jianbinchen1428 7 ปีที่แล้ว

    I am wondering how the pull-up resistor put if I have a sensor that has V++, Vcc and GND?

  • @REACH253
    @REACH253 3 ปีที่แล้ว +1

    Is it possible to implement a pull up resistor, but substitute the pushbutton with a sensor or an optocoupler?

  • @threeelancer
    @threeelancer 3 ปีที่แล้ว +1

    Thanks, it helped.

  • @mps6934
    @mps6934 6 ปีที่แล้ว +1

    Funny intro ^.^ Great explanation, too.

  • @alexp7274
    @alexp7274 4 ปีที่แล้ว +1

    Great explanation.

  • @MilanKarakas
    @MilanKarakas 7 ปีที่แล้ว +7

    What you are reading at "floating" pin is your main (50 or 60 Hz). That is because input pin has very high impedance. Pull up resistor make "offset" to the +5V. But, you may want to avoid adding resistors to +5V by simply using next code(s):
    pinMode (2, INPUT_PULLUP);, where MCU gives about 200 kOhm resistor internaly to pin 2. Or:
    pinMode (2, INPUT); digitalWrite(2, HIGH);, which gives the same result. Note that although pin 2 is input, you write in setup HIGH value (digital 1). There is NO pull-down resistor inside MCU. Another advanced way to make whole sketch:
    void setup()
    {
    Serial.begin(9600);
    DDRD &= ~(1

    • @pikeshmn
      @pikeshmn 7 ปีที่แล้ว

      Floating pin take charges around from your finger, stray wires etc.! This causes the fluctuating voltage..So you need to tie it up! Nice concept!

  • @AhmedDeedatPalestine
    @AhmedDeedatPalestine 5 ปีที่แล้ว +1

    The best video.

  • @eugenevoltage1654
    @eugenevoltage1654 3 ปีที่แล้ว

    Just watched multiple pull-up resistor videos. This is easily the clearest and best, thanks.
    One question please:
    Final circuit shown 9:00.
    Switch closed. I'm imagining that Pin2 is "positive" and current flows to GND. (Maybe I shouldn't be thinking like this, but either way I understand reading is LOW).
    Switch open. Current flows from 5Vpin to Pin2.
    Question - Pin2 must ultimately lead to ground for this to work right? Within the structure of the board.

  • @actionoise
    @actionoise 5 ปีที่แล้ว

    thanks bro you permitted actionoise sistem......

  • @andytren9498
    @andytren9498 4 ปีที่แล้ว

    Great. Anyway, how make press 2 times within one second make output?

  • @joshuapitong899
    @joshuapitong899 ปีที่แล้ว +1

    Thank you.❤

  • @InventionTherapy
    @InventionTherapy 7 ปีที่แล้ว

    Was Arduino the best choice for this project?

  • @josephshaff5194
    @josephshaff5194 2 ปีที่แล้ว

    Thanks! Why does it float ?

  • @ryanjin8343
    @ryanjin8343 7 ปีที่แล้ว

    Hey I really like this video. I am wondering if you can do a video on the button debounce. Like when you press a button and release it, the value might shake between 1 and 0 a few times, and if you are saying something like, when someone press it, turn on an led, when someone press it again, turn it off, this shake between the value can really mess this up. So I'm wondering if you mind doing a tutorial on this. Thanks a lot!

  • @randywetzler5976
    @randywetzler5976 5 ปีที่แล้ว

    That's a great explanation of a "pull up" resistor. I assume a "pull down" resistor does the opposite holding the pin value to 0V. I see other tutorials where the content provider will connect the resistor(s) to the ground side of a LED(s) circuit so it's a little confusing to me. Can someone explain the best practice for both type circuit? Maybe in a simple circuit it doesn't matter, I don't know. I am new to this Arduino stuff.

  • @oteikwufrancis1108
    @oteikwufrancis1108 24 วันที่ผ่านมา

    Woohoo!!
    Thanks man. You just helped me understand the concept of floating pins. I've been trying to get this and all the other sources I consulted didn't help much. Thanks 😊
    Also I checked your other tutorials and I'll like to pay for your course. But I'm a bit wary course I've registered for some courses and they turned out to not be what I expected. So, is there like a trial version I can test with before payment?

    • @programmingelectronics
      @programmingelectronics  24 วันที่ผ่านมา

      Here is a free course we offer:
      www.programmingelectronics.com/arduino-crash-course/
      If you like this, I think you'll like the training program.

  • @epartsacc
    @epartsacc 4 ปีที่แล้ว +4

    Great explanation, as a follow up, why don't you do a video on the internal pull ups of the arduino?

    • @noud8868
      @noud8868 4 ปีที่แล้ว

      Electronic Parts idd really like to see a video explaining int pullups as well.

    • @favesongslist
      @favesongslist 4 ปีที่แล้ว +2

      @@noud8868 Using the internal pullup means you don't need to add your own pullup resistor. To connect the pin including using the pullup resistor included in the Arduino use this code in the example given in the video
      pinMode(Pin_Input, INPUT_PULLUP);

  • @AbrarManzoor
    @AbrarManzoor 3 ปีที่แล้ว

    it helped

  • @SukhdevSingh-tp4mg
    @SukhdevSingh-tp4mg 4 ปีที่แล้ว +1

    Good job!!!!!!!!

  • @shahidilhan3139
    @shahidilhan3139 7 ปีที่แล้ว

    I have a question to blink a led we connect ground to the negative pin of the led bit here I don't understand where does the current move from the ground or the 5v pin please help

  • @Nqrgaard
    @Nqrgaard 8 ปีที่แล้ว

    I have tried an example close to this one and the LED lights when I come near the button. I don't even have to push the button. When I push the button the LED light even brighter. Why is that? 😊

  • @parthpatel1605
    @parthpatel1605 ปีที่แล้ว

    Superb👌