- 96
- 389 283
Robot Research Lab
United States
เข้าร่วมเมื่อ 13 ก.พ. 2017
This channel is designed to accompany blog articles showing how-to videos relating to anything robotics.
Topics may include
* Building a line following robot
* Implementing or tuning PID algorithms
* One product vs another comparisons
* Solving common problems with Arduino projects
* And more...
Topics may include
* Building a line following robot
* Implementing or tuning PID algorithms
* One product vs another comparisons
* Solving common problems with Arduino projects
* And more...
Make an April Fools Mouse Jiggler
Play a prank on your friends with this quick and easy project
00:00 Intro
01:26 Project 1 - Jiggler
16:42 Project 2 - Mover
27:22 Thank You
00:00 Intro
01:26 Project 1 - Jiggler
16:42 Project 2 - Mover
27:22 Thank You
มุมมอง: 327
วีดีโอ
How to use HX711 with Four Load Cells
มุมมอง 51K4 ปีที่แล้ว
Have you ever needed to weigh something or wanted to automate something using weight? Try using a four load cell setup for your next project. To see the code, check out my article here robotresearchlab.com/2020/08/28/four-load-cell-with-hx711-programming/
QTR 15HD vs QTRX 15HD
มุมมอง 1.6K4 ปีที่แล้ว
In this video I compare a QTR-15HD with a QTRX-15HD but only looking at the readings with respect to distance. I wanted to know if the specs on the website were accurate because they claimed the sensors could be used up to 50mm away. That's nearly two whole inches!
How to Hookup a Bluetooth Module to Arduino
มุมมอง 9494 ปีที่แล้ว
Have you ever wished you could communicate with your project via Bluetooth? Well, it's easier than you think, check out my video for details. 00:00 Introduction 01:38 Wiring 05:05 Programming 12:56 Running the Code Locally 15:55 Connecting to Phone 19:15 Thanks for Watching
How to Count Lines While Line Following
มุมมอง 3.1K4 ปีที่แล้ว
This video covers how to count intersections while line following. You could also adapt this to look for left and right turns by looking at specific IR sensors. Check out my PID video here: th-cam.com/video/PP4fvBVe3rI/w-d-xo.html Jump to three separate solutions: 00:00 Intro 06:42 Solution 1 09:47 Solution 2 14:07 Solution 3
Getting started with Atom IDE and Arduino
มุมมอง 12K4 ปีที่แล้ว
If you've ever wanted to try a more advanced IDE than Arduino IDE, try Atom by Github. Link to Atom IDE atom.io/
Multi-tasking, Multithreading, or Hyperthreading with Arduino
มุมมอง 18K4 ปีที่แล้ว
Technically you cannot multithread with a single Arduino microcontroller. However, we can simulate multithreading.
How to Program a Push Button with an Arduino
มุมมอง 89K4 ปีที่แล้ว
Just a simple, video to detail how to easily program a button in an Arduino program. Grab the finished code here robotresearchlab.com/2021/01/05/how-to-program-a-push-button-with-arduino-2/
How to Hook Up a Push Button for Robotics Projects
มุมมอง 5K5 ปีที่แล้ว
This is a short video showing you the proper way to connect a push button to your robotics project.
How to Program a TCS230 Color Sensor
มุมมอง 4.3K5 ปีที่แล้ว
00:00 Intro 00:57 About the TCS230 07:15 Writing your own custom code 23:20 Demo custom code 29:36 Using a library instead 33:53 Demo library code This video covers how to write a basic program for the TCS230 or TCS3200 color sensor for Arduino. There is an additional portion at the end of the video that covers how to use the library that can be found on GitHub in order to get slightly better r...
ASEE 2019 Team VBSTRONG Run 4 - Robotics Competition
มุมมอง 2015 ปีที่แล้ว
For more information including details about scores, visit the following blog article. robotresearchlab.com/2019/07/27/asee-2019-national-competition-results/
ASEE 2019 Team Robohawks Run 2 - Robotics Competition
มุมมอง 395 ปีที่แล้ว
ASEE 2019 Team Robohawks Run 2 - Robotics Competition
ASEE 2019 Team Mr Crabs Run 4 - Robotics Competition
มุมมอง 265 ปีที่แล้ว
ASEE 2019 Team Mr Crabs Run 4 - Robotics Competition
ASEE 2019 Team Trash Bot Run 4 - Robotics Competition
มุมมอง 505 ปีที่แล้ว
ASEE 2019 Team Trash Bot Run 4 - Robotics Competition
ASEE 2019 Team ÄVKËÄ Run 2 - Robotics Competition
มุมมอง 855 ปีที่แล้ว
ASEE 2019 Team ÄVKËÄ Run 2 - Robotics Competition
ASEE 2019 Team Fire & Rescue Run 3 - Robotics Competition
มุมมอง 625 ปีที่แล้ว
ASEE 2019 Team Fire & Rescue Run 3 - Robotics Competition
ASEE 2019 Team ÄVKËÄ Run 4 - Robotics Competition
มุมมอง 585 ปีที่แล้ว
ASEE 2019 Team ÄVKËÄ Run 4 - Robotics Competition
ASEE 2019 Team Robohawks Run 4 - Robotics Competition
มุมมอง 355 ปีที่แล้ว
ASEE 2019 Team Robohawks Run 4 - Robotics Competition
ASEE 2019 Team VBSTRONG Run 2 - Robotics Competition
มุมมอง 375 ปีที่แล้ว
ASEE 2019 Team VBSTRONG Run 2 - Robotics Competition
ASEE 2019 Team Mr Crabs Run 3 - Robotics Competition
มุมมอง 425 ปีที่แล้ว
ASEE 2019 Team Mr Crabs Run 3 - Robotics Competition
ASEE 2019 Team VBSTRONG Run 1 - Robotics Competition
มุมมอง 225 ปีที่แล้ว
ASEE 2019 Team VBSTRONG Run 1 - Robotics Competition
ASEE 2019 Team Mr Crabs Run 1 - Robotics Competition
มุมมอง 405 ปีที่แล้ว
ASEE 2019 Team Mr Crabs Run 1 - Robotics Competition
ASEE 2019 Team Plimsoll Robotics Run 2 - Robotics Competition
มุมมอง 345 ปีที่แล้ว
ASEE 2019 Team Plimsoll Robotics Run 2 - Robotics Competition
ASEE 2019 Team Robohawks Run 3 - Robotics Competition
มุมมอง 285 ปีที่แล้ว
ASEE 2019 Team Robohawks Run 3 - Robotics Competition
ASEE 2019 Team Plimsoll Robotics Run 4 - Robotics Competition
มุมมอง 245 ปีที่แล้ว
ASEE 2019 Team Plimsoll Robotics Run 4 - Robotics Competition
ASEE 2019 Team Trash Bot Run 3 - Robotics Competition
มุมมอง 255 ปีที่แล้ว
ASEE 2019 Team Trash Bot Run 3 - Robotics Competition
ASEE 2019 Team VBSTRONG Run 3 - Robotics Competition
มุมมอง 245 ปีที่แล้ว
ASEE 2019 Team VBSTRONG Run 3 - Robotics Competition
ASEE 2019 Team Fire & Rescue Run 4 - Robotics Competition
มุมมอง 505 ปีที่แล้ว
ASEE 2019 Team Fire & Rescue Run 4 - Robotics Competition
ASEE 2019 Team Robohawks Run 1 - Robotics Competition
มุมมอง 265 ปีที่แล้ว
ASEE 2019 Team Robohawks Run 1 - Robotics Competition
ASEE 2019 Team Fire & Rescue Run 2 - Robotics Competition
มุมมอง 675 ปีที่แล้ว
ASEE 2019 Team Fire & Rescue Run 2 - Robotics Competition
Good
Trying to do it in rasberry pi 4 not working anyone has code?
Never knew about the "while" command, Thanks !
mdc bdsk
tks brother, u saved me
Hi, what can be the maximum weight that this project can read out?
Thank you for a relatively simple explanation of this code... Now what would I do different if I were using this code to cause the computer to see a button pressed on a joystick? I race online and have built a 32 button box for controlling different functions. However I need to add three toggle switches and I have spent hours trying to find a code I could edit to make it work using a different Arduino Pro micro, hopefully if you can answer my question about the joystick I can finish that project.
I like your clamping device. Is that home made or can it be purchased somewhere?
It's called QuadHands, I got it on Amazon. Here's a link www.amazon.com/gp/product/B01MTWLF2Q. It's expensive for "helping hands" but I have no regrets, you can use the arms on any metal surface, or the heavily weighted metal stand that comes with this (it's under the paper in this video).
I'm a noob here and I thought I can't connect two different gauges of wires in a battery but you just did and that just save me from stripping the heat shrink from my battery. Thanks man Wish More YT Content to come😎👍
To make it clear, is "Load cell" a combination of four "Strain gauge"' in bridge circuit?
Best Tutorial so far! good job sir.
Man, ty looking for an expectation for exatly this kind of setup thank you very much!
Good day sir do you have python code of this?
thanks you realy helped my project you have definetly earned a sub
Can you give me this code? Pls.
Hello sir! nice video! im just wondering if the qtrsensor library still works with a BFD-1000? I thought that it would still work since its just code but then you mentioned qtr sensor and its a qtr library... help me TT
?
from where we can get QTR MD 8A library
my solution was to have a bool that is only true when all sensors are seeing a line and if it isnt it goes back to false and as long as the bool is true we dont check for intersections
why did you not make a micro mouse
Mate I've spent the last half an hour trying to find that desoldering iron with a pump. Can you tell me what brand it is?
It looks like they might not sell it anymore... I got that thing like 20 years ago at a Radio Shack. This one looks like a fairly nice desoldering iron. www.amazon.com/Desoldering-Electric-One-Hand-Operated-Soldering/dp/B09DG4BB86 Otherwise, you could check on facebook marketplace or ebay for the one with the bulb like I have.
@@RobotResearchLab Ah cheers and thank you for responding! This looks like it should do the job and I've seen quite a few of these modern plunger types, but I really like the bladder type that you have. I'll keep looking
hello, thank you for your lecture, can I ask you about this PID algorithm but with the motor running backward? I still can't do it
Just in case you are still watching comments 4 years after uploading this video, I have a request; I am just beginning my Arduino journey and my first project is to program a Flight Simulator controller. The device I have built includes a DPST toggle switch with an [ON] OFF [ON] configuration to control flaps. This is equivalent to 2 pushbuttons in the same switch. Move the toggle up - the flaps move up. Move the toggle down - the flaps move down. I would like my serial monitor to print a line with "UP" or "DOWN" when the toggle is moved in the corresponding direction. Any advice would be amazing and greatly appreciated.
hello sir, will the number of sensors used greatly affect the accuracy of the PID?
1) What i have to do to replace the motor driver with L298. 2) If i want to use TB6612FNG then will it work with the same library of TB67H420TBG or i have to make anything change. and what's that? please help sir🙏
how can i do this with 5 tcrt array?
Just started to put PWM controller into our 1950s Model Trains, great video for background, debug and test. Thank You so much great tips and easy code to follow, Steam Engine Single motor, Diesel Dual Motors, should be CAKE!
Hello sir, good evening, Am creating a program 20Khz PWM signal for pump. It's absolutely working fine, when I wrote 2nd millis function and upload same board but 2nd program is not properly worked. Any solution for this sir ? Am using Arduino UNO board.
Great Video😀Has made understanding PID programming really easy
Another video on youtube covers the diagram: th-cam.com/video/LIuf2egMioA/w-d-xo.html
Thank you for the video, but it is a shame that a long video with 32k views, has no actual Diagram attached to it. It is not scientific to have to zoom into the video to "guess" the wiring. i give it a try, i hope i do not burn my boards.
Thank you for the feedback.
Great video good explanation.. I have a doubt y we need d term?
One doubt!!! Is this path dependent or path independent? Can this code be run for other lines?
This is path-independent. All the code is doing is trying to stay on a line. Therefore, if there are tees or intersections, it may make a left turn one time, and another time it might make a right turn. With intersections, it generally goes straight since the line is going to give you a center-weighted value. It depends on how the robot approaches the tee or intersection at that specific time.
my project did 200% progress with this viedeo
I love it, awesome to hear, thank you.
At kp = 0.020 Ki = 0.001 Kd = 0.010 My robot works well with speed 40.But I am clueless after many tries how to make it tune for speed 140.Please help me sir
At kp = 0.020 Ki = 0.001 Kd = 0.010 My robot works well with speed 40.But I am clueless after many tries how to make it tune for speed 140.Please help me sir
I replied to your comment on the other video, just wanted to reply here so it doesn't look like I ignored your comment 😄
At kp = 0.020 Ki = 0.001 Kd = 0.010 My robot works well with speed 40.But I am clueless after many tries how to make it tune for speed 140.Please help me sir.
Generally, once you get the initial values at a low speed, you should be able to up the speed and then work through them again. So, a process like this 1. Get tuned at speed of 40 2. Increase speed to 140 3. Tune KP until it stays on the line (don't worry about wiggle) 4. Tune KD until it's following the line smoothly 5. Tune KI as needed Generally, I don't bother with KI as this is mostly for external factors like wheel slippage, wind, hills, obstacles, one motor weaker than the other, etc.
hello, thank you for your video, it's very clear. I'm kind of new to electronics, for a project I need to be able to measure weight from 24 different sources. Do you think it would be possible to use six HX711 (witch each four load cells) connected to the same Arduino ?
I don't think this will give you what you need. When you connect four load cells to an HX711, the inputs are combined into a single output. I don't believe there is a way to get each cell's value. I'm not absolutely positive but I believe you would need an HX711 or other sensitive ADC for each load cell if you want to do it this way.
This video is pretty helpful, im doing the same step but instead i will be converting my jst connector to xt60
Thanks for the feedback
great tutorial video with really good explanations!!
Thank you
can you make a video that will play a 30 second audio then fade on 6 led lights, then turn off after 10 or 15 seconds with a push button using an arduino nano?
Why cut off the pins from the wires? Why solder the pins and then cut off the pins? TIA
I personally cut the pins from the wires because I don't need to be able to remove and re-attach the cable and I don't like that cables can come loose, especially when it's on the IR sensor where it's usually under the robot and I wouldn't see if it came loose. So, by soldering the wires, I know it will have a good connection. I think, when you're asking "Why solder the pins and then cut off the pins" you are talking about the last part where I snip the wires that are sticking through the board. If so, that's because if they stick out too far, they could bump into something, causing the pins to bend and then they could touch and short something out. It also looks cleaner, but I only rally do this for wires or things with long leads like resistors or LEDs, if it's a chip, or breadboard pins, you wouldn't need to cut them as they're already short enough. The solder connection should look like the shape of a Hershey Kiss, and the pin shouldn't extend much beyond the tip of that Hershey Kiss shape, otherwise it could cause a short. I hope this helps.
@@RobotResearchLab , I guess I wasn’t clear. Why not solder the pins to the board and then snip the pins going through the board (instead of snipping the wires)? This would be easier/faster, especially for beginners.
@@AramPerez Ah, I understand now; that's definitely an option. I hadn't thought about that probably because I was professionally trained in soldering and I'm a Dudley Do-Right, so that training kicked in. My only concern with the pins is that, if you took the plastic housing off, they could bend and short since there's quite a bit of pin exposed, but, if you left the plastic on, that would work so long as you didn't need the board to sit fairly flush against anything. When I install my boards, I typically use a screw with just a bolt as a spacer between the board and the body of the robot, so in that case, it wouldn't have worked for me. I"ll definitely keep your comment in mind next time I have a situation like this, and mention that your method is a perfectly good option, especially for beginners.
Thank so much for that - new to Arduino and was going all around the houses just to get it to perform a repeated action with a stepper - this video made it so simple
Thank you for your feedback, I'm glad it helped.
How to take acute angle turns?
next time teach us switch w/ led activation. thanks
👌👌👌
sir you have my 1 subscribe. Your video absolutely saves me ass lol
Hello 600
Hi, how can I program 6 buttons so that I can use them as inputs in video games?
Sorry for the late reply, the simplest way to do this would be to copy and paste the code but have currentState be each separate button, so you'd have the code as it is in the video, then something like this currentState = digitalRead(BUTTON_PIN_2); if (currentState == pressed) { // Do something here while(digitalRead(BUTTON_PIN_2) == pressed) { // Do nothing while button is pressed } } This isn't the best way but it's the easiest to describe in text. A better way would be to create a function that reads a button based on the pin value passed in, then you're code would look something like this (this is much cleaner and repeatable without copying and pasting a lot of code, it's just a simple if statement copied and pasted. if (buttonPressed(BUTTON_PIN)) { // Do something here } if (buttonPressed(BUTTON_PIN_2) { // Do something here } But you'd have a custom function called buttonPressed() which would return true/false based on the button pin state. That would look like this bool buttonPressed(char buttonPin) { if (digitalRead(buttonPin) == pressed) { // Do something here while(digitalRead(buttonPin) == pressed) { // Do nothing while button is pressed } return true; } else { return false; } }
Its not a good idea, to hold the program in a while-loop while the button is pressed. At the end, you are inserting the REAL PROGRAM TASKS as exceptions in the while-loop. It should be NORMAL, that the program does always its main job...and that the buttonpresstime is the exception. Greetings from Germany.
I definitely do not disagree with you, this is "a" solution, and definitely not the best. I personally feel the better solution would be more difficult to teach for beginners and that's what my channel is aimed at, teaching people who may have zero programming experience. I think of it like schooling, generally, you are taught a simple method for doing something, like math, then later, once you've understood the concept you learn the better way to solve a problem, so taking it in steps. In my mind, the progression would be, using delays, then using busy-wait, then learning to keep track of time and avoid any kind of delay or busy-wait. I feel like this is a good compromise where, it's avoiding delay() which dislike very much, but it is using a busy-wait BUT, generally people do not hold the button down so it's unlikely this would cause a problem in many cases. I appreciate the feedback, danke schön aus Amerika (ich verstehe ein bisschen Deutsch).