Instituto Tecnológico Superior de San Luis Potosí Capital.
Microcontroladores. Cuestionario Unidad 1, 2 y 3.
Nombre: Eduardo Francisco Juarez Muñiz. Fecha: 12/05/2021.
Unidad 1.
1. ¿Qué es un microcontrolador y cuáles son las partes que lo
conforman?
Es un pequeño integrado que incluye un microprocesador, soporte (reloj y
reset), memoria y puertos de entrada/salida, todo dentro de un pequeño
chip que está diseñado para programarse.
Las partes que lo conforman son: entrada de alimentación, power o
reset, clock, memoria (ROM y RAM), entradas y salidas digitales que
trabajan de 0 a 5 Volts, PWM, entradas analógicas, interfaz com, timers,
interrupciones, watchdog y sleep, herramientas; es un conjunto de
elementos para manipular los MCU.
2. ¿Qué es la arquitectura de un microcontrolador y que tipos de
arquitectura existen?
La arquitectura ayuda a determinar la configuración de su
funcionamiento, existen dos principales arquitecturas usadas en
microcontroladores como tipo Harvard y tipo Von Neumann.
Arquitectura Von Neumann.
Arquitectura de Hardvard.
3. Mencionar las principales diferencias entre un microcontrolador y un
microprocesador.
Un microprocesador es un elemento que realiza las operaciones lógico
aritméticas la cual no dispone de entradas y salidas como un
microcontrolador, requiere de más periféricos adicionales como memorias o
controladores de bus, pero son más veloces al realizar operaciones que un
microcontrolador.
De lo contrario un microcontrolador son circuitos integrados compuestos de
entradas/salidas, memoria y unidades lógico aritméticas, comparados con
un microprocesador son elementos más lentos ya que realizan menos
instrucciones por segundo.
4. ¿Qué son los sistemas “Embebidos” y porque un microcontrolador se
considera un sistema de este tipo?
Un sistema embebido se le conoce a un sistema electrónico diseñado para
realizar ciertas funciones en tiempo real, se diseñan para cubrir
necesidades específicas. Dado esto un sistema embebido también está
conformado por un microprocesador y un software que se ejecuta sobre el
mismo, sin embargo también necesitaría una memoria RAM/ROM, por
estas razones se le puede considerar un sistema embebido ya que cumple
con las mayorías de las características de un sistema embebido.
5. ¿Qué tipos de lenguajes de programación existen, y cuales se utilizan
en la programación de microcontroladores?
Existen 3 principales tipos de lenguaje de programación: lenguaje máquina,
lenguaje de programación de bajo nivel y lenguaje de programación de alto
nivel, algunos de los más utilizados son lenguaje en C y C++ que
corresponden a este ultimo mencionado.
Unidad 2.
1. ¿Qué significan las siglas IDE, en microcontroladores?
Significa un “Entorno de desarrollo integrado”, es un programa
compuesto por un conjunto de herramientas dedicado para la
programación, principalmente para un microcontrolador dado el caso del
IDE arduino.
2. ¿Qué es un compilador?
Se le llama compilador al software que es capaz de traducir un
programa escrito en un lenguaje de programación de alto nivel o código
fuente como C / C++ en lenguaje máquina, generalmente lo primero que
hace un compilador es generar un lenguaje ensamblador y después lo
traduce a lenguaje máquina.
3. Definir los siguientes términos.
a) Código fuente. Es un texto simple comprensible por alguien que
conozca el idioma o lenguaje en el que está escrito, como ya se
mencionó antes existen muchos en los que destacan C y C++.
b) Sentencia. Son elementos básicos en los que se divide el código en
un lenguaje de programación, son unidades completas ejecutables en
sí mismas.
c) Lenguaje máquina. Fue el primer lenguaje utilizado en la
programación para las primeras computadoras pero dejo de utilizarse
por su dificultad, una instrucción en este lenguaje es un conjunto de
unos y ceros (código binario), es un código que es interpretado
directamente por un microprocesador.
d) Bucle. Se le denomina bucle a la ejecución en repetidas veces de un
mismo conjunto de sentencias, generalmente en cada nueva
ejecución varia algún elemento.
4. Menciona las siguientes características de la tarjeta de desarrollo
Arduino Uno:
a) Número de entradas digitales (indicar número de pines, y el
rango de operación). La tarjeta de arduino uno cuenta con 14 pines
digitales que van del 0 al 13 que son entradas digitales y tienen un
rango de operación de 0 a 5 volts.
b) Número de salidas digitales (indicar número de pines, y el
rango de operación). Cuenta con 14 pines digitales que van del 0 al
13 que se pueden utilizar como salidas digitales y tienen un rango de
operación de 0 a 5 volts.
c) Número de entradas analógicas (indicar número de pines, el
rango de operación y numero de bits de resolución). Cuenta con
6 entradas analógicas de A0 a A5, igual con un rango de 0 a 5 volts,
que tienen una resolución de 10 bits que toma valores de 0 a 1024,
esto quiere decir que si arduino mide el máximo voltaje de 5 Volt va a
almacenar un valor entero de 1023 y de lo contrario con el voltaje
mínimo de 0 Volt va a almacenar un entero de 0.}
d) Número de salidas analógicas (indicar número de pines, el
rango de operación y número de bits de resolución). No cuenta
con salidas analógicas puras, pero para la solución de esto se usa la
técnica de PWM.
5. ¿Explica porque las salidas analógicas de Arduino Uno son tipo
PWM?
Debido a que arduino uno no cuenta con salidas analógicas puras, se
utiliza PWM (modulación por ancho de pulsos), para esto se usan los pines
digitales marcados los cuales son 3, 5, 6, 9,10 y 11. Para hacer uso de
estos pines se tiene que tomar en cuenta que tiene un rango de operación
de 8 bits que tiene valores de 256 valores distintos (de 0 a 255).
Unidad 3.
1. ¿Menciona los tipos de datos que podemos declarar en el IDE de
Arduino?
Los tipos de datos que puede almacenar son byte que almacena un
rango de 8 bytes sin decimales, Int que es de tipo entero que va de -1589 a
1589, Float que es números enteros con decimal, long se usa para tamaños
de números muy altos, Char que solo almacena un carácter, String que
puede almacenar frases y Bool que tiene uno de dos valores, true o false.
2. Menciona y describe la estructura de un programa en el IDE de
Arduino.
El siguiente código es para la función de un LED donde se
encenderá y al paso de un segundo se apagara, la función de prender y
apagar será todo un ciclo de indefinidas veces.
const int LED =3; //en esta línea se declara el pin 3 como una constante la se llamara LED
void setup() { // en el setup a grandes rasgos es donde se declaran las entras y/o salidas
pinMode(LED, OUTPUT); //en este caso se declaró la constante LED como salida que vendría siendo el pin 3
}
void loop() { //en el void loop se escribirán las instrucciones que deseamos que tenga nuestro programa,
se escribe el código
digitalWrite(LED, HIGH); // se escribe un pin digital en estado alto o bajo (HIGH, LOW), en
otras palabras se enciende el LED
delay(1000); // debido a que las instrucciones las realiza demasiado rápido se utiliza la función
delay para esperar un determinado tiempo antes de la siguiente instrucción.
digitalWrite(LED, LOW); // se escribe nuevamente en el pin digital ahora en estado LOW
( bajo) para que se apague el LED
delay(1000); // antes de que el ciclo de void loop inicie nuevamente se agrega otro delay para
esperar 1000ms
3. Menciona para que se utilizan las siguientes instrucciones en Arduino:
a) pinMode. Se utiliza para declarar pines como entradas o salidas.
b) digitalWrite. Se escribe un pin digital en estado alto o bajo (LOW,
HIGH)
c) digitalRead. Esta función permite obtener el estado lógico (LOW o
HIGH) de un pin previamente declarado, en muchas ocasiones se
usa para leer estados de pushboton.
d) analogWrite.
e) analogRead.
f) delay. Se usa para declarar un tiempo en milisegundos antes de
pasar a la siguiente instrucción.
4. Describe el uso del bucle for, y menciona un ejemplo de aplicación.
5. Describe el uso de bucle condicional if-else, y menciona un ejemplo de
aplicación.