How to use an ADC (embedded example in C)

  Рет қаралды 31,126

Jacob Sorber

Jacob Sorber

Күн бұрын

Пікірлер: 46
@gokulrajaking
@gokulrajaking 4 жыл бұрын
3:31 - resistor and green wire wrong connect in breadboard
@JacobSorber
@JacobSorber 4 жыл бұрын
Man, you're right. Sorry about that. I must have fixed it after recording that. Folks. Slide that green wire up to the next row. Thanks for pointing that out, Gokul.
@davidli7752
@davidli7752 3 жыл бұрын
@@JacobSorber lol, first physical bug on your channel?
@glenthemann
@glenthemann 4 жыл бұрын
Dude, this channel is a goldmine. Im a pretty heavy book learner and haven't really spent much time watching videos related to programming, but I'm glad you ended up in my feed. You're a wonderful teacher, thank you for continuing to make videos.
@JacobSorber
@JacobSorber 4 жыл бұрын
You're welcome. Glad you're enjoying them. Let me know if there are topics you would like to see on here.
@classyjohn1923
@classyjohn1923 3 жыл бұрын
Yep, ADC is very easy to implement, even if you're doing it from scratch on a microcontroller. It works as a great voltage sensor for your analog pins and, more importantly, its incredibly important to have when you want to interface it with certain sensors such as the DHT11 sensor
@alemajohmartin7017
@alemajohmartin7017 4 жыл бұрын
Hi Jacob, what projects can I do to really feel confident in C?
@JK360noscope
@JK360noscope 3 жыл бұрын
Try some different ones using whatever microcontroller dev kit you can find! If you want confidence, go try some things! Get SPI communication working! Flash an LED with a bunch of interrupts! The possibilities abound
@tuanvu3654
@tuanvu3654 3 жыл бұрын
Thank you from Vietnam.
@pedrocoutinho5451
@pedrocoutinho5451 2 жыл бұрын
You are the best teacher, thank you a lot! :)
@jakubstandarski7974
@jakubstandarski7974 4 жыл бұрын
Simple, easy, well explained! I just love that, great job!
@JacobSorber
@JacobSorber 4 жыл бұрын
Thanks, Jakub.
@benjaminshinar9509
@benjaminshinar9509 4 жыл бұрын
I don't do embedded, but it's always informative to see a new video! most of the video I was confused, because I had no idea what the sensor is, and then it appeared in the last minute, maybe in future videos you could have it show up in a small box whenever the program is running?
@mockingbird3809
@mockingbird3809 4 жыл бұрын
Can you make a video on how to use inline assemble in C code, either inside functions and other places with their practical applications? That would be really great :-)
@JacobSorber
@JacobSorber 4 жыл бұрын
I'll add it to the list and see what I can do.
@netblogger2109
@netblogger2109 3 жыл бұрын
How do I use ADC to feedback the inverter in atmega And what happens when you do that?
@ayu12641
@ayu12641 4 жыл бұрын
Could you explain why using timers are more energy efficient? The time spent in the delay loop would still be spent in the empty infinite loop right?
@JacobSorber
@JacobSorber 4 жыл бұрын
With a timer, you can put your MCU in sleep mode-so just the ADC and/or timer are working-and then have it wake you up when it's time to do something (by firing an interrupt).
@ayu12641
@ayu12641 4 жыл бұрын
@@JacobSorber That didn't cross my mind. But replacing the _delay_cycles() with a sleep function inside the infinite loop achieve the same power efficiency as timers?
@JacobSorber
@JacobSorber 4 жыл бұрын
@@ayu12641 You would have to check how _delay_cycles() is implemented, but usually, it's just a busy loop. If it doesn't change the CPU state into a low power mode, then it won't get the same efficiency.
@shekharmaela2308
@shekharmaela2308 4 жыл бұрын
Hey Jacob, I have a question. How can we register test functions at compile time in C++ , like with constexpr/consteval? for example: you're writing a unit testing framework and you want it to automatically register the tests at compile time.
@aabdev
@aabdev 4 жыл бұрын
Dear Jacob Sorber, How to perform a unit test for ADC? How to automatically justify that MCU ADC measures really existing voltage without offset? Regards, AB
@datawolk
@datawolk 4 жыл бұрын
Nice video. Note: Max binary value = 2^n - 1
@JacobSorber
@JacobSorber 4 жыл бұрын
True. 0...4095. 😀
@ryanhaart
@ryanhaart 4 жыл бұрын
You should add switch hysteresis to your code, otherwise the light will keep switching on and off all the time during borderline light conditions.
@vishwajithk8811
@vishwajithk8811 4 жыл бұрын
▪️How'll processor differentiate between two static locals whose name is same? ▪️And what're map files, dep files? Human readable files? Generated by GCC? or by Make?
@soaringeq22
@soaringeq22 4 жыл бұрын
Would love to see a video on Huffman coding!
@sakshisingh8167
@sakshisingh8167 3 жыл бұрын
PLEASE DO STM32F407VG DISCOVERY BOARD
@berthold64
@berthold64 3 жыл бұрын
I'd love to see esp32 c/c++ tutorial using its official sdk, esp-idf. Personally I find esp32 is the cheapest and very accessible micro with tons of useful on board peripherals such as WiFi, dual core, and multiple hardware UARTs. The sdk and documentations quality are commercial tier too.
@user-su5sq5ib3i
@user-su5sq5ib3i 2 жыл бұрын
The first code you showed was only the main function. Where are the rest of the functions like the getvoltage and initialization?
@phillipneal8194
@phillipneal8194 2 жыл бұрын
Are there high speed adc 's ? Say 50 msps ?
@JacobSorber
@JacobSorber 2 жыл бұрын
Yes, there are, but as with any measurement equipment, things get expensive as your speed requirements go up.
@Serendipity2893
@Serendipity2893 2 жыл бұрын
Does anybody have a source that does this with Embedded/Bare-metal C? Im stuck on an assignment, and everyone just wants to do arduino. The explanation + Delivery was fantastic though
@bbq1423
@bbq1423 4 жыл бұрын
Is there a difference between for(;;) and while(1)?
@JacobSorber
@JacobSorber 4 жыл бұрын
No. They're functionally equivalent.
@duanedsilva
@duanedsilva 4 жыл бұрын
@@JacobSorberfor(;;;) would be compiler error
@BlackXeno
@BlackXeno 4 жыл бұрын
@@duanedsilva yes, but not the for(;;)
@JohnWick-xd5zu
@JohnWick-xd5zu 4 жыл бұрын
Thank you so much 🥰, love you from Egypt!!!
@ritiksahu1844
@ritiksahu1844 4 жыл бұрын
Why you didn't use while true for looping infinitely
@JacobSorber
@JacobSorber 4 жыл бұрын
Good question. Guess I was just feeling in a for-loop mood. A while(true) would have worked, as well.
@ayu12641
@ayu12641 4 жыл бұрын
A fun fact. PC lint software would throw a warning if you use while(1) for an infinite loop. One way to get past it is to use for(;;) loop which is less error prone as it has no values.
@Yarin5879
@Yarin5879 4 жыл бұрын
I want this shirt.
@JacobSorber
@JacobSorber 4 жыл бұрын
Thanks. I know where you can get one.
@rogo7330
@rogo7330 3 жыл бұрын
Basically
@nabiisakhanov3522
@nabiisakhanov3522 4 жыл бұрын
Using an ADC isn't that hard actually, you just need to learn to last-hit and attack-move properly, then all you have to do is play safe before you get your core items and then stay behind your frontline in teamfights and deal as much damage as you can!
@framepointer
@framepointer 3 жыл бұрын
lmao league of legends reference
Does it matter how I write my infinite loops? (for vs. while?)
5:47
How do I access a single bit?
11:07
Jacob Sorber
Рет қаралды 22 М.
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
“Don’t stop the chances.”
00:44
ISSEI / いっせい
Рет қаралды 62 МЛН
What Actually is Embedded C/C++? Is it different from C/C++?
11:05
Jacob Sorber
Рет қаралды 156 М.
How to make memory read-only in your C programs.
12:57
Jacob Sorber
Рет қаралды 21 М.
What is a semaphore? How do they work? (Example in C)
13:27
Jacob Sorber
Рет қаралды 313 М.
How to Blink an LED in C (avr, msp430)
16:37
Jacob Sorber
Рет қаралды 35 М.
The Inline Keyword in C.
16:18
Jacob Sorber
Рет қаралды 59 М.
How does fork work with open files?
13:12
Jacob Sorber
Рет қаралды 10 М.
Reading the PIC32 ADC and plotting the data in python
18:16
A Few Embedded Systems Tips for Beginners
8:19
Jacob Sorber
Рет қаралды 30 М.
Easy Networking in C (libcurl)
14:12
Jacob Sorber
Рет қаралды 66 М.
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41