Most arduino tutorials go from basics, like turn off/on a pin, flash a LED etc. and by tutorial 10 you're talking fancy talk like using for loops and so on. With Great Scott though, the complexity is exponential. At this rate tutorial 5 will have us manipulating the universal gravity constant through software.
Agreed. He went from 101, to 102, (undergraduate classes) to class 506 (doctorate class). I pride myself in being able to at least follow Great Scott in most of his videos, even if I couldn't necessarily repeat what he said... but in this case, let's just say if he comes out with a 104 class I'm going to pretend i didn't see it! LOL
Although this vid is rather old, I enjoyed watching it. I recently spent a lot of time finding this out on myself and experimenting with it. This knowledge is especially usefull when trying to play 8bit sound samples by utilizing the PWM pins and using the ADC respectively. Because you need to switch on Fast PWM and setup the prescaler correctly, this video is a nice introduction for this scenario. Great, Scott!
Gamerdu45 if you like to know this stuff, which I presume you do since we are here, don't quit. Electronics seems hard at the beginning but it gets pretty simple once u understand some concepts. I've studied 3 years as eletronical technician (dont know how to name it in english), now heading to second semester in electronic engineering and I was lost too in the first weeks :)
There was a time that I did not know any off it. It takes time to learn but if you keep chipping away you'll get there. I'm no mastermind, just someone who, like you, wanted to learn. Maybe just start with basic logic operators and binary. Once you understand that you'll then will see that all he was doing was flipping some bits on and off. Good luck and above all, have fun learning. :) The buzz you get when the penny drops is awesome.
An excellent video. You did cram a lot into 8.22 seconds but it was ALL gold. Other viewers, who found this challenging, might like to view the video again; this time pressing pause at the end of each topic and go back until you have a feel for what Scott is telling you. The message to be taken from this presentation is that; while the Arduino IDE/"language" does make things seem a lot simpler, it does so by hiding a lot of code in the background. This is fine for flashing LEDs but a lot of the MCU's awesome power is being hidden from you to. When one comes upon applications that need to control, or interface with, many peripherals, one will find the limitations imposed on you by the IDE, limit the applications one can tackle. Well done, Scott, for dipping your toe into the murky world of AVR programming. Be brave, your subscribers will soon realise that it is just new, not "too difficult" and will be so grateful to you for that lesson.
It is not surprising that many of those who commented (Marwan Nasr El Din) didn't 'understand anything because 'Great Scott' used an approach that confused rather than clarified how one can manipulate bits in a status register to achieve a goal. Sorry to be so lengthy, hopefully you don't reply TLDR! The code to set a 'prescaler' value in 'ADCSRA' was NOT clearly described instead a supposedly 'clever' bit manipulation statement: "byte PS_16 = (1
There is two kind of people that watch this video. The ones who want to learn this and, the ones who already know the topic and they just feeling good about that they are able to understand :)
4:03 - B stands for BINARY, not byte... like 0x for hex. It's not type definition just way to write numbers. Also you showing pin mapping which isn't very intuitive, better search for arduino board pins like: www.pighixxx.com/test/wp-content/uploads/2014/11/nano.png Edit2: Small list of Arduino pinouts: Nano: www.pighixxx.com/test/wp-content/uploads/2014/11/nano.png Pro mini: www.pighixxx.com/test/wp-content/uploads/2016/07/promini_final.png Pro micro: www.pighixxx.com/test/wp-content/uploads/2016/07/pro_micro_pinout_v1_0_blue.png Micro: 1.bp.blogspot.com/-ptZ4z1b9w20/VPW1E4ohsUI/AAAAAAAARVo/XZ3NqZ7JEP0/s1600/micro.png Leonardo: s-media-cache-ak0.pinimg.com/originals/00/55/d7/0055d75021113a0a0894feb2c4ade2ee.png Due: www.robgray.com/temp/Due-pinout-WEB.png Uno: s-media-cache-ak0.pinimg.com/originals/86/cd/1e/86cd1e943052227a9ebcf2d534beea6d.jpg Mega: s-media-cache-ak0.pinimg.com/originals/d7/c0/33/d7c0337674f0dd43bdb36484b5cabc46.png ESP8266: www.iot-experiments.com/content/images/2016/02/ESP_Pinout_01_big.png Bare uC: Atmega168/328: s-media-cache-ak0.pinimg.com/originals/4d/cb/20/4dcb20f436d46eae0fafcc03293b4fe6.png Atmega32u4: www.14core.com/wp-content/uploads/2015/06/atmel-atmega32u4-pinout-diagram.png Attiny: s-media-cache-ak0.pinimg.com/originals/0b/96/90/0b969089aad15d9b61f8ab0bf5b7f145.png Edit: More pinout maps: www.pighixxx.com/test/pinoutspg/boards/
Sorry, you're wrong there. The B means the following binary number can not exceed 8 bits in length. Binary would be 0b. Go on, try putting in 9 bits, you'll get shouted at! (And now 30 people think wrongly :( )
I am, the capital B denotes a byte whereas typing 0b tells the compiler the following number has been written in binary. You can think of it as a data type, but it's really just a way of telling the compiler what follows is a byte. The person above is wrong, a capital B is a common way of showing bytes (hence why ISPs always use Mb/s instead of MB/s to make it sound faster). (oh, and we're up to 52 :( )
It's interesting how you say that you are lazy and then you explain parts of atmega datasheet. Lazy for littles datasheet but ready for Atmega datasheet, like wtf haha :D
***** Who has the patience to read the entire datasheet for less than a 6 figure salary? Would you do it for the wonderful TH-cam comments and around $200 that you get paid over 6 months to a year? ... while working at a full time job? Subjecting yourself to YT comments is like working in the customer service industry. You just do your job for a paycheck while a crowd of ignorant imbeciles feels like they have a right to treat you like a verbal punching bag.
***** I understand what you mean. When I learned to paint cars it took me forever to wrap my head around estimating time. I finally learned to make an honest assessment of the work, then quadruple it, and I would be right on the money. It's important to learn from both the internal mindset, and for communication with a customer. After being partially disabled, I picked up electronics. Learning those important bits to look for seems quite the challenge without buying a $30k to $50k, 4 year, guided reading program, but I'm probably just slow. I think it takes the right mindset and patience to isolate the necessary details. Sometimes it seems 'lazy' is the person unwilling to get up off the couch, other times it's the person that hasn't read the entirety of "The Art of Electronics." We're all wondering along different parts of the path to understanding this stuff.
Love this video. Thank you so much for posting and keep them coming. Love watching all your project videos and tutorials. Really helps me come up with ideas for my own personal projects.
Long story short from above convo. BXXXXXXXX will only work with Arduino IDE. Reason is, the actual syntax of XXXXXXXb isn't supported by all Arduino systems, and you can't use a marco that starts with a number in your #define
That's pretty much what I remembered, but on checking (with a compiler), XXXXb is not valid syntax (it is valid MASM/TASM syntax, which I think is where I was remembering it from). 0bXXXX is the correct C syntax for this. test.c: In function 'main': test.c:5:29: error: invalid suffix "b" on integer constant printf("int = %d ", (int) 0001b );
Please create a playlists of Arduino tutorial. I love your tutorial. I have completed the basic electronics series. But unable to find Arduino tutorial playlist. Thank you.
If you talk about PORTxn registers, why not explaining PINxn an DDRxn too? Also, you can explain the T/C settings/functions/registers a little deeper. Like how to use Output Compare(s) and setup timer ISRs, etc...
My project requires 16 or more leds, for a runway chaser sequence with a very small footprint. I'm trying to simulate runway lights on a small aircraft carrier. Maybe three or four leds, the first one at 100%, second at 75%, third @ 50%, and fourth @25% chasing from left to right in a repeating pattern. As soon as the four leds reach midpoint in the travel direction, another set of four leds follows from the start position, so you will have two sets chasing from left to right, and so on. When the first set reaches the end, it starts over again from the beginning, same with the second set. I have looked all over the web and have had nothing that fits all the criteria. Doing it on an UNO will not work as there just isn't enough room in the model for the large board. 555 timers with a shift register won't work as most don't have a way to make the fading effect. Can you help me with a solution? Thank you.
Really great video again! I study Applied Informatics in Germany atm (thats why im already familiar with bitmanipulation etc.) and got my first Arduino when I was 14, but never actually thought increasing the performance through bitmanipulation. Man lernt nie aus :)
Scott. Thanks for doing all this and helping us. It is a bit. Too fast for me though and some of the things you appear to edit out maybe useful after all? It is impossible to get the pace right for everyone, but if you go a bit slower, the bright folk can always increase the speed.
when i learned this things in my engineering class i only concentrate just because of my electronics teacher is hot , this time my mind start boiling but great video great Scott
At 5:10 is the "11" printed by the serial monitor base 10 or base 2? B00000011 = 0x03 = 3 in decimal, if I'm understanding all of this correctly. Of course this is my first foray into port manipulation so it's entirely possible that I'm confused for some other reason. Nevertheless, it reminds me of the old joke that there's 10 kinds of people in this world: those who understand binary and those who don't.
Great guide, but as I study Embedded Systems I totally get that people never having used bit math or bit masking have no clue what the video is about. I'd definitely like to see if there is even more in depth stuff to learn!
thanks for the video. i am a beginner. i have a question; can we exactly choose the PWM signal frequency in arduino? I am trying to drive a MOSFET in a converter which is controlled by switching frequency not duty cycle so the frequncy of the PWM is important for me. I appreciate you help :)
Very Nice Explanation... Great Scott, Great Job! Btw: The 'B' in B11110000 stands for 'Binary ' not 'Byte'. Like '0x' in Hexadecimal, eg: 0xF7 See: www.arduino.cc/en/Reference.IntegerConstants
WARNING: It's not in standard C, but GCC supports it as an extension, prefixed by 0b or 0B ( stackoverflow: Why doesn't C have binary literals? ) and did you notice IN YOUR WRITING you have no zero in front of B11110000 Yea, now you are using an Arduino library define constant: arduino / binary.h #define B11110000 240
@GreatScott! Please let us know lots of your opinion. We want to know the reasons behind why you choose one way/thing over another. Also, project suggestion : make a pc power supply into a bench power supply.
Question on the last advance example, was all that bit math used to change the sampling rate? What was the need to keep the bits with X's? (Or was the first 6 bytes toggled for something else?)
GREATSCOTT! YOU SHOULD DEFINITELY MAKE A VIDEO EXPLAINING HOW TO BUILD A CIRCUIT, CODE, APP AND ZERO CROSSING CIRCUIT WHICH CAN CONTROL AT LEAST 5 AC LIGHT BULBS AND BE ABLE TO NOT ONLY TURN THEM ON/OFF BUT DIM EACH ONE OF THEM SEPARATELY VIA BLUETOOTH HC-06 AND ANDROID APP. THAT WILL BE A CHALLENGE!!!
So instead of processing 4 million check per second, it wait for a clear event and execute once. I can only assume it is much more power efficient and would help reduce 9v battery drain? Could you measure it?
Hey Scott!! can you make a video Explaining more about the Fast PWM with registers please, what i want to do is to change the PWM frequencies of the pins 9, 10, 3, 11 all to 31khz. I need your help can you help me please, Greetings from México!
One question: Is there something that can be done to increase the refresh rate of the OLED display? Constraint: Needs to be at 9600 Bauds And nice video 👍
From another topic. Will you do a video how to do my own 3d printer from old cd/dvd readers using any magic stuff (can be with 3d pen)? Actually Im bad at these things and ur the only ytber that explains so well everything :)
May be u can help us by making an additional video for your earlier rf video in nrf24l01 pipe setting for one receiver and 6 transmitter with bi directional communication
hi scott. you say 101, does this mean that you have another 100 videos on arduino xDD. if you do, i would luv to see them. tnx for all you've done for my knowledge by now. the chennel is awesome. great!
Don't get discouraged! The information provided in the video is condensed into 9 minutes, there is a lot of information you need to know to understand this video. You'll need to know digital circuit theory/math for example.
Making a library is really simple, I don't think that needs a video, a guide on Google is plenty. I don't understand what you need help with for looking at a data sheet, data sheets are supposed to be pretty simple to use. Open the data sheet, find the data you need, read the data you need, close the data sheet. If you are having a hard time finding things in data sheets I recommend googling "how to use a table of contents"
Is there a way to map a digital signal with arduino for instance I want to emulate a NZXT hue+ so what i have in mind is hook a adrino up inline with the hue+ read the digital output for the hue+ led controler and then use the recorded singnal to controle the led's.
Most arduino tutorials go from basics, like turn off/on a pin, flash a LED etc. and by tutorial 10 you're talking fancy talk like using for loops and so on.
With Great Scott though, the complexity is exponential. At this rate tutorial 5 will have us manipulating the universal gravity constant through software.
Agreed. He went from 101, to 102, (undergraduate classes) to class 506 (doctorate class). I pride myself in being able to at least follow Great Scott in most of his videos, even if I couldn't necessarily repeat what he said... but in this case, let's just say if he comes out with a 104 class I'm going to pretend i didn't see it! LOL
I love the handwriting when you explain!
1:18 "...or a lazy person like me." If this is lazy we're all screwed.
Local TH-camr Inincreases his signal frequency to 1MHz using these 2 weird lines. Electricians hate him.
2:25
Thanks for listening to us and continuing the series. :)
No problem :-)
Once he started playing Xs and Os at 6:00, that was the moment I knew I was destined for a career at Burger King.
Well , you got a choice when you include Macdonalds...
This video series is definitely very useful! I'll be able to do a lot more due to a better understanding. Thanks!
Although this vid is rather old, I enjoyed watching it. I recently spent a lot of time finding this out on myself and experimenting with it. This knowledge is especially usefull when trying to play 8bit sound samples by utilizing the PWM pins and using the ADC respectively. Because you need to switch on Fast PWM and setup the prescaler correctly, this video is a nice introduction for this scenario. Great, Scott!
holy shit i didn't understand anything
There is nothing wrong in that. :) And what is cool you get to have the fun learning what it was he was doing.
I think about my school if i should quit now and not suffer in other years i study electrotechnics.
Gamerdu45 if you like to know this stuff, which I presume you do since we are here, don't quit. Electronics seems hard at the beginning but it gets pretty simple once u understand some concepts. I've studied 3 years as eletronical technician (dont know how to name it in english), now heading to second semester in electronic engineering and I was lost too in the first weeks :)
Thank you i really like this stuff but it is kinda hard for me. But i will try my best.
There was a time that I did not know any off it. It takes time to learn but if you keep chipping away you'll get there. I'm no mastermind, just someone who, like you, wanted to learn. Maybe just start with basic logic operators and binary. Once you understand that you'll then will see that all he was doing was flipping some bits on and off.
Good luck and above all, have fun learning. :) The buzz you get when the penny drops is awesome.
An excellent video. You did cram a lot into 8.22 seconds but it was ALL gold. Other viewers, who found this challenging, might like to view the video again; this time pressing pause at the end of each topic and go back until you have a feel for what Scott is telling you.
The message to be taken from this presentation is that; while the Arduino IDE/"language" does make things seem a lot simpler, it does so by hiding a lot of code in the background. This is fine for flashing LEDs but a lot of the MCU's awesome power is being hidden from you to. When one comes upon applications that need to control, or interface with, many peripherals, one will find the limitations imposed on you by the IDE, limit the applications one can tackle.
Well done, Scott, for dipping your toe into the murky world of AVR programming. Be brave, your subscribers will soon realise that it is just new, not "too difficult" and will be so grateful to you for that lesson.
Arduino Is a framework, not an IDE, is different, you can use Arduino framework in many others MCU.
I don't get anything but i still watch
And you feel kinda bad about it dont you. like me.
@@Gamerdu45 Me too :(
If you are interested not much will stop you from learning. It is a. fun and useful hobby. So go ahead and get some batteries resistors and LEDs. :)
@@shetsanjay chill man
@@Gamerdu45 go through datasheet , try to understand it.
It'll take some time but worth it .
That is it.
I really like your videos because they are concise and force you to go deeper to understand the topic.
Congratulations!
It is not surprising that many of those who commented (Marwan Nasr El Din) didn't 'understand anything because 'Great Scott' used an approach that confused rather than clarified how one can manipulate bits in a status register to achieve a goal. Sorry to be so lengthy, hopefully you don't reply TLDR!
The code to set a 'prescaler' value in 'ADCSRA' was NOT clearly described instead a supposedly 'clever' bit manipulation statement: "byte PS_16 = (1
There is two kind of people that watch this video. The ones who want to learn this and, the ones who already know the topic and they just feeling good about that they are able to understand :)
4:03 - B stands for BINARY, not byte... like 0x for hex. It's not type definition just way to write numbers.
Also you showing pin mapping which isn't very intuitive, better search for arduino board pins like: www.pighixxx.com/test/wp-content/uploads/2014/11/nano.png
Edit2: Small list of Arduino pinouts:
Nano: www.pighixxx.com/test/wp-content/uploads/2014/11/nano.png
Pro mini: www.pighixxx.com/test/wp-content/uploads/2016/07/promini_final.png
Pro micro: www.pighixxx.com/test/wp-content/uploads/2016/07/pro_micro_pinout_v1_0_blue.png
Micro: 1.bp.blogspot.com/-ptZ4z1b9w20/VPW1E4ohsUI/AAAAAAAARVo/XZ3NqZ7JEP0/s1600/micro.png
Leonardo: s-media-cache-ak0.pinimg.com/originals/00/55/d7/0055d75021113a0a0894feb2c4ade2ee.png
Due: www.robgray.com/temp/Due-pinout-WEB.png
Uno: s-media-cache-ak0.pinimg.com/originals/86/cd/1e/86cd1e943052227a9ebcf2d534beea6d.jpg
Mega: s-media-cache-ak0.pinimg.com/originals/d7/c0/33/d7c0337674f0dd43bdb36484b5cabc46.png
ESP8266: www.iot-experiments.com/content/images/2016/02/ESP_Pinout_01_big.png
Bare uC:
Atmega168/328: s-media-cache-ak0.pinimg.com/originals/4d/cb/20/4dcb20f436d46eae0fafcc03293b4fe6.png
Atmega32u4: www.14core.com/wp-content/uploads/2015/06/atmel-atmega32u4-pinout-diagram.png
Attiny: s-media-cache-ak0.pinimg.com/originals/0b/96/90/0b969089aad15d9b61f8ab0bf5b7f145.png
Edit: More pinout maps: www.pighixxx.com/test/pinoutspg/boards/
And even after 3 hours someone else trying to write "first".. Magic :D
I was going to post the same comment xD
Sorry, you're wrong there. The B means the following binary number can not exceed 8 bits in length. Binary would be 0b.
Go on, try putting in 9 bits, you'll get shouted at!
(And now 30 people think wrongly :( )
I am, the capital B denotes a byte whereas typing 0b tells the compiler the following number has been written in binary. You can think of it as a data type, but it's really just a way of telling the compiler what follows is a byte.
The person above is wrong, a capital B is a common way of showing bytes (hence why ISPs always use Mb/s instead of MB/s to make it sound faster).
(oh, and we're up to 52 :( )
I assume the number you keep quoting is the people that like his post. Could it be they liking the PDF he shared? Which was helpful.
Your handwriting is absolutely amazing
I am glad to see more advanced arduino topics. I would love to see more!
It's interesting how you say that you are lazy and then you explain parts of atmega datasheet.
Lazy for littles datasheet but ready for Atmega datasheet, like wtf haha :D
Lazy is a relative term.
*****
Who has the patience to read the entire datasheet for less than a 6 figure salary? Would you do it for the wonderful TH-cam comments and around $200 that you get paid over 6 months to a year? ... while working at a full time job?
Subjecting yourself to YT comments is like working in the customer service industry. You just do your job for a paycheck while a crowd of ignorant imbeciles feels like they have a right to treat you like a verbal punching bag.
*****
I understand what you mean. When I learned to paint cars it took me forever to wrap my head around estimating time. I finally learned to make an honest assessment of the work, then quadruple it, and I would be right on the money. It's important to learn from both the internal mindset, and for communication with a customer. After being partially disabled, I picked up electronics. Learning those important bits to look for seems quite the challenge without buying a $30k to $50k, 4 year, guided reading program, but I'm probably just slow. I think it takes the right mindset and patience to isolate the necessary details.
Sometimes it seems 'lazy' is the person unwilling to get up off the couch, other times it's the person that hasn't read the entirety of "The Art of Electronics." We're all wondering along different parts of the path to understanding this stuff.
he probably meant in general
Definitely like the pace and the details..!! Excellent tutorials..!!
Your handwriting is phenomenal...
part 4 next week? looking forward to learning everything about Arduino and what I can do with it. great video as always. keep it coming.
No, Part 3 was the last part.
Love this video. Thank you so much for posting and keep them coming. Love watching all your project videos and tutorials. Really helps me come up with ideas for my own personal projects.
Lazy?!?! I somewhat understood it but I got to practice instead of just watching the video. Your a genius
Omg I didn't understand a thing back few months but now this is just what I needed. Love ya
greatscott,油管EE科普界专门负责高三总复习的优秀教师
The "b" in bxxxxxxxx stands for binary I believe.
quite close, but B0111111 is a #defined value (search for binary.h). A binary value can be written as 0b011111 .
Long story short from above convo. BXXXXXXXX will only work with Arduino IDE. Reason is, the actual syntax of XXXXXXXb isn't supported by all Arduino systems, and you can't use a marco that starts with a number in your #define
That's pretty much what I remembered, but on checking (with a compiler), XXXXb is not valid syntax (it is valid MASM/TASM syntax, which I think is where I was remembering it from). 0bXXXX is the correct C syntax for this.
test.c: In function 'main':
test.c:5:29: error: invalid suffix "b" on integer constant
printf("int = %d
", (int) 0001b );
@@virkotho5057 Luckily I new that but I think he should have said it too. Now some people think its the way to write binary numbers
You sir, are the sorcerer supreme. 🧙♂️
Bit math section was little confusing .Thanks for your effort scott learnt a lot.
Just a little confusing? I had to ice my brain after trying to follow that section.. :-)
Yes, we need more of this kind of stuff !!
Please create a playlists of Arduino tutorial. I love your tutorial. I have completed the basic electronics series. But unable to find Arduino tutorial playlist.
Thank you.
I like to call you "King of Arduino".
I enjoyed your video :)
Inspiring me to go a little deeper into my arduino projects. Thanks!
If you talk about PORTxn registers, why not explaining PINxn an DDRxn too?
Also, you can explain the T/C settings/functions/registers a little deeper. Like how to use Output Compare(s) and setup timer ISRs, etc...
Well scott , you're great !
My project requires 16 or more leds, for a runway chaser sequence with a very small footprint. I'm trying to simulate runway lights on a small aircraft carrier. Maybe three or four leds, the first one at 100%, second at 75%, third @ 50%, and fourth @25% chasing from left to right in a repeating pattern. As soon as the four leds reach midpoint in the travel direction, another set of four leds follows from the start position, so you will have two sets chasing from left to right, and so on. When the first set reaches the end, it starts over again from the beginning, same with the second set. I have looked all over the web and have had nothing that fits all the criteria. Doing it on an UNO will not work as there just isn't enough room in the model for the large board. 555 timers with a shift register won't work as most don't have a way to make the fading effect. Can you help me with a solution? Thank you.
Loving these videos, you have earned a Patreon subscriber!
Awesome! Thank you.
Really great video again!
I study Applied Informatics in Germany atm (thats why im already familiar with bitmanipulation etc.) and got my first Arduino when I was 14, but never actually thought increasing the performance through bitmanipulation.
Man lernt nie aus :)
You are great Scott!!
Excellent video! Finally, I can understand the way to change pwm resolution. Thanks you so much!
lomin 456 😂
Excellent tutorial as always
awesome as always. Keep up the good content
most useful tutorial ever
Thanks I've learned a lot from your video, even after messing around with arduinos for years :)
I click the "like" button before view. Because I always like GreatScott!'s videos.
Thanks for explaining the different registers clearly. I can use this info to improve some of the projects I have done!
Very nicely done!
And again great job and thanks for the video!
Scott. Thanks for doing all this and helping us. It is a bit. Too fast for me though and some of the things you appear to edit out maybe useful after all? It is impossible to get the pace right for everyone, but if you go a bit slower, the bright folk can always increase the speed.
Thank you Scott! This was very valuable to me - you definitely earned my subscription.
when i learned this things in my engineering class i only concentrate just because of my electronics teacher is hot , this time my mind start boiling but great video great Scott
It would be nice if you could give some insights on how to write efficient code (in particular interrupts, watchdog timer and low power handling)
how to deal with existential crisis?
Prashant Batule just try to do what you like. Also, I feel the same thing.
Devliner thanks!
you don't, you just try to survive
kill someone and live for them
@Prashant Batule : check datasheet pls
ok thanks mr.GreatScott for arduino 103, now i learn much about arduinos ;-)
finally one of his vídeos i do get it completly. just cause i did also read the entire datasheet for a school project 😂
it sounds really cool it's a lot more complicated but you can do really cool stuff at a lower level.
great series keep moving forward
Cool! I finally understand the bitwise operations in Arduino code now. Thanks!
un gran vídeo amigo, excelente :)!!!
That was a good lecture on bit math
Thank you so much Scott! I really need this info for my college assignment
thanks for sharing. Nice to this more geeged way to manipulate the ADC's and PWM output, in a more strait forward way. 👍
At 5:10 is the "11" printed by the serial monitor base 10 or base 2? B00000011 = 0x03 = 3 in decimal, if I'm understanding all of this correctly. Of course this is my first foray into port manipulation so it's entirely possible that I'm confused for some other reason.
Nevertheless, it reminds me of the old joke that there's 10 kinds of people in this world: those who understand binary and those who don't.
binary(=base2) because second parameter of Serial.print() function specifies the base format
You're super duper smart man I'm going to be really studying your stuff thank you
and if you incorporate the goto loop; at the end it will short the off phase as the rising and get faster frequency
wow! Nice tips, thanks! Now I have to read the 328p datasheet for complementary studying
Great guide, but as I study Embedded Systems I totally get that people never having used bit math or bit masking have no clue what the video is about. I'd definitely like to see if there is even more in depth stuff to learn!
relentlessly waiting for ur reply!!!!!!!!
thanks for the video. i am a beginner. i have a question; can we exactly choose the PWM signal frequency in arduino? I am trying to drive a MOSFET in a converter which is controlled by switching frequency not duty cycle so the frequncy of the PWM is important for me. I appreciate you help :)
i think you're advanced in arduino..nice info
What a great video!
Amazing videos !!
Very Nice Explanation...
Great Scott, Great Job!
Btw: The 'B' in B11110000 stands for 'Binary ' not 'Byte'.
Like '0x' in Hexadecimal, eg: 0xF7
See:
www.arduino.cc/en/Reference.IntegerConstants
correct
WARNING: It's not in standard C, but GCC supports it as an extension, prefixed by 0b or 0B
( stackoverflow: Why doesn't C have binary literals? )
and did you notice IN YOUR WRITING you have no zero in front of B11110000
Yea, now you are using an Arduino library define constant:
arduino / binary.h #define B11110000 240
@GreatScott! Please let us know lots of your opinion. We want to know the reasons behind why you choose one way/thing over another.
Also, project suggestion : make a pc power supply into a bench power supply.
Really helpful video, thanks!
i am fan of your videos, do you wanna know why ? because its GREAT. Scott.
Question on the last advance example, was all that bit math used to change the sampling rate? What was the need to keep the bits with X's? (Or was the first 6 bytes toggled for something else?)
GREATSCOTT! YOU SHOULD DEFINITELY MAKE A VIDEO EXPLAINING HOW TO BUILD A CIRCUIT, CODE, APP AND ZERO CROSSING CIRCUIT WHICH CAN CONTROL AT LEAST 5 AC LIGHT BULBS AND BE ABLE TO NOT ONLY TURN THEM ON/OFF BUT DIM EACH ONE OF THEM SEPARATELY VIA BLUETOOTH HC-06 AND ANDROID APP. THAT WILL BE A CHALLENGE!!!
I wonder: What are the drawbacks of using high sampling rates on the ADC? Why is the ADC set up to initially run at such low sampling frequencies?
this is extremely useful Thanks!
So instead of processing 4 million check per second, it wait for a clear event and execute once. I can only assume it is much more power efficient and would help reduce 9v battery drain? Could you measure it?
Hi GreatScott, can you please do a videos series on Labview interface with Arduino in future.
I love this series! I just hope you can make a dimmer for 220V lighting controlled by a pot or some code. :-P
Hey Scott!! can you make a video Explaining more about the Fast PWM with registers please, what i want to do is to change the PWM frequencies of the pins 9, 10, 3, 11 all to 31khz. I need your help can you help me please, Greetings from México!
can you make vid: HACKED! old psp becomes .... (mini pc maybe)
If i hadnt taken 2 courses like this at the university id be so lost right now...
One question:
Is there something that can be done to increase the refresh rate of the OLED display? Constraint: Needs to be at 9600 Bauds
And nice video 👍
Thanks for a great video
From another topic. Will you do a video how to do my own 3d printer from old cd/dvd readers using any magic stuff (can be with 3d pen)? Actually Im bad at these things and ur the only ytber that explains so well everything :)
May be u can help us by making an additional video for your earlier rf video in nrf24l01 pipe setting for one receiver and 6 transmitter with bi directional communication
Thank you very much for your all video always Learning from you helpful useful
Thanks
hi scott. you say 101, does this mean that you have another 100 videos on arduino xDD. if you do, i would luv to see them. tnx for all you've done for my knowledge by now. the chennel is awesome. great!
1:43, 0xDEADBEEF = reference from team fortress 2 bot's name XD
Don't get discouraged! The information provided in the video is condensed into 9 minutes, there is a lot of information you need to know to understand this video. You'll need to know digital circuit theory/math for example.
show how to make a library for a simple component... looking at the datasheet, understanding the registers of the component and all of that stuff
Making a library is really simple, I don't think that needs a video, a guide on Google is plenty.
I don't understand what you need help with for looking at a data sheet, data sheets are supposed to be pretty simple to use.
Open the data sheet, find the data you need, read the data you need, close the data sheet.
If you are having a hard time finding things in data sheets I recommend googling "how to use a table of contents"
Um.. 'B' doesn't mean Byte.. it tells the compiler the value after it is Binary.
Which is a byte? 8 units of data.
Great Scott, before 1 year you make matrix, and other your animations dont work, please say what librarys you use? you are the best!!!
FastLED?
GreatScott! No, some work with fastled, but some didnt work.Can i get your skype or email?
Please ansver
GreatScott you don't upload all sketchs what you use for your 10x10 led matrix
Are you still planning on doing a mosfet driver tutorial?
the data sheet is for the ATMEGA328/P, does that mean the data sheet is good for the ATMEGA328 and the ATMEGA328P?
Is there a way to map a digital signal with arduino for instance I want to emulate a NZXT hue+ so what i have in mind is hook a adrino up inline with the hue+ read the digital output for the hue+ led controler and then use the recorded singnal to controle the led's.