Come! Make the first step!

in #creativity7 years ago

You, dear reader, are probably around 20 years old (or more) , graduated (or will be soon) , spending most of your time playing games or wandering through the web or social medias. Working low-paid job or unemployed - searching for one, or you are hoping to get the jackpot with Bitcoins or Steem? Wandering why you lost so many years of education and still don't know what will you do for living? If you recognize your self by far (if not you may find your new hobby by reading this ) I'm here, if not give you the solution, at least give you one of those you have - with diving you into the "embedded world"

Source

In case you still haven't figured out, the path i have described is my own and here I'm not going to explain why and how i decided to become embedded engineer, but instead - what it is and what you need to get there, and hopefully to light up your interest.

Nowadays we are surrounded by electronics and if you ask which of them use embedded system - the answer is ALL OF THEM. You can read this post because (not only of course) of embedded systems. In order your phone , your TV, your car, and so on, to work you need embedded microcontrollers , or otherwise one of these(or similar)


Source

All this little boxes do is to calculate. Unfortunately they come empty and at this state they serve no purpose - you are the one to tell them when,how and what to calculate, they are the brain of the electronics, but you are the puppeteer behind it. To do so you need a particular skills - knowing a programing language and what is inside those chips .Besides the main features (i will let you google them by yourself 😉), they include different variety of other peripherals(timers, clocks and so on) and its up to you to decide how to use them. Make your first step by learning the " C " programing language, then (if needed) you may jump on C++ ( This is the order i recommend - personal opinion ). There are plenty of online compilers to write on your first programs. After you climbed the first step all you need is to buy your self a development board on which to start practice on.

Is it easy ? - NO

Is it as difficult as you probably imagine ? - NO

Is it worth it ? - Ask your self the question : The technology will advance more or we will return back to sticks and stones

This is the board i used to learn on , but you can use similar.


Source
Once "in the game" it's time to write your first program. The first ever program you make will most probably do this :

Source

Yes! This will most probably your first program do - to print something on the screen. But in your chip there is no screen to print text on, and to print something there is much more work needed to be done, involving some communication protocols. This is not an easy task. So what to do then? Well most of these development boards have LED diode like this.

IMG_20180125_181150.jpg

This is RGB (Red Blue Green) diode and your embedded "Hello World" program looks like this. Yes - your purpose is to set it on (sorry for the poor quality btw 🙂). This is done by saying to the controller - "Hey, mother******, turn this on " , of course in computer language 😉 or otherwise, most often, only by setting a proper value to a specific location in the memory of the chip. Which one exactly you will find in the documentation of the controller, given by the manufacturer.
And this :
IMG_20180127_003028.jpg
IMG_20180127_003218.jpg

This is your embedded "Hello World! I know what PWM is" program 😋. The quality is a little bit poor, but you can see the difference in brightness. Turn on and the other colors (if any), adjust the brightness of every to produce different ones. Learn about what other features your controller have - this particular board has a touch sensor for example, and it is fun to use it.
The most important step you have to do, before all, is to overcome the fear of the unknown, and start learning these programing languages. Find out how the programs work and if you thing this not the type of programing you want to do,
then these skills will help you with understanding other languages you wish to learn. Hope with this post i have managed to inspire some future embedded programmers 😉

Coin Marketplace

STEEM 0.25
TRX 0.20
JST 0.038
BTC 95137.53
ETH 3601.95
USDT 1.00
SBD 3.77