How to Use Arduino Interrupts The Easy Way

  Переглядів 70,946

Rachel De Barros

Rachel De Barros

День тому

Have you ever wanted to take advantage of Arduino hardware and software interrupts but didn't know how? In this tutorial, I'll show you the basics of using an Arduino's interrupts the easy way - quickly setting up the pins and handling events with just a few lines of code. Implementing software or hardware interrupts can open up a world of possibilities for your robotic creations - adding an extra layer of sophistication that takes your Arduino project to the next level. So dive in and let's discover how we can harness the power of Arduino interrupts for our own projects!
Arduino Interrupts Tutorial with Code ▶︎ racheldebarros.com/how-to-use...
Download TimerOne Library: playground.arduino.cc/Code/Ti...
Video Chapters:
0:00 Intro
1:04 Example Without Interrupts
7:26 Hardware Interrupts
20:00 Software Interrupts (with TimerOne library)
31:54 Wrap Up
Build & Code Along:
🛒 Arduino Uno or Clone: amzn.to/3MdxwRt
🛒 Breadboard: amzn.to/3MgbzkG
🛒 Jumper Wires: amzn.to/473kmON
🛒 LEDs: amzn.to/3FvqV0U
🛒 330 Ohm Resistors (or resistor kit): amzn.to/46TEZgm
🛒 Push Button: amzn.to/45IuETs
Join the Engineering Artists Community ▶︎ racheldebarros.com/community
Some links included here are to affiliate sites. If you purchase something through them, I may earn a small commission - which costs you nothing! I am very grateful for your support when you use my links to make a purchase.
#arduinotutorial #arduinointerrupts #arduino #interrupts

КОМЕНТАРІ: 185
@joemechanic2751
@joemechanic2751 5 днів тому
I'm new to Arduino but not new to programming, so I'm glad I found this channel. Most other sites for Arduino channels for newbies assume you know zero about programming and are unwatchable.
@ZothiamaCF
@ZothiamaCF 2 місяці тому
5 minutes in to the video and I've already clicked the subscribe and like buttons. This is how all tutorials should be made. You are a most awesome teacher.
@Nemecys
@Nemecys 15 днів тому
Exactly what this guy said - sooooooooooo beautifully explained :)
@jdoedoenet
@jdoedoenet 3 місяці тому
You are one fantastic teacher! I am a former HP engineer (long ago!) and have finally reached a place in life where I can do this sort of thing just for fun. Your videos are immensely helpful and entertaining to boot. Absolute goldmine. Thanks for all that you do!
@edgarbonet1
@edgarbonet1 4 дні тому
Very nice tutorial! I would just suggest a few corrections: 1. The Arduino Uno has no software interrupts, although they can be simulated by writing to an interrupt pin configured as output. The timers are hardware devices, and the timer interrupts are hardware interrupts. 2. The first parameter of attachInterrupt() is an “external interrupt” number. This is not the same as an interrupt vector number. FWIW, external interrupt number 0 is interrupt vector 2 (see the ATmega328P datasheet). 3. Only variables shared between ISR and regular code need to be volatile. In the example you give, buttonState should be local to the ISR, and doesn't need to be volatile. 4. Using millis() within an ISR is perfectly fine. You should not, however, expect millis() to get updated within the ISR, as it gets “frozen” when the interrupt is triggered.
@ScreamingTurtleRacing
@ScreamingTurtleRacing 4 місяці тому
Easily the best Arduino tutorials I’ve seen on UKposts. I came for the interrupts, but I will definitely be watching more. A refreshing change from the usual content. Thank you!
@oscareriksson9414
@oscareriksson9414 4 місяці тому
Really good, straight to the point and simple. Exactly what I need for my projects
@aardito215
@aardito215 5 місяців тому
Great video, you explained this so well! I've spent hours looking at other videos on timers and interrupts which just confused me. I'm just getting back into Arduino programming after a 5-year break, and this was a huge help with the project I'm working on.
@acousvnt
@acousvnt 4 місяці тому
It's refreshing to hear code explained with such enthusiasm!
@jtodora
@jtodora 2 місяці тому
EXCELLENT description of using interrupts. Very Good!!!
@surenbono6063
@surenbono6063 6 місяців тому
..i like the flow of this tuturial...its like a sketch itself...it delivers you from darkness to light...
@grahamnichols1416
@grahamnichols1416 4 місяці тому
Great video. Rachel's infectious enthusiasm had me hitting subscribe right away.
@vladimirastrelin1719
@vladimirastrelin1719 2 місяці тому
What an amazing lesson! Very clear ! Just a pure pleasure to listen, watch and follow your instructions. Thank you very much !
@shirleysharrock7204
@shirleysharrock7204 4 місяці тому
Your descriptions are clear and enjoyable to watch. I didn’t yawn at all and no urge to nap which is common with the monotone streams I have endured. Showing the pitfalls and showing the process . Thank you for your stream.
@RachelDeBarrosLive
@RachelDeBarrosLive 4 місяці тому
I have also napped through many explanations 🤣
@zuzukouzina-original
@zuzukouzina-original 2 місяці тому
You have a gift to explain it very clear and simple. Thank you 🙏🏼
@JumbleLane
@JumbleLane 4 місяці тому
This is brilliant, for a 65 year old to finally understand how interupts work. Your upbeat way of describing how it works is just fantastic. I can now implement this in a few of my projects and also see if I can find information on doing a similar thing with the ESP32 to improve some of those projects. Thanks Rachel, I will certainly go through your videos and also subscribe. Regards, Geoff.
@kentharris7427
@kentharris7427 3 місяці тому
I built a demonstration of a perpetual motion machine as my first project using an Arduino. "Perpetual Motion Machine?" The Arduino is very flexible and can even work with a power supply that is a half bridge rectifier. Looking forward to your next video.
@ChaplainDaveSparks
@ChaplainDaveSparks 13 днів тому
I love this video for two different reasons: I haven’t programmed interrupts in ages. If I’m not mistaken, it was on a Z-80 back in the 80s. Rachel reminds me so much of someone we lost, also in the 80s: *_Karen Carpenter!_* Similar voice, facial expressions, and body language.
@PammyStevensonEquest
@PammyStevensonEquest 4 місяці тому
Great video. Might be worth mentioning a while loop with small 1ms delay as a non interrupt solution on the way to the interrupt solution. Also an internal timer is a hardware interrupt, software interrupts are generated directly by the microprocessor when it needs system tasks done - memory management, errors, crashes, etc
@miachristensen5444
@miachristensen5444 4 місяці тому
This is so incredibly easy to understand and paced at such a great rate! Thanks for the amazing video! Can't wait to learn more from you =)
@RachelDeBarrosLive
@RachelDeBarrosLive 4 місяці тому
Glad it was helpful! Let me know if you want me to cover any topics and I'll put it in rotation.
@stevehamann9624
@stevehamann9624 9 днів тому
I think the best explanation for interrups on youtube👍🏼
@nexpro6985
@nexpro6985 4 місяці тому
Pretty good explanation of ISR, thanks. Maybe the pin names should be constants not variables. They are not going to change. const int BLUE_LED = 11; LOW and HI are constants also hence uppercase.
@ABaumstumpf
@ABaumstumpf 4 місяці тому
"LOW and HI are constants also hence uppercase." Kinda,... not... they are defines.
@guidovlaere
@guidovlaere 5 місяців тому
Thanks from the Netherlands 🇳🇱 for your super tutorial! Your videos are very helpfull! 😊
@sanJorgeRM
@sanJorgeRM 10 місяців тому
Very usefull explanations! Ty very much. Blessings from Spain 🇪🇸
@sennabullet
@sennabullet Місяць тому
Thank you for this video. I really appreciate your enthusiasm!
@indikaudayasaranga988
@indikaudayasaranga988 5 місяців тому
Your knowledge is excellent. Thank you for sharing. Big Hats off.
@nawnifari
@nawnifari 8 місяців тому
Cool.. arduino beginner should watch this.. I'm sharing it to classmate..
@bullitthead7853
@bullitthead7853 4 місяці тому
I'm new to arduino and programming. I thought that this video was fantastic, thank you. Liked and subscribed!
@Richardson_Valakyr
@Richardson_Valakyr 20 днів тому
Im learning english and also Arduino... i found both here you are amazing... Thanks!!!!
@tenfriskydingos
@tenfriskydingos 2 місяці тому
Awesome video thanks! Ive been having trouble reading the pulses from an old school rotary dialer using just debouncing, I think this will do the trick for me though!
@onebeartoe
@onebeartoe 4 місяці тому
This was really well explained!
@aaronfrye1195
@aaronfrye1195 5 місяців тому
Thank you for this very inspiring and informative video.
@anthonysullivan851
@anthonysullivan851 2 місяці тому
I have to confirm previous comments, you are a great teacher and the best and demonstrating Arduino IDE.
@k9slover
@k9slover 2 місяці тому
Good video, informative and well explained. I have subscribed.
@75mechanic
@75mechanic 4 місяці тому
Wow great video. Well presented. Easy to understand. Learning arduino and found this excellent.
@warsteelcalgarus5790
@warsteelcalgarus5790 4 місяці тому
This was awesome. Going to check out the rest of your Arduino vids. Thank you so much for posting this. Really appreciate it =)
@RachelDeBarrosLive
@RachelDeBarrosLive 4 місяці тому
Thanks! Let me know if you'd like to see any specific topics.
@ConzKlips
@ConzKlips 4 місяці тому
interrupting my viewing to say this: Amazing, so clear and helping so much. Not even finished the video yet and its already heaps helpful, thanks!
@RachelDeBarrosLive
@RachelDeBarrosLive 4 місяці тому
I'm glad to hear the vid is helping you out! Let me know if you'd like me to cover any other topics!
@husky-nu3xk
@husky-nu3xk 27 днів тому
Best explanation ever. Thx Rachel
@andybp840c
@andybp840c 3 місяці тому
I almost want to duplicate the previous comment excellent explanation so pleased I found this channel Thank you
@nityamaheshwari8259
@nityamaheshwari8259 5 місяців тому
i watch so may videos on google related to interrupt , but your lecture is amazing, i understand all the concept very clearythanku so much , for a grt video😁😁
@RachelDeBarrosLive
@RachelDeBarrosLive 4 місяці тому
Glad you enjoyed it! Let me know if you want to see any other topics.
@MettaZen
@MettaZen 5 місяців тому
Good video :) You're clear in your explanations. Here are some video ideas. Id love to see a video about threading or on some more basic stuff like interpretation of the pinouts, how to look to get to know how a new component works (what things to look into)... Stuff that give users more independance
@SusanAmberBruce
@SusanAmberBruce 3 місяці тому
Very well explained and helps a lot of thanks.
@hamradio3716
@hamradio3716 3 місяці тому
Wow, what a great teacher. So enthusiastic!. Good examples. Now I can fix some broken ISRs that use sleep.
@rhandynastor4866
@rhandynastor4866 10 місяців тому
thanks for this. Very nice explanation
@rjm842
@rjm842 3 місяці тому
Thank you for this very, very helpful tutorial! it wooooorrrrrrrkkkssssss :)
@paulmcmahon7899
@paulmcmahon7899 3 місяці тому
Thank you for this. My project involves LaRa radios remotely located, so this is a big boost in being able to run the remote processes while waiting to receive a transmission. One difference from your video. When I run your sketch, exactly copied, RED flashes four times, the BLUE flashes, but twice, in opposite synch to RED. Then red flashes twice more, then blue-red twice, etc. I've played with the delay and the microseonds. Seems as though the ISR runs twice every 1/10 second. I'd like to test LoRa for data receipt in the interrupt and do pass the incoming data to the loop. It may not matter, but thought I'd ask since my results differ. Thank you again.
@rayleblanc7209
@rayleblanc7209 4 місяці тому
I remote controlled a 10 HP Craftsman track drive snow blower using a 10 channel Flysky and mega 2560. I learned Arduino coding just to build the project. I use all 10 channels to operate the servos, motors and actuators. I was able to get everything to work without using any interrupts. I'm sure my code is far from perfect, but surprisingly I got everything to function.
@hanvanderveeken904
@hanvanderveeken904 3 місяці тому
love your energy and enthousiasm ;-)
@jstampfl
@jstampfl 4 місяці тому
Great video. Enjoyable and informative.
@khanqaiserster
@khanqaiserster 3 місяці тому
You are a wonderful teacher of embedded systems. Your style is very nice otherwise it's a very dry subject
@RachelDeBarrosLive
@RachelDeBarrosLive 3 місяці тому
I have fun doing these. Writing the code is like telling a story of what you want to see happen in order from beginning to end.
@jaynewman6420
@jaynewman6420 3 місяці тому
I agree with the ones saying that you are a great instructor. I'm also retired, but I'm making and programming robots.
@ms070965
@ms070965 Місяць тому
Very Well explained. Thx a lot
@tb303wpf1
@tb303wpf1 6 днів тому
Thank you so much for this video! I had buttons on pins that were not hardware interrupts and I woumd up modifying my code in some very creative ways to simulate hardware interrupts. It worked pretty good too. Lol. Now I will remove all of that erroneous code and move the buttons to the hardware pins. I feel like such an idiot. 🤣
@zambonni
@zambonni 4 місяці тому
You are my new favorite teacher
@jorgelima5695
@jorgelima5695 4 місяці тому
In the hardware interrupt example, the buttonState doesn't need to be global and doesn't need to be declared as volatile because the first thing the interrupt handler does is to assign it to the return value of digitalRead() and the variable is not accessed anywhere else in the program.
@dougcox835
@dougcox835 4 місяці тому
I have multiple routines that are called from the main loop which are selected by a mode variable. The interrupt works to change that mode variable but it still has to return to the main loop in order to take the next action. I would love it to just break off from whatever it was doing and back to the main loop. At least the button push registers and can be depended on. I just have to wait for the current sub to finish. I could have each sub check for a change in mode and bail but that's messy because every routing would need the same treatment. If I want to do that I might as well have each routing check the button inside the loops.
@arliewinters2776
@arliewinters2776 Місяць тому
Good Teacher ! Easy on the eyes too ☺
@arliewinters2776
@arliewinters2776 Місяць тому
My problem is, when I should be looking at the code, I'm looking elsewhere...!
@murugesh9338
@murugesh9338 Місяць тому
Your video is amazingly clear. thanks for the effort Rachel. Timers works in UNO but not in ESP boards. can you please suggest some library like the same that workks with esp32 boards?
@jacobpilegaard9196
@jacobpilegaard9196 3 місяці тому
Great video - thank you very much
@MikelGarin999
@MikelGarin999 3 місяці тому
Thank you! I didn't know TimerOne library and its ease use! I think i could use it on a 16 steps MIDI sequencer i have built! Can it be used in combination with hardware interruptions? I need two hardware interrupts to control the state os two buttons.
@insoft_uk
@insoft_uk 4 місяці тому
I would recommend when using such things as == LOW reverse it so LOW == as it prevents mistakes like single = getting missed as a “var = const” will compile yet “const = var” will fail and you will pickup on the missing =
@mmgc84
@mmgc84 4 місяці тому
Thanks for sharing
@georgejetson4378
@georgejetson4378 4 місяці тому
Great content and thank you for posting. I’m just getting started with Arduino so your posts are very timely but I’m wondering why you declared buttonState variable inside of loop. I was taught to only declare variables once otherwise the processor wastes resources. I think your code would still work if you declared before the loop. Do you agree?😊
@laidman2007
@laidman2007 4 місяці тому
Thank you!
@EditingApprentice
@EditingApprentice 2 місяці тому
Great video !!
@8867348
@8867348 4 місяці тому
Wow, you are so much fun. I don't know how far I will get with this arduino stuff. I'm 52 and originally just wanted to build an led cube but somehow got off into this coding. It's very interesting but having a difficult time retaining what I learn. I don't get to spend as much time on it as I would like to. You did a very good job explaining in your video and I completely understand but, 3 days from now I'll be like "how did that lady do that?". Lol, maybe I'm getting in over my head.
@arliewinters2776
@arliewinters2776 Місяць тому
I'm 64....Not as on-point as I used to be. I've found just reading about it is not enough for me.... "doing it" keeps it fresh in my mind.
@mazharkhaliq1971
@mazharkhaliq1971 Місяць тому
Thank you, it is a well informed video 😊.
@RachelDeBarrosLive
@RachelDeBarrosLive Місяць тому
You're welcome 😊
@paulalmquist5683
@paulalmquist5683 4 місяці тому
When you refer to a function like setup or loop or any user defined function just say its name, "setup", "loop", or whatever it is called. Do not include "void", "int", or whatever it's return type is. The return type is part of the function declaration but is not part of the name. Good presentation. Nice to see someone that is obviously enthused about the topic.
@speakertoanimals
@speakertoanimals 4 місяці тому
saying "void setup" adds clarity because the () are not spoken. IMO saying the return type is like prepending an honorific... like, "King Charles" instead of just "Charles."
@antoniopavanetto9891
@antoniopavanetto9891 3 місяці тому
Excellent indeed! I've suffered while you hot swap the connections.😅
@chronobot2001
@chronobot2001 5 місяців тому
So pretty and smart. The video was excellent !!!! Thanks for doing it.
@RachelDeBarrosLive
@RachelDeBarrosLive 4 місяці тому
Glad you liked it! Let me know if you'd like to see any other topics.
@KeffelewAssefa
@KeffelewAssefa 4 місяці тому
Thank you so much.
@user-lk4bq5uk9v
@user-lk4bq5uk9v Місяць тому
The world's best Queen teacher thanks
@RachelDeBarrosLive
@RachelDeBarrosLive Місяць тому
Glad you enjoyed it! Let me know if there's any topics you'd like me to cover.
@peterkowald7092
@peterkowald7092 17 днів тому
So you asked has anyone ever written a multitasking function without using interrupts, and the answer is yes. I developed a cooperative multitasking core for any microcontroller after has a system that was doing a ton of work and struggling to get all done within a second. It took me a good while thinking about the problem before I developed the engine (it’s very very light weight and consumes only a few hundred bytes of memory. That same system doing all the same things (and now more) runs at around 15,500 cycles a second. I have now been using it for several years and use it on very project as it eliminated more code than it uses. In fact I even use it on top of RTOS because make coding do easy. So yo answer your question .. Yes I use it commercially so I won’t release it, sadly but I have a significant competitive edge killing systems with bigger, faster and more expensive microcontrollers. Nice bright video for beginners
@zz3709
@zz3709 3 місяці тому
Great explanation, how about serial receive interrupts?
@ethzero
@ethzero 3 місяці тому
13:00 Regarding where to put additional functions in code, it's true that for the Arduino IDE+Compiler top or bottom is fine. However, if you're using an ESP32+Arduino Framework+PlatformIO+VScode I've found that (probably) the compiler complains about "undeclared functions" if you put them at the end, i.e. you try to call on a named function before it's seen in the code. There might be an additional parameter or something that can be parsed to the compiler, but that beyond me.
@vegansynths7757
@vegansynths7757 7 місяців тому
Thanks for this! With regard to the digitalPinToInterrupt, I wasn't sure if still need to use the proprietary pin designated by the board I have with this function? I.e. if the board I have has interrupt vector 0 on pin 2, can I use pin 10 and put digitalPinToInterrupt(10)?
@NormanNodDunbar
@NormanNodDunbar 4 місяці тому
digitalPinToInterrupt will return an error (-1) if called with a pin which doesn't support hardware interrupts. Unfortunately attachInterrupt will silently fail to attach your function, and nothing will work. So no, you cannot use digitalPinToInterrupt(10). Cheers, Norm. (Author of Arduino Interrupts, published by Apress)
@hicl5450
@hicl5450 4 місяці тому
Thanks for the video. May I know for button interrupt, what if the button is kept to be pressed, is there any way to disable the interrupt and warn the user to release the button, then re-install the interrupt again?
@TheUnofficialMaker
@TheUnofficialMaker 4 місяці тому
nicely presented.
@williamburns7336
@williamburns7336 6 місяців тому
I JUST FOUND YOU TODAY AND LOVED YOUR VIDEO. LEARNING CAN BE BORING, BUT NOT IN YOUR VIDEOS. I'M REQUESTING MORE CODING VIDEOS, YOU HAVE TWO, AND I SEE YOU PLAY THE VIOLIN , I HAVE ONE I HAVEN'T LEARNED TO PLAY YET. JUST A COUPLE OF SUGGESTIONS, THANK YOU WILLIAM
@RachelDeBarrosLive
@RachelDeBarrosLive 6 місяців тому
Thanks so much for the suggestions! Yep - I have more coding videos coming - mostly Arduino and coding for robots/animatronics projects. I hope you pick up the violin soon!
@BariumCobaltNitrog3n
@BariumCobaltNitrog3n 4 місяці тому
No need to shout.
@rollyavecilla
@rollyavecilla 3 місяці тому
Thank you.
@AmosNistrian
@AmosNistrian 4 місяці тому
Good video. I think your next video should be interrupts based on serial read messages, like if that button was on a touch screen.
@mikefochtman7164
@mikefochtman7164 4 місяці тому
Just a small comment @16:14. In this case, you only use 'buttonState' within the ISR, so it could be left local to that and wouldn't need the keyword 'volitile'. The only time this variable is changing is the line with 'digitalRead(buttonPin)' and that's only called in the ISR. An example where you would want it declared outside the ISR and WITH the keyword 'volitile' would be if it's changed inside the ISR (via that call to 'digitalRead(buttonPin)') and then used OUTSIDE of the ISR, (perhaps in 'loop()'). The compiler has no way of 'knowing' when the ISR may be triggered to change 'buttonState' so in loop() it must check the value in memory each and every time.
@vinxmod793
@vinxmod793 4 місяці тому
Very Well Done Video
@uricohen5463
@uricohen5463 3 місяці тому
I looooove the way you explain
@RachelDeBarrosLive
@RachelDeBarrosLive 3 місяці тому
I have fun doing these and learn something new every time!
@valrach7303
@valrach7303 4 місяці тому
i am not a native english speaker.. i kind of have a hard time understanding various dialects..so, dear mam..THANK YOU!!! Its literally the first video I can understand 😭 I am missing out a lot in school due to mental health reasons and I try to relearn all the stuff so i wont fall behind
@user-cg7vx7pt1p
@user-cg7vx7pt1p 4 місяці тому
Linda e inteligente! Meu sonho de consumo!
@PeetHobby
@PeetHobby 3 місяці тому
Multitasking without interrupts can be achieved using a system tick and tasks that you call after a sustained number of system ticks.
@kiranvsutar5980
@kiranvsutar5980 4 місяці тому
Thanks for such an informative session. This video really helped me to take out the fear of using Interrupts. However, I have a question: If the Timer 0 interrupt is used....I should NOT be using delay or millis functions......but if I am using Timer 1 or Timer 2 .....can I use delay and/or millis in the loop function?
@edgarbonet1
@edgarbonet1 4 дні тому
Yes, you can.
@davidnichols7401
@davidnichols7401 Місяць тому
At 3:15 you asked if anyone had figured out how to do this without interrupts. Just build a state machine into the loop() code. Let's say you want to update the button every 50 mS. {20 times a second}. You have two tasks to accomplish (update the red LED and update the button), so loop() has to run every 25 mS. In setup(), add stored_millis = millis(); {along with all the other bits.}. Inside loop() write a while loop that reads the latest value of millis() and compares it to stored_millis(), If greater than 25 mS, break out of the while loop. Next, stored_millis = latest_millis; state_counter += 1; If state_counter is odd, call Update_Red() else call Update_Blue(). In Update_Red(): increment a variable red_counter. If red_counter == 10, {25*10 = 250mS}, change the state of the Red LED and reset red_counter to 0. In Update_Blue(), make the Blue LED state equal to the button state. easy peasy.
@edgarbonet1
@edgarbonet1 4 дні тому
Or just follow the “Blink Without Delay” Arduino tutorial.
@terrybest3036
@terrybest3036 3 місяці тому
Question: Is the interrupt routine being called twice each press since you used "change"? The pin is pulled up, then you press the button so it goes low and the interrupt gets called. When you release the button, is that also another change to high so it gets called again?
@lagossmartmeterhackathonte8928
@lagossmartmeterhackathonte8928 6 місяців тому
You are awesome
@spudnickuk
@spudnickuk 3 місяці тому
I have not long understood about using Millis instead of delay I have a question to ask If I have power to the Arduino And have a code programed installed Can I use a button to activate the code Meaning the code is dormant untill I press a button What I'm doing at the moment is have two LEDs blink via the Millis timing But it runs all the time so I have a button that is used as a circuit breaker and so when I press it it makes the leds connect But I would like to understand is there a way how to use a button to run the code to activate the LEDs only when the button is pressed
@bikkies
@bikkies 3 місяці тому
This is really excellent. I have recently decided to do something with the Uno I bought mumblety years ago, and the billion others (also Nanos, Pro Micros, Megas and more) that I've hoarded over the last month. My electronics knowledge is rudimentary at best and, though I started my IT career 40*mumblety years ago as a programmer, I was never much good at coding. That's why I moved towards support, networking and my beloved UNIX. It's time for me to get back into writing crap code again and this is the sort of video I need to help me do that. Now all I need to do is find out how to make my Arduinos speak COMAL or Pascal. No? No :( bah.
@cadillacescalade5428
@cadillacescalade5428 Місяць тому
Hi, Good Afternoon I am New to arduino and I am trying to put a sketch together by using a servo at 0 to 60 and use a IR sensor to activate it and also use a sound file or DF-Mini player for sound. Could you please help me with it ?
@home_Grown_studio
@home_Grown_studio 3 місяці тому
I did it with the LEDs flashing in binary with a string of code. I was attempting to create an effect similar as seen on Close Encounters of the Third Kind with Richard Dreyfuss . Most of you may not be familiar with the movie depending on your age. It was an attempt at communication with the Alien spaceship. I was not successful I could not recreate the sound frequency for each LED. as per the movie. I was having fun with LEDs, Relays, piezo speakers,
@ABaumstumpf
@ABaumstumpf 4 місяці тому
doing the digitalRead for the digitalWrite to toggle the state - yeah that works but... ok, fine. Just having a state-variable would be nice, or use the already existing state: the arduino already has to know what state the PIN is in cause that is used directly by the hardware. And you can also read that state directly. For these simple tutorials the cost of a single digitalRead is not much and can be ignored, but if you had say 10 LEDs and wanted to blink them to get a dimming-effect than the delay quickly adds up (I think it was 4us for a read - with 10 LEDs that would addup to 80us/cycle - wich ends up in the audio-range. So if anything else is connected that has some mechanical movement this would not be good.)
@saeidkamali9383
@saeidkamali9383 5 місяців тому
Thanks for this ,can you do a video on Arduino Switch Case statements ,thank you Barros.
@RachelDeBarrosLive
@RachelDeBarrosLive 4 місяці тому
Definitely! I had more requests for that same topic so I'll put it in rotation.
@generessler6282
@generessler6282 3 місяці тому
Very good. Great explanations. But this is different from any use of the term "software interrupt" I've ever seen. Normally that refers to a processor instruction that invokes the same state save protocol as a hardware interrupt a la the x86 INT instruction. It's e.g. used to invoke OS functions. Timer interrupts are hardware. It's just that the hardware is on-board rather than external.
@prakashbabar3647
@prakashbabar3647 5 місяців тому
Great video explanation was such that an idiot can understand. can you explain as I am using millis in one of project where I am using attiny84, and I want to make the current millis zero which I am not able do. also if I can use the interrupt for the same.
@liszcgsedt
@liszcgsedt 4 місяці тому
I am wondering, can in this (interrupts) instance the blue led stay HIGH, while the red one keeps blinking (that is as with a latching switch or a longer delay on the blue led)? In my specific case, I am thinking of a simple buzzer piano for my nephew. Overingeneering as usual, I got this idea of having a song or predefined beats playing from one buzzer, while being able to play tones on the other buzzer by pressing keys. Already binge-researching and I certainly will need to do some partia demos to try the concept first, but if anyone has an idea to save me some dead ends... OMG, on additional hough, I may actually replace the key buttons qwith piezo touch sensors and possibly add a small amp (which have a couple of) to add an audio jack output. I really need to define an MVP to start with. :D
@jackkylejr.1112
@jackkylejr.1112 4 місяці тому
I have two water level switches on a aquaculture food system. The top switch tells when the thank is full and the water pump should turn off. And the bottom switch tells when the tank is empty and the pump should turn on. But I don't know how to code for to hardware switches that are in concert with each other???? Can arduino do this??
How to Use Millis to Master Arduino Multi-tasking
50:17
Rachel De Barros
Переглядів 43 тис.
Pin Change Interruptions ISR | PCINT | Arduino101
14:19
Electronoobs
Переглядів 54 тис.
😨Новая Война в GTA 5 Online #shorts
00:40
King Dm
Переглядів 1,7 млн
How to use a Rotary Encoder with an Arduino - CODE EXPLAINED!
21:11
MoThunderz
Переглядів 28 тис.
Arduino Interrupts Tutorial
9:30
educ8s.tv
Переглядів 292 тис.
Arduino - Turn LED On and Off With Push Button
23:33
Robotics Back-End
Переглядів 104 тис.
How to use the Arduino map function Part 2
6:31
Circuit Crush
Переглядів 1,9 тис.
IR Remotes & Microcontrollers - Arduino & ESP32
1:31:50
DroneBot Workshop
Переглядів 143 тис.
Optimizing Arduino Code: no setup(), no loop() ⛔
9:27
Wokwi
Переглядів 189 тис.
Getting Started with PlatformIO
51:54
DroneBot Workshop
Переглядів 598 тис.
Arduino UNO Tutorial #3 - Servo Motor Project (Set Up)
11:16
Mr. Z
Переглядів 173 тис.
Arduino Tutorial #1 - Getting Started and Connected!
37:26
mjlorton
Переглядів 1,3 млн
How to Organize Code
14:37
Programming Electronics Academy
Переглядів 58 тис.
Apple Event - May 7
38:22
Apple
Переглядів 6 млн
Распаковал Xiaomi SU7
0:59
Wylsacom
Переглядів 2,7 млн
Клавиатура vs геймпад vs руль
0:47
Balance
Переглядів 966 тис.