Arguably one of the best thorough introductions to Arduino I have seen. I like the parts where you include "why use a microcontroller" and not a circuit for specific uses. With a computer science background it's hard to not always use a microcontroller, but many times it seems like it can be obsoleted.
As a developer and i already know these things, i love it. Scott you make great tutorials for people to understand the basics. The things you explain works for a lot of programming languages! keep it going man!
I don't understand why you are still under rated. Man, your things are high quality and quantity in term of info and demos. Thank you very much(it's not enough)
Can you continue this Arduino series? The way you present stuff is really interesting, fun and makes really easy to understand the stuff. PS great video.
Holy crap! After 1.5 years of java, and 4 months with arduino, i was pretty comfortable with basic arduino programming, but I've never heard of Attached Interrupts! Wasn't even gonna watch this video, but decided to anyways. I learn something in every video of yours. Thank you so much!
I used arduino uno before but now i am able to write small codes of my own . I love all your videos but arduino basic series is excellent. Keep it up and waiting for Arduino Basic 103 :-)
These have been some of the best and most informative videos I've found on Arduino "basics." In tandem with your electronics basics videos, I've been able to connect my previous knowledge of basic electrical circuits with the more nuanced languages of programming. Thank you so much!
GreatScott this is Great Stuff. I am new to Arduino (only a couple of days old) and your presentation makes it so EASY to understand. You don't get side tracked in your explanations and start running off with some complicated stuff. Love the way you use the "KISS" principal. I need it like that.
Mate, great arduino coding videos - looking forward to seeing 03! Not having done any formal "C" or other language coding whatsoever, you are helping to demystify this fundamental area of using Arduino based projects. Keep up the great work. Cheers from DownUnder.
i pretty much agree with everyone else : these videos are incredibly well made, and really bring across the content- obviously you nedd to get basic electronics in order to get them, but the way you explain the software end of things is really remarkeable - please continue this series, i could really see them becoming immensely popular if someone mentions them in the right reddit or so
Thanks for keeping a good pace !! Also, for touching on the more advanced. There is soooo much beginner stuff its difficult to find tips/tricks/unknowns which end up being necessary for completing real projects !! Yes go farther !! We are smart, we can keep up !!
I have just watched Arduino 101. I have been using Arduinos for many years, love the platform. So as I watched your 101 video, I was surprised to find out something I did not know. Danke Schön (It was the value or, and how to use the internal pull up resistor) Now on to 102
Thank you SOO much for those tutorials ! I personally have started coding on Arduino about 6 months ago for a study project : a PID-controlled drone arm with a brushless motor and an accelerometer. If only I had those videos before, it would have been much easier... But now it works, and I learnt the hard way, which is, to my taste, more rewarding, but much slower... Anyways, thanks again, and I can't wait to see the future episodes !
I have been using Arduino's for quite a long time, and I have to say I absolutely love them, you don't have learn C in the first place you can get along with Arduino just fine you might have some problem with concepts but with it will never be complicated, with Arduino you'll start off with making programmed electronics project and I think this way is actually really good of developing knowledge of electronics and programming at the same time, it covers both domains. Also I think as you will learn more you'll see actual programming languages like python, C++, Arduino C and java generally consist of 1) Variables and advance Variables 2)Control structures 3)Interrupts they can contain a lot of things of could vary but they all consist of these at least, what makes you a good programmer isn't learning the concepts but to be able to develop concepts, as you'll advance through the journey from intermediate to advance you'll see now you have to learn programming techniques and algorithms, you'll start off with making few simple to intermediate level techniques after some time you'll realize what algorithm and techniques are all about and at that point you might be able to step into the further most step and that is probably expertise in this level you'll apply your knowledge in real world technology and developing algorithms, techniques for robots or anything to function. At that point you'll have such good knowledge of coding and concepts that it will be just like a language you speak or like basic maths, your focus will be more on actual functionality of the things, coding will be just like translating the entire expression to machine that's all, It can get tedious, programming hundreds and thousands of code will get you exhausted, but hey that will just fade away just in half and hour or couple hours and you'll love it after you'll return. At that point you might be interest in exploring a little bit more in this field and understanding not just algorithms and stuff but a lot more than that, with being good in robotics you can get better by combining your knowledge with learning new things like networking, webpage communication, TELNET shell commands, and trust me robotics and electronics is branch that covers literally all domains of technology like A.I, Machine learning, physics, Math's, Computer Science, programming, mechanics, electronics, electricals(sort of), Network and communication, chemistry, philosophy, Bionics, data science, data analysis, database management, application development, Nano technology. Although in the term robotics you can literally cover these all things as it incorporates use of everything but keep in mind that robotics is still isn't advanced as living physical biology and despite the fact they have their pros and cons, you may see all those domains as more like aspect or additionality to robotics however robotics in real world at least covers domains like, physics, Maths, CS, programming, mechanics and electronics as basic requirements. Those aspects range so much that they have their own separate fields and are separate subjects. I believe pursuing career in robotics will be more beneficial cuz you'll be exposed to many aspects and fields at once and how they interact with each other, having good foundation through those you'll be able to switch between careers in science and technology pretty easily such as if you're robotic programmer than you can be software engineer or application developer etc I don't say what I say is hundred percent accurate but I am just giving general idea. I hope if any beginner or someone who's interested in tech will find this helpful.
Awesome videos! I like that you keep tutorials very beginner friendly; even explaining operators and array indexes as you go along, in a thorough yet quick and simple way. Very efficient and enjoyable videos.
Very Nice tutorial for beginners. Your putting much effort get the episode consistently with great content. And While statement is just a fancy for loop.
I'd like at least three more in this series. The one you mentioned, one as an introduction to sensors and working with sensor data and a last one, which discusses when to use an arduino or when to use alternatives. For example, I wanted a device to water my plants every 24 hours so I made a prototype with Arduino only to consider that the Arduino is too OP for such a simple function. Another project was to have a dimming LED strip light up over a settable time span at settable times. Again, Arduino prototype, end result: alarm clock + LED controller, without an Arduino. In the end, that last approach was soo much better than the Arduino, since it already included configuration components that I'd have to build from scratch on the Arduino.
Make sure to cover bit masking, direct port manipulation, bit shifting, pointers and stuff! These are advanced things that are hard to learn about without taking an embedded class!
I really am appreciating this series! Thank you so much for making this series and giving me more things to learn about! I am a complete and utter noob at programming with arduino. Hopefully, you will progressively get to more complicated things in the world of coding and I will be able to learn from it! Keep up your good work.
I love your arduino videos, they're so helpful if I don't remember how to do something. If you could add a menu at the beggining in the form of clickable annotations, that'd be awesome !
Great videos' as always. I built your FM radio project for my grandson and he really likes it. I have been trying to add an EEPROM read and update function to this project to remember the last frequency selected (with a 5 min timed cycle). So that when the radio is switched on again it would use this frequency instead of the one pre-programed in the sketch. Thanks
hi! as you i am engineer, but in telecommunication i enjoy your videos. you has nice ideas and curious experiment, i hope so can study a master in Germany some day :)
#icantprogramforshit SO - I will be referring to this pretty much every time I build with an Arduino, just like I've referred to many of your other videos, among other resources. The pace is quick, but you're quite concise and I almost always learn something so rewatching to pause and soak it all in is not the problem for me. Thanks!
GreatScott! my phone must be really wrong then! I have only been able to see your videos after 7:00 😂😂 now I know it is 5:00 I will look out for your videos at an earlier time 😂
Also true. ALSO. However, as GreatScott postulates in the video, the pin numbers in the array are values. The variable would actually be the "Id" of the value.
www.rebol.com/docs/core23/rebolcore-3.html#section-5 5. Variables Words can be used as variables that refer to values. To define a word as a variable, follow the word with a colon (:), then the value to which the variable refers as shown in the following examples:. age: 22 snack-time: 12:32 birthday: 20-Mar-1997 friends: ["John" "Paula" "Georgia"] A variable can refer to any type of value, including functions (see Functions) and objects (see Objects). A variable refers to a specific value only within a defined context, such as a block, a function, or an entire program. Outside that context the variable can refer to some other value or to no value at all. The context of a variable can span an entire program or it can be restricted to a particular block, function, or object. In other languages, the context of a variable is often referred to as the scope of a variable.... re-bol.com/rebol_quick_start.html cut------ REBOL [title: "Paint"] ; draw with the mouse, save created images view layout [ s: area 500x400 white feel [ engage: func [f a e] [ if a = 'over [append s/effect/draw e/offset show s] if a = 'up [append s/effect/draw 'line] ] ] effect [draw [line]] btn "Clear" [s/effect/draw: copy [line] show s] btn "Save" [save/png request-file/only/file %myimage.png to-image s] ] cut-------
at 4:31 you describe how within the [ ] the values start at 0 for the first pin, where 2 would equal 3 pins, but in your code you have pin [3]. Would this not be a fourth pin? Got me confused.
variables that are changed within interrupt routines need to be declared as 'volatile'. I noticed in your blinking led example, the variable ledstate was not declared that way, so you got lucky it worked.
I tells the compiler to always fetch the current value of the variable from the assigned memory location. Without it, the compiler can sometimes optimize variable values in registers and re-use the register value. This speeds up code but can cause the wrong value to be used when variables are changed in interrupts. A good example would be a variable in a for loop. The compiler is free to load the initial value in some register and then continue to increment the register and then finally write the value back to the real memory location at the completion of the loop. If the loop variable got changed in an interrupt, the for loop would never know it.
Arduino is nice, but how about comparing it to other uCs on the market? Benefits, pros/cons, and when you should consider one or another for a particular application type?
you have just made my f'ing day! that && is EXACTLY what I wasn't sure it could do.. I was nesting if (true) { if (true) { blah } else { blah2} } That && works the same way I'm used to working in powershell and this is exactly what I need. i think you just cut my code in half!
At 3:43 you have defined i as integer but later define it as 0 in the setup function. Could you have just defined it all at once by using int i = 0; or would that has resulted in a different outcome? What is the advantage of defining it in the setup function, or is it just good practice to make it look presentable for the video? I wasn't aware of the interrupts before, very interesting!
I think this is just lesson for common sense. Battery + heat from soldering iron = very bad combination. Spot welding is much safer option for batteries, but not an option for most people. My recommendation is, if you have soldering iron that allows you to change temperature, set it as low as possible to melt the solder, and apply the iron as little time as possible. And wear safety gear. Protective glasses and gloves. Fire blanket or similar is also mandatory.
TV Hamster 😃 You gotta be quick and anyway it's a bodge job soldering low power battery terminals and the iron heat reduces battery life. Best getting battery holders with terminal contacts.
Good video. Thanks. However, you did not explain “Why” one would define the int as a const. What purposes did that serve. Why would someone want to use “const”, and under which conditions is this preferred instead of just using a global int? If you could explain this, it would be appreciated. Thanks.
So I can program my Arduino using C++, or is it a different language? Also, do programs written for the Arduino have access to heap space, or is everything strictly off of the stack (I don't know a lot about microcontroller memory, "heap" and "stack" could be completely irrelevant for microcontroller programming)?
Heap and stacks are commonly used words when talking about microcontrollers. The language used to program microcontrollers is a modification of C++, the syntax is almost the same. You can have access to various low level instructions, but you could also make very complex programs, without knowing anything about low level programming / memory management. I personally don't really know these things, since I mainly use Java.
Do you have a video including an off line SMS message? I’m starting a house project and don’t want to use WiFi or Bluetooth instead an SMS that will work offline or online.
I already use Arduino's in various projects. I know i don't know it all, and watching videos like this show me I don't. So thank you for this. :) I enjoy your projects and look forward to part 3. :)
Great Scott. I'm a big fan of your work. just wanted to know what oscilloscope do you use? and can you do a video on oscilloscopes and their different types.
It's great, would you plz guide me to build one project with 8 pushbutton & 8 leds instead of 3, with latched function!! If any one of those button is pressed the led assigned with it will glow in latched state till the button pressed again. While the led is glowing then any other switch will be inert,will you plz guide me Sir?
Arguably one of the best thorough introductions to Arduino I have seen. I like the parts where you include "why use a microcontroller" and not a circuit for specific uses. With a computer science background it's hard to not always use a microcontroller, but many times it seems like it can be obsoleted.
I am glad you liked it. Looking forward to your next projects ;-)
well said. but, "obsoleted"?, you mean overkill, huh? xD... (btw, love martina's mythical purple hair)
As a developer and i already know these things, i love it. Scott you make great tutorials for people to understand the basics. The things you explain works for a lot of programming languages! keep it going man!
I learned more about reading and writing arduino programs in 7:37 than I have from hours of watching other tutorials. Thank you!!!
I don't understand why you are still under rated. Man, your things are high quality and quantity in term of info and demos. Thank you very much(it's not enough)
Can you continue this Arduino series? The way you present stuff is really interesting, fun and makes really easy to understand the stuff. PS great video.
It will continue if there are enough people who watch it.
There are! please keep them up
Yes there are and will be, just please keep the great work.
Gautam Passi agree 👌👌
yeah pls its rly nice to watch
Holy crap! After 1.5 years of java, and 4 months with arduino, i was pretty comfortable with basic arduino programming, but I've never heard of Attached Interrupts! Wasn't even gonna watch this video, but decided to anyways. I learn something in every video of yours. Thank you so much!
I used arduino uno before but now i am able to write small codes of my own . I love all your videos but arduino basic series is excellent. Keep it up and waiting for Arduino Basic 103 :-)
Continue Arduino series !!! :))) You explain things better than anyone else that I know or than I saw on youtube :) Big thumbs up !
The way you explain things is Great after folowing your channel for almost 1 year i learned a lot please keep uploading videos
Thanks for the feedback :-) I will try to keep it up
Nice !
These have been some of the best and most informative videos I've found on Arduino "basics." In tandem with your electronics basics videos, I've been able to connect my previous knowledge of basic electrical circuits with the more nuanced languages of programming. Thank you so much!
GreatScott this is Great Stuff. I am new to Arduino (only a couple of days old) and your presentation makes it so EASY to understand. You don't get side tracked in your explanations and start running off with some complicated stuff. Love the way you use the "KISS" principal. I need it like that.
Mate, great arduino coding videos - looking forward to seeing 03! Not having done any formal "C" or other language coding whatsoever, you are helping to demystify this fundamental area of using Arduino based projects. Keep up the great work. Cheers from DownUnder.
Fantastic! Somehow, despite having been playing around with Arduinos for years, I've never encountered interrupts! Great information, GreatScott
will be anticipating arduino 103. Keep up the good work
i pretty much agree with everyone else : these videos are incredibly well made, and really bring across the content- obviously you nedd to get basic electronics in order to get them, but the way you explain the software end of things is really remarkeable - please continue this series, i could really see them becoming immensely popular if someone mentions them in the right reddit or so
Lots of information packed into a single video, excellent learning resource. As always, keep up the good work :)
I think this is the only diy electronics channel which is this awesome
wow. hands down best electronic tutoriols on youtube.
proud of you buddy.
grüße aus frankfurt
Thanks for keeping a good pace !! Also, for touching on the more advanced. There is soooo much beginner stuff its difficult to find tips/tricks/unknowns which end up being necessary for completing real projects !! Yes go farther !! We are smart, we can keep up !!
I have just watched Arduino 101.
I have been using Arduinos for many years, love the platform.
So as I watched your 101 video, I was surprised to find out something I did not know.
Danke Schön
(It was the value or, and how to use the internal pull up resistor)
Now on to 102
Thank you SOO much for those tutorials ! I personally have started coding on Arduino about 6 months ago for a study project : a PID-controlled drone arm with a brushless motor and an accelerometer. If only I had those videos before, it would have been much easier... But now it works, and I learnt the hard way, which is, to my taste, more rewarding, but much slower...
Anyways, thanks again, and I can't wait to see the future episodes !
I have been using Arduino's for quite a long time, and I have to say I absolutely love them, you don't have learn C in the first place you can get along with Arduino just fine you might have some problem with concepts but with it will never be complicated, with Arduino you'll start off with making programmed electronics project and I think this way is actually really good of developing knowledge of electronics and programming at the same time, it covers both domains. Also I think as you will learn more you'll see actual programming languages like python, C++, Arduino C and java generally consist of
1) Variables and advance Variables
2)Control structures
3)Interrupts
they can contain a lot of things of could vary but they all consist of these at least, what makes you a good programmer isn't learning the concepts but to be able to develop concepts, as you'll advance through the journey from intermediate to advance you'll see now you have to learn programming techniques and algorithms, you'll start off with making few simple to intermediate level techniques after some time you'll realize what algorithm and techniques are all about and at that point you might be able to step into the further most step and that is probably expertise in this level you'll apply your knowledge in real world technology and developing algorithms, techniques for robots or anything to function. At that point you'll have such good knowledge of coding and concepts that it will be just like a language you speak or like basic maths, your focus will be more on actual functionality of the things, coding will be just like translating the entire expression to machine that's all, It can get tedious, programming hundreds and thousands of code will get you exhausted, but hey that will just fade away just in half and hour or couple hours and you'll love it after you'll return. At that point you might be interest in exploring a little bit more in this field and understanding not just algorithms and stuff but a lot more than that, with being good in robotics you can get better by combining your knowledge with learning new things like networking, webpage communication, TELNET shell commands, and trust me robotics and electronics is branch that covers literally all domains of technology like
A.I, Machine learning, physics, Math's, Computer Science, programming, mechanics, electronics, electricals(sort of),
Network and communication, chemistry, philosophy, Bionics, data science, data analysis, database management, application development, Nano technology. Although in the term robotics you can literally cover these all things as it incorporates use of everything but keep in mind that robotics is still isn't advanced as living physical biology and despite the fact they have their pros and cons, you may see all those domains as more like aspect or additionality to robotics however robotics in real world at least covers domains like, physics, Maths, CS, programming, mechanics and electronics as basic requirements. Those aspects range so much that they have their own separate fields and are separate subjects. I believe pursuing career in robotics will be more beneficial cuz you'll be exposed to many aspects and fields at once and how they interact with each other, having good foundation through those you'll be able to switch between careers in science and technology pretty easily such as if you're robotic programmer than you can be software engineer or application developer etc
I don't say what I say is hundred percent accurate but I am just giving general idea. I hope if any beginner or someone who's interested in tech will find this helpful.
I liked how you kept drilling in until a controller was required...Liked!
I ordered my Arduino. Now I can't wait to get it so I can follow these tutorials.
Awesome videos! I like that you keep tutorials very beginner friendly; even explaining operators and array indexes as you go along, in a thorough yet quick and simple way. Very efficient and enjoyable videos.
Knows all the stuff. Still watches the video, because Scott is awesome.
0:57 - it supposed to be "less than or equal TO" and "greater than or equal TO"
Nonetheless; very good job and thanks for another episode!
This was very helpful. Please consider making a whole series of videos like this.
Very Nice tutorial for beginners. Your putting much effort get the episode consistently with great content. And While statement is just a fancy for loop.
That was a very concise explanation of interrupts.
I'd like at least three more in this series. The one you mentioned, one as an introduction to sensors and working with sensor data and a last one, which discusses when to use an arduino or when to use alternatives.
For example, I wanted a device to water my plants every 24 hours so I made a prototype with Arduino only to consider that the Arduino is too OP for such a simple function. Another project was to have a dimming LED strip light up over a settable time span at settable times. Again, Arduino prototype, end result: alarm clock + LED controller, without an Arduino. In the end, that last approach was soo much better than the Arduino, since it already included configuration components that I'd have to build from scratch on the Arduino.
As usual, your explanation is great! However, I did find it a bit fast to for just learning this subject. Keep up the great work
Make sure to cover bit masking, direct port manipulation, bit shifting, pointers and stuff! These are advanced things that are hard to learn about without taking an embedded class!
i love this type of video,
my teacher did not teach me quiet well.
I really am appreciating this series! Thank you so much for making this series and giving me more things to learn about! I am a complete and utter noob at programming with arduino. Hopefully, you will progressively get to more complicated things in the world of coding and I will be able to learn from it! Keep up your good work.
I already bought myself an Arduino to play around with it and it's great. :)
Your voice , information & you are great
C++ Programing Basics with GreatScott , good one mate!
I love your arduino videos, they're so helpful if I don't remember how to do something. If you could add a menu at the beggining in the form of clickable annotations, that'd be awesome !
Loving these Scott! Lots of great tips, keep em coming, they're valuable to people learning arduino such as myself :D
Scott, this was the best video about this content I have seen!!! Thanks!
This series is really good, I'm learning a lot with it, thank you ! I love your channel!
I really would like to see more arduino basics!!
Great videos' as always. I built your FM radio project for my grandson and he really likes it. I have been trying to add an EEPROM read and update function to this project to remember the last frequency selected (with a 5 min timed cycle). So that when the radio is switched on again it would use this frequency instead of the one pre-programed in the sketch. Thanks
Awesome video! It would be amazing if you can explain the different ways you can damage an Arduino in order to prevent it ;)
Sounds like an interesting video ;-)
That's the sort of stuff ElectroBoom would do!
Great Scott!! I have no clue what you are doing but it sure is fascinating!!
If you're keeping pin numbers in an array,
1: use an enum to name the index values
2: use `for( auto p : pins)` to get the pin values
Thank for the video . It would have been nice if you showed the full program. Where did you declare "m"
great Video :-) I had C Basics last year but you can bring all easy to a nutshell! How to set up a Interrupt at a Arduino is very intresting
hi! as you i am engineer, but in telecommunication i enjoy your videos. you has nice ideas and curious experiment, i hope so can study a master in Germany some day :)
Bien explicado el video, saludos
This video explained me alot of things about arduino! Awesome video! I'm already waiting for the next part! :)
Great video!
You should definintely continue this series
Great video! Please continue this series, I love it
#icantprogramforshit SO - I will be referring to this pretty much every time I build with an Arduino, just like I've referred to many of your other videos, among other resources. The pace is quick, but you're quite concise and I almost always learn something so rewatching to pause and soak it all in is not the problem for me. Thanks!
really enjoyed your video's was hoping there was an arduino basics 103. wish you would of continued this!
something is very wrong
German posting outside his schedule. everyone scream
It is Sunday. It is 5 pm. It is my upload time. I would never mess with my schedule ;-)
GreatScott! my phone must be really wrong then! I have only been able to see your videos after 7:00 😂😂 now I know it is 5:00 I will look out for your videos at an earlier time 😂
Seba Beattie they didn't set the clocks in Germany to daylight saving time yet. Maybe that's the problem :)
Merci!
Thank you for the support :-)
great tutorial ... great job greatscott...
first video that made sense to me , Its very similar to C++
Still learned a lot, well presented and executed
4:25 The array holds values, not variables.
Array is actually a pointer to multiple variables, so it is not false to say it holds variables :D
Also true. ALSO.
However, as GreatScott postulates in the video, the pin numbers in the array are values. The variable would actually be the "Id" of the value.
Agreed
www.rebol.com/docs/core23/rebolcore-3.html#section-5
5. Variables
Words can be used as variables that refer to values. To define a word as a variable, follow the word with a colon (:), then the value to which the variable refers as shown in the following examples:.
age: 22
snack-time: 12:32
birthday: 20-Mar-1997
friends: ["John" "Paula" "Georgia"]
A variable can refer to any type of value, including functions (see Functions) and objects (see Objects).
A variable refers to a specific value only within a defined context, such as a block, a function, or an entire program. Outside that context the variable can refer to some other value or to no value at all. The context of a variable can span an entire program or it can be restricted to a particular block, function, or object. In other languages, the context of a variable is often referred to as the scope of a variable....
re-bol.com/rebol_quick_start.html
cut------
REBOL [title: "Paint"] ; draw with the mouse, save created images
view layout [
s: area 500x400 white feel [
engage: func [f a e] [
if a = 'over [append s/effect/draw e/offset show s]
if a = 'up [append s/effect/draw 'line]
]
] effect [draw [line]]
btn "Clear" [s/effect/draw: copy [line] show s]
btn "Save" [save/png request-file/only/file %myimage.png to-image s]
]
cut-------
An predefined object that holds other predefined objects that hold values.
I prefer to use int8, int16, int32, int64, uint8, uint16 and so on. This makes the Type much clearer.
at 4:31 you describe how within the [ ] the values start at 0 for the first pin, where 2 would equal 3 pins, but in your code you have pin [3]. Would this not be a fourth pin? Got me confused.
Always learn something new. Great video series!
I seriously wish I had the patience to learn this. I have allot of ideas but not clue when it comes to programming.
great video, makes me want to start playing around with my ardunio uno again, keep up the good work.
Great video, Great Scott.
wow! its much easier than I thought! thanks scott!
Love your videos!
Please make an advance arduino video series
Excellent video. Thank you.
Looking forward to Arduino Basics 103.
variables that are changed within interrupt routines need to be declared as 'volatile'. I noticed in your blinking led example, the variable ledstate was not declared that way, so you got lucky it worked.
What does that do?
I tells the compiler to always fetch the current value of the variable from the assigned memory location. Without it, the compiler can sometimes optimize variable values in registers and re-use the register value. This speeds up code but can cause the wrong value to be used when variables are changed in interrupts. A good example would be a variable in a for loop. The compiler is free to load the initial value in some register and then continue to increment the register and then finally write the value back to the real memory location at the completion of the loop. If the loop variable got changed in an interrupt, the for loop would never know it.
Great Voice u have... and knowledge also...
Arduino is nice, but how about comparing it to other uCs on the market? Benefits, pros/cons, and when you should consider one or another for a particular application type?
you have just made my f'ing day! that && is EXACTLY what I wasn't sure it could do.. I was nesting if (true) { if (true) { blah } else { blah2} } That && works the same way I'm used to working in powershell and this is exactly what I need. i think you just cut my code in half!
At 3:43 you have defined i as integer but later define it as 0 in the setup function. Could you have just defined it all at once by using int i = 0; or would that has resulted in a different outcome? What is the advantage of defining it in the setup function, or is it just good practice to make it look presentable for the video?
I wasn't aware of the interrupts before, very interesting!
The outcome should be the same. I am just used to define them in the setup section.
This is a really useful video.
Does the Arduino handle overflows by itself or will you have to add code to deal with errors like it.
Well, I finally understand fully 1 of your videos (because I do programing a lot)
love your handwriting! :D
can you do a guide on soldering? because when i tried to solder some cables i accidentally exploded a battery 😞
I think this is just lesson for common sense. Battery + heat from soldering iron = very bad combination.
Spot welding is much safer option for batteries, but not an option for most people. My recommendation is, if you have soldering iron that allows you to change temperature, set it as low as possible to melt the solder, and apply the iron as little time as possible.
And wear safety gear. Protective glasses and gloves. Fire blanket or similar is also mandatory.
TV Hamster 😃
You gotta be quick and anyway it's a bodge job soldering low power battery terminals and the iron heat reduces battery life. Best getting battery holders with terminal contacts.
Thank you for amazing information about Arduino programming 👍
you are a legend bro, keep up the hard work!!
Great work,
I already knew that but i enjoy watching your videos 😊
Waiting for your next video 😄
NEED MORE VIDEOSSSS.
But really, love your videos =D
Very helpful for learning about the arduino.
Great video for beginners :D
I did not know about the attachInterrupt function. thanks!!!
Great Video, would love to see Arduino Basics 103.
Good video. Thanks. However, you did not explain “Why” one would define the int as a const. What purposes did that serve. Why would someone want to use “const”, and under which conditions is this preferred instead of just using a global int? If you could explain this, it would be appreciated. Thanks.
So I can program my Arduino using C++, or is it a different language? Also, do programs written for the Arduino have access to heap space, or is everything strictly off of the stack (I don't know a lot about microcontroller memory, "heap" and "stack" could be completely irrelevant for microcontroller programming)?
Heap and stacks are commonly used words when talking about microcontrollers. The language used to program microcontrollers is a modification of C++, the syntax is almost the same. You can have access to various low level instructions, but you could also make very complex programs, without knowing anything about low level programming / memory management. I personally don't really know these things, since I mainly use Java.
You can program the atmega with straight C or the Arduino "language" which is a platform of C++
Thanks for yet another great video, This helps alot.
Is it possible to make millis function in separate tab and use millis single line command like delay? For make code more simpler
Do you have a video including an off line SMS message? I’m starting a house project and don’t want to use WiFi or Bluetooth instead an SMS that will work offline or online.
After the interrupt function completes, how does the program continue? Where it left off or restarts the loop function?
after the interrupt the programm continues where it left. For example in the middle of a loop
I already use Arduino's in various projects.
I know i don't know it all, and watching videos like this show me I don't. So thank you for this. :)
I enjoy your projects and look forward to part 3. :)
maybe a video on ferrite beads? when and were and how to use them ? also maybe video on EMI circuits for 5v ?
Great Scott. I'm a big fan of your work.
just wanted to know what oscilloscope do you use?
and can you do a video on oscilloscopes and their different types.
I really wish these were around when I learned arduino.
Great Scott video
Mein Herz geht auf :D
It's great, would you plz guide me to build one project with 8 pushbutton & 8 leds instead of 3, with latched function!! If any one of those button is pressed the led assigned with it will glow in latched state till the button pressed again. While the led is glowing then any other switch will be inert,will you plz guide me Sir?
Well presented. Keep on with tutorials.