Это видео недоступно.
Сожалеем об этом.
Floating Pins, Pull-Up Resistors and Arduino
HTML-код
- Опубликовано: 17 авг 2014
- 🤩 FREE Arduino Crash Course 👇👇
bit.ly/get_Ard...
**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...
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.programmin...
This tutorial talks about floating pins. Specifically, what they are, why they are unwanted and how to deal with them.
****If you like this, I think you'll like the premium Arduino training we offer. You can check it out here**** bit.ly/3lHyzcB
Hands down the best explanation on a pull up resistor I've seen. I actually understand now, thank you for this. Subscribing.
Glad you liked it, thanks for watching!
same. So many terrible "tutorials" so sift through until you find a good one on youtube
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.
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!
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!
@@programmingelectronics I don't think it's about repetition and different angles, it's more about asking and answering the right questions, and breaking it down into digestable parts. After previous videos I was still clueless at the end. Your explanation and visual aids were fantastic, and I echo @clunkclunk2099's experience. Thank you!
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.
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!
I hope it helped!
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.
I dont think you have any idea how much you are helping the electronics community. Thank you thank you thank you !!
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.
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
I finally understand this concept now!!! Thank you. Your tutorials are great.
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.
This video just cured my headache.
Thanks a lot.
Glad it helped!
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 .
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.
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/
After learning from your tutorials from one week , no other tutorial on youtube can match your level ! Thanks man !
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
One of THE most important concepts for an Arduino use to understand. Thank you !!!
Thanks so much for watching!
This is the best explanation I've seen and has also helped me understand what INPUT_PULLUP and INPUT_PULLDOWN are doing.
Glad it helped!
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.
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.
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.
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.
the atmega 328 has built in pullup resistor you have to activate in the void setup using digital write to high. ;)
Instant subscription after the first minute - brilliant humor.
Seeing the circuit you built helped a lot. Thanks!
It solved my digital pin input problem. Thanks
For me as a beginner Most easy and value providing video on yt great explaination keep going🔥🔥🔥
Thanks so much!
**THANK YOU SIR** Best tutorial's; simple, well thought out, flows logically and to the point. Great stuff!
easy new sub, first vid to properly explain it
Glad to hear it helped!
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
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!
Beautiful explanation, was just looking for this, Thanks a ton.
Glad it was helpful!
Well explained..thank you so much!
The best video on this important concept. Very nicely done. Thank you.
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.
Totally agree Chuck! Thanks for pointing that out!
Nice one Michael. That helped.
Glad it helped Richie!
Funny guy. Love the intro with the surfing micro-controller
Remember: that life boat is still floating! Better pull that up into the ... no, wait.
Thanks man this vid really clarified some stuff for me.
Great explanation, thanks a lot man!
Glad it helped!
that was a very cool video tutorial. Thanks for solving the pull-up meaning and floating pins....so cool ¡¡¡
Thank you for the nice video. Another way to use arduino parameter "INPUT_PULLUP" for input pin. Like, pinMode(2,INPUT_PULLUP);
Udııd
cool i like how you explain things :) this was very helpful you were the reason i got interested in arduino :) and other MCUs
Great explanation, nice and simple, thanks! I was having difficulty understanding the Pull-up pins
Glad it helped! Thanks for watching!
Excellent video. Now I understand a LOT more. Thanks!
+Maxr1998X Great, glad you found it useful!
+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 ?
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.
Good Lesson!!
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.
Awesome, thank you!
Great explanation, as a follow up, why don't you do a video on the internal pull ups of the arduino?
Electronic Parts idd really like to see a video explaining int pullups as well.
@@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);
Thank you for making it understandable.
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 ?
very helpful for my final exam. thanks
+pengci gao Thanks for watching!
Thank you your tutorials are great
Thank you, you explain things very clearly! Cheers
+d4ny4pres1d3nt Thanks for the kind words! I hope you enjoy the other videos.
great job... got it crystal cleared!!!!!!!!!!
Simply put, it is a bounce. And the pull up resistor corrected it to a point.
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 ?
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.
Awesome Explanation!
Is it possible to implement a pull up resistor, but substitute the pushbutton with a sensor or an optocoupler?
Finally got it. Thank you
Nice tutorial agains...
Love this channel
Very good video! So helpful !!
Excelente Información!!
Very good explanation :)
I'm confused. My understanding is that INPUT mode states that the pin reads voltage. The voltage flows from source to the ground. What is the source in this case? The flow is from the ground to the pin? I always thought that INPUT pin will read +v not ground.
+313jacob T thought that too and I was going to ask that until I saw your question
Your're right, it does read voltage. Ground is 0 volts. If you connect ground to an input pin, it reads that as LOW. (On an Arduino, that is anything below, I think, 1.2 volts.) If nothing is connected, then the input pin floats, and you get unpredictable readings.
Think of it in terms of water. Suppose that a garden hose is connected your pool (the Arduino) and ground (a drain). Let's say that in this bizarre pool-world in your Arduino, there can be passing rain showers that can instantly fill up your pool, and there are also other internal drains that will eventually (but not instantly) drain this rain water off. But once the garden hose is attached, water in the pool drains instantly. If you don't have the garden hose attached, that stray water sloshing around will vary, so that at times, it looks like the pool is full enough to swim in (the pin registers HIGH), and at others, it's barely full enough to wade in (the pin registers LOW).
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?
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.
Thank you i've finally understrood thanks to you !!
Nice video, thanks for sharing :)
Thanks for watching!
Thanks a lot for the explanation. You really saved my day. :)
i always see it like electrons like to take the easy path so when electorn seees a resistor avoids it when it is invetable in this case while we don't press the push botton electrons need to take the other path where there is resistor
Nice way to think about it!
@@programmingelectronics thank you for your efforts
Thanks, it helped.
Glad it was useful!
Nice a simple and makes perfect sense now! Thank you.
+northshorepx Thanks for watching - glad it helped!
This tutorial is pretty awesome! Thanks for uploading it. I'm subscribing to your channel for more!
Cheers,
LD
Great explanation. Subbed!
This explained it very well!
Finally...now I get it! Thanks! :)
The best video.
Thanks for this helpful video
Holy shit I needed this today and you nailed it 7 years ago. Thanks algo and google spy lmao
Glad it helped!
Would you please tell me, what is the resistance of pull up resistor on this diagram?
It's a 10K Ohm resistor in the circuit diagram.
Thank you.❤
Thanks for watching!!!
Thank you. That helped a lot!
What's the difference with this wiring and other where pressing pushbutton gives HIGH voltage and not pressing gives LOW voltage?
Great question! You would have one side of the button connected to 5V pin, and the other side connect to an Arduino pin set as an INPUT, and also a pull down resistor going to ground. I often see pull down resistors around 10K ohms.
great lecture 👍
WOW man hands down for sure !!!
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.
Thank you for great explanation
Thanks Shaun!
Great explanation.
Thank you - I appreciate that!
Thank you for your clear explanation. great course!
Thanks Bart - I hope you can find them all helpful.
Good explanation, thanks.
Raul M Thanks!
Was Arduino the best choice for this project?
I’m a bit confused.
If the pin is pulled up top 5v why is the led not on by default and off when the button is pressed?
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!
I have recently been using 2 pin instead of 4 pin pushbuttons. Do the 2 pin buttons eliminate the risk of floating?
Great question! It does not eliminate the risk, since the pin still floats when the button is not pressed.
I understand it now. If the button is pressed the path of least resistance is to ground. So then is there some small resistance inside pin 2 when the pinmode is INPUT?
Hi Gus, Yes, there is actually a really large amount of resistance inside pin 2 when it is set as an input. Below is from the Arduino reference:
"Arduino (Atmega) pins configured as INPUT with pinMode() are said to be in a high-impedance state. Pins configured as INPUT make extremely small demands on the circuit that they are sampling, equivalent to a series resistor of 100 Megohms in front of the pin. This makes them useful for reading a sensor, but not powering an LED."
Open Source Hardware Group Great thanks!
Great. Anyway, how make press 2 times within one second make output?
Thanks for valuable tutorial.
I have a problem. I used three pin of Arduino Uno for difefrent warning in the Banana Glasshouse. High heat, high moisture and high wind speed. I connected 10k resistor like your tutorial. It works in my office without problem. When I connect Ground to any of my pins it tiggered the GSM module and call mbile phone for warning.
But When I use this sytem in the Glasshouse it start to call me without contact of any pin to ground?! I could not understand. There are drivers and any other electronic equipments in same room. What shoul I do? Why the ground and digital pins contacting by theirselves without touching them and without any effect?🤔
So without the resistor, the resistance of pin 2 is extremely high (100 Megohms) because that's built in? That resistance would make too little current come through, and so the 10k resistor allows for more current? Is that why this doesn't work without the 10k resistor?
Very clear. Thanks
+cill521 thanks for watching!
Good work. Thanks
+George Kot Thank you for watching!