5/74 IoT MOOC Part I: Electronics. Microcontrollers fot IoT applications


Hello my name is Leopoldo Armesto
and in this presentation I’m going to explain about microcontrollers
used in IoT applications so this is the outline of the presentation, first I will introduce
microcontrollers and their
signals, their type of memory their architecture, their architecture and some
of the alternatives that we use, for microcontrollers, in IOT applications
then also I will explain some of the commonly used electronics for IoT applications and provide some examples so, in
microcontrollers there are different type of signals. We distinguish between digital and analog. A digital signal it varies
between high and low states. Only has two different
types of states, while an analog signal varies within a specific range so it has
multiple values. Then, in microcontrollers, we have digital inputs which… in which a
external device controls the voltage and the microcontroller just basically
monitors the changes of the signal so it can read high or low and or we have
digital outputs where the microcontroller sets the voltage to high
or low depending what… what you want and then we have, also, analog inputs in which
we use a special kind of circuit which is called ADC. This is a converter
between analog and digital and they provide us a number, a decimal number,
corresponding to the… the analog value of the signal. We can find converters
with 10 bits or 16 bit resolutions or different kind of resolutions, obviously.
So, also we have, in microcontrollers, we have a very special type of signal which
is called PWM it’s Pulse Modulated Signal in which we have a periodic
signal which is digital and usually commutes are very high frequencies and
we can control with a signal the amount of time which is high corresponding to
the amount of time which is at the low state. We can use this kind of signal
to control motors or and also because it’s conmuting very fast,
we can use analog filters and we can use them as analog outputs okay? So, also in
microcontrollers we have interrupts. They are used to…it’s a special kind of signals
they are used to interrupt our main tasks and they have higher priority so
if our program is running a specific code and we receive an interrupt, this
code will be interrupted and then we’ll attend a specific section of code which
is called the interrupt Handler and in this code we… we can do a specific… or
application dependent things. We have two different kind of interrupts we have
external interrupts means that we can monitor the changes of the signal if
it’s high if it’s low or if it rises or… or we have also Timers which generate
interrupts at a given time intervals and we can program these intervals as as we
want, obviously. Then, we also have different kind of bus signals. Bus
signals are special kind of… digital signals that we use to transmit data
between a microcontroller and any kind of external device and within the most
common… commonly known bus signals we have the UART. It’s a serial
communication and that uses two lines one for reception one for transmitting
and it’s basically… and the purpose is for… for being used the communication between
two devices. Then, we have the I2C. It’s a serial communication tool and in which
we have a data line (SDA) and a clock line (CLK) and it uses an architecture which is called
master/slave so the master handles the communications and the slaves receives
specific package… packages and responds back to the master, for instance. And then,
we have the SPI communication which is a full duplex communication which uses a
clock and then also uses… data signals one for the master and
also one for the slave and also we have a slave selection signal so we can have
multiple slaves and with that signal we can we can select specifically to which
slave… slave talk to. In microcontrollers we have basically two types
of memory: it’s the program memory and that data memory. The program memory is
where we store our code it’s non-volatile means that we can we
can keep it there upload it and once we we switch off the our microcontroller
the data in that kind of memory will be persistent there. Usually, it’s large
compared to data memory because it’s cheap. Data memory, we have two different
type of memories we have the RAM memory which is volatile and we can store
variables that we use in our code and will be fully deleted
whenever we start up our micro controller and then we have a special
kind of memory which is called ROM or specifically the EEPROM it’s when we
store long-term variables so we can we can use them so it’s non-volatile and we
can use them and once one one time and another one but it’s in general it’s
shorter because it’s quite expensive This is the architecture we usually find
in many of the microcontrollers so the main masterpiece is the MCU is
microcontroller unit it’s at the brain of our microcontroller and then we have
different kind of peripherals and memories so we have a clock which is
signaling exactly how [when] to run our instructions we have a program memory we
have described, the data memory, we have the GPIOs, it’s the general purpose input
output. There we have the digital inputs outputs and our input and so on and also
we have a special kind of signals like timers and interrupts or the analog
digital converters as we described before. So it’s important to distinguish
what’s the difference between a microcontroller
different kind of types of processors like a microprocessor a DSP or FPGA,
maybe you heard about them… so microcontroller is very simple to use it
has a low consumption has no operative system on it this is one of the main
differences between the microprocessor obviously there are some drawbacks like
there’s not too much computational power so there’s no specialized hardware to do
floating-point operations, generally… and yeah of course it’s it’s cheaper but
obviously has some drawbacks a microprocessor in the other hand it has
own operating system this is something we can see as an advantage but also it might
be a disadvantage because has a lot of complexity compared to a microcontroller
a DSP is similar to a microcontroller it’s specialized for signal processing
so it has a special hardware to do specific functions for processing
signals but it usually requires advanced knowledge to to really make profit of a
DSP and FPGA are very fast so they can they can work very fast much faster than
a microcontroller or microprocessor but you have to think like a circuit
designer because what actually what you’re doing is synthesizing a circuit
into a specific chip and the deployment it’s really slow if you don’t have any
experience before. Okay, so microcontroller is probably one of your
best options so within microcontrollers and micro
processors we have the Arduino Uno Wi-Fi, probably you heard about it, for
sure but we also have other kind of processors like DSP a 260s or DSP 32
they are cheap compared to Arduino and the main advantage that they have Wi-Fi
or bluetooth already integrated on it also the Raspberry Pi is a very
affordable option if you want to deploy an IoT applications and you have also… the
proccessor has Ethernet connection, a camera and SD card
for storage and things and so on okay so it has a lot of advantages and also
the Raspberry Pi Zero W is the Wi-Fi and it has a lot of
advantages to compared to to the Raspberry Pi 3 if you’re thinking about
cheap development so here we have some examples our relay in which we can
remotely control a relay with a ESP-01 processor and here we have another
example in which we can use a NodeMCU MCU to control or…
to perform a weather station or we can have this ESP32 processor with…
together with a multi… multi sensor shield in which we can measure humidity
temperature, light and many other things ok all together and this is just simply
one of some of examples that we can use in our in our projects. Ok, so in this
presentation I have introduced you about microcontrollers that we use in IT
applications thank you very much for your attention

Leave a Reply

Your email address will not be published. Required fields are marked *