{"id":13517,"date":"2016-04-25T09:56:24","date_gmt":"2016-04-25T16:56:24","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=13517"},"modified":"2021-06-16T14:15:58","modified_gmt":"2021-06-16T21:15:58","slug":"getting-into-electronics-from-square-1","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/getting-into-electronics-from-square-1\/","title":{"rendered":"Getting into Electronics From Square 1"},"content":{"rendered":"<p>Hello and welcome back to the Digilent Blog!<\/p>\n<p>There was a point in my life in the not too distant past where I looked at an LED and a microcontroller sitting at my desk with the goal of blinking the LED with the microcontroller. After picking up each piece individually and setting them back down said to myself, &#8220;alright, now what?&#8221; Although the phrase is usable almost anywhere, this phenomenon is commonly known as &#8220;starting from square 1.&#8221; In my experience, the most frustrating part about &#8220;square 1&#8221; is figuring out how to move on to square 2, since it usually seems to me that most tutorials presume you are starting on at least square 3 or 4. My goal today is to present the first few squares involved for getting started with\u00a0microcontrollers, and show where you can find some helpful resources to move on to the next square.<\/p>\n<figure id=\"attachment_13577\" aria-describedby=\"caption-attachment-13577\" style=\"width: 574px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-13577\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/uC32-chipKIT-Bundle-box-600-574x600.png\" alt=\"A daunting visual for a first time user.\" width=\"574\" height=\"600\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/uC32-chipKIT-Bundle-box-600-574x600.png 574w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/uC32-chipKIT-Bundle-box-600.png 600w\" sizes=\"auto, (max-width: 574px) 100vw, 574px\" \/><figcaption id=\"caption-attachment-13577\" class=\"wp-caption-text\">A daunting visual for a first time user.<\/figcaption><\/figure>\n<p>Before we get into the list of projects though, please note that this is far from a complete list and is not necessarily in the order that you might imagine it to be (except for the first project). There are literally hundreds of introductory projects that you could do with a microcontroller, but I decided to highlight just a few of them to help people get started.<\/p>\n<p><strong>Project 1: Blink the proverbial (and literal!) LED<\/strong><\/p>\n<p>This is the &#8220;Hello, World!&#8221; project (the first project people tend to do for computer science)\u00a0of microcontrollers and one of the hardest ones to figure out if you literally have no idea what to do with the microcontroller and LED that are taunting you from your desk. In this <a href=\"https:\/\/learn.blog.digilentinc.com\/Documents\/171\" target=\"_blank\" rel=\"noopener\">Learn Module<\/a> by Digilent, you learn how to get an LED attached to a breadboard and microcontroller along with explanations of why pieces of the circuit are arranged the way they are (i.e. why isn&#8217;t the LED flipped the other direction?).<\/p>\n<p>You can also take the Blinking LED project one step further by incorporating a button so that when you press a button, the microcontroller turns on the LED as explained in this <a href=\"https:\/\/learn.blog.digilentinc.com\/Documents\/172\" target=\"_blank\" rel=\"noopener\">Learn Module<\/a>.<\/p>\n<figure id=\"attachment_13582\" aria-describedby=\"caption-attachment-13582\" style=\"width: 557px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-13582\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Blink-an-LED-via-a-button-557x600.jpg\" alt=\"You can blink an LED by using a button.\" width=\"557\" height=\"600\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Blink-an-LED-via-a-button-557x600.jpg 557w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Blink-an-LED-via-a-button-768x827.jpg 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Blink-an-LED-via-a-button-951x1024.jpg 951w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Blink-an-LED-via-a-button-800x861.jpg 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Blink-an-LED-via-a-button.jpg 1139w\" sizes=\"auto, (max-width: 557px) 100vw, 557px\" \/><figcaption id=\"caption-attachment-13582\" class=\"wp-caption-text\">You can blink an LED by using a button.<\/figcaption><\/figure>\n<p>You may have noticed that both of these projects use a Uno32, which has since been depreciated from Digilent&#8217;s\u00a0product line, but fear not! All of the circuit principles presented are applicable to any microcontroller and the code is easily portable between MPIDE and the Arduino IDE.<\/p>\n<p><strong>Project 2: Controlling the brightness of an LED<\/strong><\/p>\n<figure id=\"attachment_13583\" aria-describedby=\"caption-attachment-13583\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-13583\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/How-can-I-get-this-setup-600x527.jpg\" alt=\"How can I get this setup?\" width=\"600\" height=\"527\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/How-can-I-get-this-setup-600x527.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/How-can-I-get-this-setup-768x675.jpg 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/How-can-I-get-this-setup-1024x900.jpg 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/How-can-I-get-this-setup-110x96.jpg 110w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/How-can-I-get-this-setup-800x703.jpg 800w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-13583\" class=\"wp-caption-text\">How can I get this setup?<\/figcaption><\/figure>\n<p>While blinking a LED is nice, the whole act of turning the LED on and off at different rates does get a little boring after a few minutes.\u00a0Try a project where you get to manually change the brightness of the LED by using a <a href=\"https:\/\/learn.blog.digilentinc.com\/Documents\/385\" target=\"_blank\" rel=\"noopener\">potentiometer<\/a>\u00a0or through <a href=\"https:\/\/learn.blog.digilentinc.com\/Documents\/382\" target=\"_blank\" rel=\"noopener\">PWM<\/a>!<\/p>\n<figure id=\"attachment_13581\" aria-describedby=\"caption-attachment-13581\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-13581\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/PWMing-LEDs-600x318.jpg\" alt=\"You can manually control the brightness of an LED through PWM.\" width=\"600\" height=\"318\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/PWMing-LEDs-600x318.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/PWMing-LEDs-768x407.jpg 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/PWMing-LEDs-1024x543.jpg 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/PWMing-LEDs-351x185.jpg 351w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/PWMing-LEDs-800x424.jpg 800w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-13581\" class=\"wp-caption-text\">You can manually control the brightness of an LED through PWM.<\/figcaption><\/figure>\n<p><strong>Project 3: Running a seven-segment display<\/strong><\/p>\n<p>Okay, so you have mastered the LED\u00a0and now\u00a0want to do something a little more complicated&#8230; but not a project that jumps from square 2 to square 5. Using a <a href=\"https:\/\/learn.blog.digilentinc.com\/Documents\/297\" target=\"_blank\" rel=\"noopener\">seven-segment display<\/a>\u00a0is a great next step since you are essentially using multiple LEDs simultaneously and can practice displaying some numbers. Or perhaps you want to take it one step further and have it so that when you press a button, the seven-segment display increments its count by one. (See what I did there?)<\/p>\n<p><strong>Project 4:\u00a0Showing temperature on a seven-segment display<\/strong><\/p>\n<p>How about we show something practical on the seven-segment display rather than how many times we&#8217;ve pressed the button? By creating a voltage divider, we can determine the temperature from a thermistor and <a href=\"https:\/\/learn.blog.digilentinc.com\/Documents\/329\" target=\"_blank\" rel=\"noopener\">show the temperature on the seven-segment display<\/a>.<\/p>\n<figure id=\"attachment_13580\" aria-describedby=\"caption-attachment-13580\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-13580\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Digital-Thermometer-and-7SD-1-600x354.jpg\" alt=\"Using a thermistor with a seven-segment display.\" width=\"600\" height=\"354\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Digital-Thermometer-and-7SD-1-600x354.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Digital-Thermometer-and-7SD-1-768x453.jpg 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Digital-Thermometer-and-7SD-1-1024x604.jpg 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Digital-Thermometer-and-7SD-1-800x472.jpg 800w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-13580\" class=\"wp-caption-text\">Using a thermistor with a seven-segment display.<\/figcaption><\/figure>\n<p>Again, these are just a few introductory projects that can actually be worked on from square 1 without too much stress. Next time, we can look at some resources for some more intermediate projects that are a few squares farther, but are still manageable in the early stages.<\/p>\n<p>Do you have any other great resources that you know of for first time electronics users?<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-13517 jlk' data-task='like' data-post_id='13517' data-nonce='3c15ebf169' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-13517 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-13517 jlk' data-task='unlike' data-post_id='13517' data-nonce='3c15ebf169' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-13517 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-13517 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>James shares his tips and tricks on getting started with electronics&#8230;and where to go next.<\/p>\n","protected":false},"author":17,"featured_media":13583,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1563],"tags":[],"ppma_author":[4469],"class_list":["post-13517","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guide"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/How-can-I-get-this-setup.jpg","authors":[{"term_id":4469,"user_id":17,"is_guest":0,"slug":"jamescolvin","display_name":"James Colvin","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/509febded809c5de0423909f6ae6587f?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Colvin","last_name_2":"","first_name":"James","first_name_2":"","job_title":"Applications Engineer \/ Technical Support Engineer \/ Product Support Engineer \/ Technical Writer \/ the person to bother about T&M and JTAG when the senior design engineer is busy","description":"A local Digilent employee who is sometimes tricked into making other content besides documentation and supporting customers on the Digilent Forum, but then I get to write a little more informally so that's a plus. \r\n\r\nA sassy engineer, lover of puns and dad jokes, father and husband. \r\n\r\nI know both way too much and simultaneously almost nothing about a number of nerdy topics. If you want to hear me rant, ask me what data rate USB C operates at."}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/13517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=13517"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/13517\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/13583"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=13517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=13517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=13517"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=13517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}