Understanding the Input and Output in a Microcontroller/IoT based System

As the title suggests, understanding what and how the input and output can be given and obtained from a system respectively is very important. The Microcontroller or IoT based systems do some processing on the input they receive and give us some kind of output. Yes, its that simple!!Obviously, how we give the input and how we get the output is a huge subject.

Let us take some basic examples and understand this concept:

  • Blinking LED: This is the basic "Hello World" of Hardware design and Programming. Here, we are just letting the processor process without giving any input. We obtain the output on LED's where we observe their blinking in various forms. So here, we are basically letting our system do the processing based on our application and just observing the output. 
  • Controlling LED via a switch:  Here, we are giving input via a switch and controlling our LED. Thus, input element is the switch, the output element is the LED and the processing is being done by our processor or microcontroller
  • Controlling a motor via a switch: Now, lets take the above concept a little further by observing the output on a D.C. Motor. Now, our output involves producing motion using a D.C. Motor. The whole process remains same. The switch is our input, our system does the processing but output is observed using a D.C. Motor. So you see, the concept always remains the same.
  • Controlling a motor/LED using an app((IoT based): Progressing further, if we develop an app a and try to provide the input using this app instead of a switch to control our motor, we will have a basic IoT based application. Again, everything remains same. The input is obtained via app(Maybe through bluetooth or Wi-Fi), the microcontroller receives that input again by the wireless protocol being used, processes it and gives us the output observed on a D.C. Motor.
  • Using a Temperature Sensor to control the D.C. motor: Say, we want to turn on our motor when temperature increases above a certain threshold and turn it off when the temperature is below the threshold. Now, instead of a switch or an App, we provide input via a sensor(A temperature sensor in this case). The sensor gives us the temperature, the processor analyses it, and gives us the output i.e. controlling D.C. motor based on the conditions.
From the above examples, I hope you can appreciate the fact that everything revolves around how we give the input, how we process using the software and how we obtain the output. Endless applications and projects can be made by changing these elements.
Basic I/O Block Diagram for a Microcontroller/IoT System


In a nutshell:

  • Input can be provided with switches, app, Browsers or sensors. 
  • Processor can process this data according to the software code written.
  • Output can be anything ranging from LED to an actuating element like a motor or even App which receives information from the microcontroller. 

Comments

Popular posts from this blog

Microcontroller GPIO

Leap Motion

Uploading your first Dummy Program on Arduino