Paso 4: “Diseño del proyecto”
Grupo 309696_20
Presentado por:
Diever Enrique Gomez
Código. 1.045.675.151
Presentado a:
Omar Albeiro Trejo
Tutor
Universidad Nacional Abierta y a Distancia UNAD
Microprocesadores y microcontroladores
Noviembre 2021
Introducción
El desarrollo del paso 4 del curso de Microprocesadores y Microcontroladores se
realiza el aprendizaje relacionado al uso, configuración e implementación de circuitos de
control utilizando diferentes tarjetas de desarrollo de hardware libre. Haciendo uso del
lenguaje de programación de alto nivel se proyecta configurar y automatizar el control del
proyecto desarrollando un sistema de monitoreo de la cantidad de luz emitida naturalmente
en un lapso de 24 horas.
Actividades por desarrollar
1. Paso 1: Cuadro comparativo entre las tarjetas Raspberry Pi, STM32F746 y Arduino
1.1 Configuración física de la tarjeta de desarrollo Raspberry Pi
Figura 1: Tarjeta de desarrollo Raspberry Pi. Fuente: www.raspberrypi.org
a. Aplicaciones en sistemas de automatización, redes o control de procesos
Las tarjetas de desarrollo Raspberry Pi tienen un campo de aplicación industrial muy
amplio, sus aplicación abarcan desde proyectos de construcción inteligente, hasta
aplicaciones en la Industria IoT. Esta tarjeta es utilizada para recopilar datos de sensores
como temperatura, humedad o niveles de iluminación. (Temboo, 2019)
Otra de las aplicaciones de la tarjeta de desarrollo Raspberry Pi es su uso como Gateway,
esta modalidad permite el desarrollo de diferentes aplicaciones IoT, desde niveles
industriales, telecomunicaciones y hogar.
b. Periféricos
La tarjeta de desarrollo Raspberry Pi acepta una variedad de periféricos, los cuales van
desde simples configuraciones hasta otros avanzados, algunos son: (330ohms, 2019)
• Cámara denominada PiCam
• Display de 7”
• Puerto Ethernet
• Dispositivo Bluetooth
• Tarjeta Micro SD
• GPS
• Sensores ambientales de diferentes tipos
• Periféricos de entrada (Teclados, touchpad o mando para video juegos)
1.2 Configuración física de la tarjeta de desarrollo STM32F746
Figura 2: Tarjeta de desarrollo STM32F746. Fuente: https://electronicajcdun.club
a. Aplicaciones en sistemas de automatización, redes o control de procesos
La tarjeta de desarrollo STM32F746 tiene la capacidad de realizar funciones de censado
de movimiento, censado de variables ambientales, control de equipos, control funciones
y conectividad. La flexibilidad y potencia del microprocesador ARM Cortex permite
desarrollar múltiples funciones con una velocidad aceptable de procesamiento. Sin
embargo, su uso a nivel industrial es mucho menor comparado con las tarjetas Raspberry
Pi y Arduino. (DIGITAL NEWSPAPERS, S.L, 2015)
b. Periféricos
La tarjeta de desarrollo STM32F746 dispone de gran variedad de periféricos, algunos son:
• Display de 7”
• Dispositivo Bluetooth
• Tarjeta Micro SD
• Sensores ambientales de diversos tipos
• Periféricos de entrada (Teclados, touchpad o mando para video juegos)
1.3 Configuración física de la tarjeta de desarrollo Arduino
Figura 3: Tarjeta de desarrollo Arduino. Fuente: https://electrocrea.com
a. Aplicaciones en sistemas de automatización, redes o control de procesos
Las tarjetas de desarrollo Arduino funcionan sobre una plataforma abierta que facilita la
programación de un microcontrolador. Arduino no solo proporciona las placas
(Hardware), sino que nos proporciona un software consistente en un entorno de
desarrollo (IDE), un lenguaje de programación simplificado para el HW y el bootloader
ejecutado en la placa. La principal característica del software (IDE) y del lenguaje de
programación es su sencillez y facilidad de uso.
Arduino se puede utilizar para desarrollar elementos autónomos, conectándose a
dispositivos e interactuar tanto con el hardware como con el software. La placa de
desarrollo Arduino permite automatizar procesos, controlar luces y dispositivos.
Especialmente en desarrollos de dispositivos conectados a Internet como aplicaciones de
domótica y drones.
La principal fortaleza de Arduino es su aplicación en plataformas de entrenamiento para
aprendizaje de electrónica, aprendizaje de habilidades tecnológicas y programación.
(Arduino, 2016)
b. Periféricos
Dada la flexibilidad de Arduino y debido a que su desarrollo se fundamenta en una
plataforma abierta de fácil uso, los periféricos disponibles en el mercado son tan diversos
como sus aplicaciones: (Arduino, 2016)
• Cámaras
• Pantallas táctiles
• Zumbadores
• Micrófonos
• Impresoras
• Dispositivo Bluetooth
• Memorias Externas
• Actuadores (electrónicos, hidráulicos, neumáticos, motores, etc.)
• Sensores de magnitudes físicas y eléctricas
• Periféricos de entrada (Teclados, touchpad o mando para video juegos)
TARJETA DE DESARROLLO STM32F746 TARJETA DE DESARROLLO
RASPBERRY Pi ARDUINO
¿Qué sistema operativo usa? Posee Posee un sistema operativo propio, de
Raspeberry, cuenta con un SO propio programación drag’n’drop igual forma su entorno de programación
llamado Raspbian, pero puede montarse que permite que el es multiplataforma. Se puede instalar y
sobre ella casi cualquier distro de Linux, computador identifique la ejecutar en sistemas operativos Windows,
pero en si su Raspbian esta enfocado board como una memoria Mac OS y Linux.
totalmente para ella. externa, pudiendo copiar y
pegar el archivo compilado
para realizar la programación
LENGUAJE
¿Qué lenguaje de programación utiliza? Utiliza lenguaje de Su lenguaje de programación basado en
Por regla general, aunque al tratarse de programación C++ C++ es de fácil compresión. C++ permite
un SO completo se puede utilizar una entrada sencilla a los nuevos
cualquier otro que permita compilar en programadores y a la vez con una
Linux como Java, usa de manera nativa capacidad tan grande, que los
Python. Es el lenguaje con el que está programadores más avanzados pueden
hecho Raspbian, incluyendo las librerías exprimir todo el potencial de su lenguaje y
oportunas de C, y con el que se permite adaptarlo a cualquier situación.
el mayor acceso a los sistemas físicos del
dispositivo.
VENTAJAS
Ventajas: • Esta es una placa similar • Configuración de software y hardware
• Normalmente compatible con a un Arduino Uno o a inmediata
HDMI y redes (a excepción de una Raspberry Pi, pero • Entorno de desarrollo propio con
algunos modelos) aporta diferentes diversas bibliotecas (compatible con
• Apto tanto para tareas sencillas ventajas que las otras cualquier plataforma)
como complejas placas no aportan. Una • proporcionan un rendimiento de
• funciona opcionalmente como de ellas por ejemplo es procesador integrado con
sistema independiente que la placa STM32F4 periféricos (entradas/salidas e
• Raspberry Pi se distingue, sobre entiende directamente el interfaces), lo que resulta interesante
todo, por ofrecer una instalación de lenguaje de Simulink, lo para todos aquellos usuarios con
hardware lista para usarse que libera que facilita la conocimientos básicos de electrónica.
al usuario de la tediosa compilación programación. • el entorno de desarrollo ajustado al
de la base técnica necesaria para • Posee conectores hardware proporciona una interfaz de
realizar sus proyectos DIY. estándar Morpho de ST programación con varias bibliotecas
• En comparación con las placas de con doble hilera de pines que facilita en gran medida el trabajo
Arduino, las de Raspberry Pi traen macho, que brinda del desarrollador.
consigo todos los componentes para acceso total al los pines • El IDE (Integrated Development
que el miniordenador funcione de I/O del microcontrolador Environment), en español entorno de
forma independiente. • Puede ser utilizado con la desarrollo integrado, es compatible
. plataforma en línea mbed con cualquier plataforma y tiene la
• Posee conectores con el misma apariencia tanto en Windows
estándar Arduino UNO como en Linux o macOS.
R3 (Pinout 1.0) que
permite utilizar tarjetas o
shields de expansión
diseñadas para esta
famosa plataforma que
puedan operar a 3.3 V
•
DESVENTAJAS
Desventajas: • Nivel escaso de aprendizaje en
• El software no está incluido en el términos de electrónica y
paquete, por lo que el usuario programación (al utilizar el IDE)
tiene que descargarlo y • es un microcontrolador capaz solo
configurarlo de ejecutar código C
• Para un funcionamiento • En general se da el peligro de no
autónomo se requieren piezas esforzarse en programar debido a
adicionales de pago la existencia de bibliotecas listas
• la instalación requiere de para usar, y limitar así el
mucha paciencia, pues no solo posible radio de acción de forma
se tiene que seleccionar y innecesaria.
descargar el sistema operativo, • Otra de las desventajas de Arduino
sino guardarlo en una tarjeta de se pone de manifiesto cuando se
memoria SD adecuada. tiene que ampliar la versión
• La consiguiente instalación y estándar de la placa del
configuración del software del microcontrolador por medio
sistema no es tan sencilla como de interfaces adicionales y de
cabría esperar del entorno funciones de entrada y salida. Si
Raspberry. bienel hardware estandarizado
permite ampliarse por medio de lo
que se conoce como shields, la
adquisición de estos módulos
adicionales para Ethernet, LED,
etc., incrementa rápidamente los
costes del proyecto.
• El equipamiento con shields puede
ser caro
Este circuito esta implementado para leer el sensor y mostrar en pantalla el porcentaje de
luz
CÓDIGO EN EL IDE DE ARDUINO
#include <LiquidCrystal.h> // Libreria para el LCD
// ASIGNA LOS PINES PARA LA PANTALLA LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// PARAMETROS PARA EL CALCULO
float P=0,temp=0,a=0,aux=0; // "a" representa a los ADC
int num=0,i=0;
//////////Parametros de muestreo ///////////////////////////
int T=1000; //"T" es tiempo de muestreo en ms que se muestra en el LCD
/////////////////////////////////////////////////////////////
void setup() {
// _____________________________________________________
lcd.begin(16, 2); // Indica el numero de filas y columnas del LCD
// Mensaje que se mostrara en el LCD.
lcd.print("bienvenidos");
delay(2000);lcd.clear();
void loop() {
a=analogRead(0); // recibe la informacion del amplifiacdor en ADC
//_____________________________________________________________
// CÁLCULO PARA MOSTRAR EN LCD
num=millis()% T;
P=(a*100)/1023; // porcentage luz
lcd.print("porcentage luz:");
lcd.setCursor(0, 1);lcd.print("igual a");lcd.setCursor(12, 1);lcd.print(P,2);
}
Se observa en la imagen que muestra el porcentaje de luz emitida