Informe Practica 3 SDII

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

ENTREGA DE ACTIVIDAD POR PARTE DEL ESTUDIANTE

1. Identificación del curso:

Programa académico: Tecnología en mantenimiento de equipos biomédicos


Nombre del curso: Sistemas Digitales II
Número de clase: 5AN
Temática: Practica 3: Señales, Puerto análogo y LCD
Objetivo: Programar en un Microcontrolador un sumador o restador de múltiplos de 10 para números entre 0 y
255.
Estrategia didáctica: Trabajo en grupos

2. Identificación Estudiante

Nombre Completo: Juan Sebastián Mosquera Barahona


Código: 90260
Fecha: 2/03/2021

1. Actividades desarrolladas
Diseñar un sistema que le permita al usuario seleccionar la señal que desea ver, entre señal sinusoidal,
cuadrada, triangular, ECG, o una señal que entre por el pin análogo. El usuario debe encontrar un menú en la
LCD con las señales que elige ver a través de pines de “avanzar” entre las señales y “seleccionar” par
finalmente mostrar la señal.
Algunas consideraciones para el sistema son:
o El botón digital de “avanzar” debe permitir cambiar de señal en la LCD, después de oprimir
seleccionar la señal debe mostrarse en un osciloscopio (utilice el conversor R2R).
o Debe “elaborar” las señales, son vectores con números enteros entre 0 y 255 que salen por el puerto D,
excepto la señal que lee del pin análogo. En este caso debe pasar los valores de la lectura del pin
análogo al puerto de salida D.

2. Evidencia de aprendizaje

Un sistema micro procesado o microprocesador “es un circuito integrado central de un sistema informático,
en donde se llevan a cabo las operaciones lógicas y aritméticas (cálculos) para permitir la ejecución de los
programas, desde el Sistema Operativo hasta el Software de aplicación. Puede operar con una o más CPU
(Unidades Centrales de Procesamiento), constituidas cada una por registros, una unidad de control, una unidad
aritmético-lógica y una unidad de cálculo en coma flotante (o coprocesador matemático)”[ CITATION Mar20 \l
9226 ].

Practica 1

De acuerdo con la actividad establecida, se realizó el código de programación en Arduino:


#include <LiquidCrystal.h>
int seno [] = {127, 143, 159, 174, 188, 202, 214, 225, 235, 242, 248, 252, 254, 254, 252, 248, 242, 235, 225,
214, 202, 188, 174, 159, 143, 127, 111, 95, 80, 66, 52, 40, 29, 19, 12, 6, 2, 0, 0, 2, 6, 12, 19, 29, 40, 52, 66,
80, 95, 111, 127};
int rectangular[] = {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255};
int triangular[] = {0, 10, 20, 30, 40, 51, 61, 71, 81, 91, 102, 112, 122, 132, 142, 153, 163, 173, 183,
193, 204, 214, 224, 234, 244, 255, 244, 234, 224, 214, 204, 193, 183, 173, 163, 152, 142, 132,
122, 112, 101, 91, 81, 71, 61, 50, 40, 30, 20, 10, 0};
int ecg [] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0 , 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
123, 123, 123, 123, 123, 123, 123, 123, 123, 123};
LiquidCrystal lcd(13, 12, 11, 10, 9, 8); // RS, E, D4, D5, D6, D7

int valor=0;
int valorS=0;
int analog=0;
int salidaanalog =0;

void setup() {
DDRD = 255;
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A3, INPUT);
pinMode(PORTD, OUTPUT);

lcd.begin(16, 2);
lcd.setCursor(1,0);
lcd.print("Menu");
lcd.setCursor(1,1);
lcd.print("Senal");

void loop() {

if (digitalRead(A0) == HIGH){

//ONDA SENO
if (valor == 0){
lcd.setCursor(9,1);
lcd.print("Seno");
lcd.print(" ");
lcd.print(" ");

while (digitalRead(A0)==HIGH){}
valor=valor+1;
}
//ONDA RECTANGULAR
else if (valor == 1){

lcd.setCursor(9,1);
lcd.print("Rectan.");
lcd.print(" ");
lcd.print(" ");

while (digitalRead(A0)==HIGH){}
valor=valor+1;
}
//ONDA TRIANGULAR
else if (valor == 2){

lcd.setCursor(9,1);
lcd.print("Triang.");
lcd.print(" ");
lcd.print(" ");
lcd.print(" ");
lcd.print(" ");

while (digitalRead(A0)==HIGH){}
valor=valor+1;
}
//ONDA ECG
else if (valor == 3){

lcd.setCursor(9,1);
lcd.print("ECG");
lcd.print(" ");
lcd.print(" ");
lcd.print(" ");
lcd.print(" ");
delay(100);
while (digitalRead(A0)==HIGH){}
valor=valor+1;
}
//ONDA "MANUAL"
else if (valor == 4){

lcd.setCursor(9,1);
lcd.print("Manual");
lcd.print(" ");
lcd.print(" ");
lcd.print(" ");
lcd.print(" ");
delay(100);
while (digitalRead(A0)==HIGH){}
valor=valor+1;
}
else if (valor == 5){
valor=0;
}
}

if (digitalRead(A1)== HIGH){
valorS=valor;
while (digitalRead(A1)==HIGH){}
}

switch (valorS){
case 1:
for (int a=0;a<50;a++){
PORTD= seno[a];
}
break;
case 2:
for (int a=0;a<50;a++){
PORTD= rectangular[a];
}

break;
case 3:
for (int a=0;a<50;a++){
PORTD= triangular[a];
}
break;
case 4:
for (int a=0;a<37;a++){
PORTD= ecg[a];
}

case 5:
analog=analogRead(A3);
salidaanalog = map(analog,0, 1023, 0, 255);
PORTD=salidaanalog;
break;
default:
valorS=0;
break;
}
}
R19 R18
5k 10k
+88.8
LCD1 Volts
LM016L
U1

B
OPAMP

VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
C

E
LCD1(VDD)
D

1
2
3

4
5
6

7
8
9
10
11
12
13
14
R1 R3 R5 R7 R9 R11 R13 R?
4k 2k 4k 4k 4k 4k 4k 4k
SIM1

R2 R4 R6 R8 R10 R12 R14 R15


4k 4k 4k 4k 4k 4k 4k 4k

AREF

13
13
12

Avanzar
ARDUINO

RESET 12
~11
11
5V ~10
10
~9
9
8
SIMULINO

8
POWER

GND
ATMEGA328P

7
R17 7
DIGITAL (PWM~)

(2) ~6
6
ATMEL

A0 5
ANALOG IN

1k A0 ~5
A1 A1
4
4
A2 3
R16 A3
A2 ~3
2
A3 2
A4 A4 TX > 1
1
1k A5 0

Seleccionar
A5 RX < 0
www.arduino.cc
blogembarcado.blogspot.com

SIMULINO UNO

RV1
89%

1k

El circuito realizado funciona de la siguiente forma. En primer lugar, se tienen 2 pines de microcontrolador
(Pines análogos A0 y A1) configurados como entradas, como se puede ver en la imagen, y a su vez están
conectados a 2 botones. El primero cuyo nombre es “Avanzar” visualizar en el menú de la LCD, las distintas
señales disponibles; el otro botón llamado “seleccionar”, como su nombre lo dice, permite seleccionar la señal
que se está mostrado en la LCD, y la muestra por el Puerto D. Dicho puerto, dependiendo de la señal
seleccionada según los 2 botones descritos anteriormente, mostrara el vector correspondiente a la señal en
condigo binario (0 a 255); y al tener conectado un conversor digital – análogo R2R, dicho valor se convierte
en un voltaje, el cual es amplificado por un amplificador operacional y su visualización es mediada por un
osciloscopio conectado a la salida de este, y permite ver los distintos tipos de señal según la selección: Seno,
cuadrada, triangular, ECG ,y una última señal “manual” dada por el voltaje que pasa por un potenciómetro
conectado al pin análogo A3.
3. Conclusiones
Se logró cumplir con el objetivo propuesto de desarrollar y comprender el funcionamiento básico de los
microcontroladores, como lo es el Arduino UNO, de la mano con el uso de los conversores digital – análogo
R2R.
Se evidencia que al momento de realizar una adecuada unión de entradas, salidas y dispositivos teniendo en
cuenta sus referencias y valores se puede realizar un montaje en protoboard, el cual demuestre materialmente
lo plasmado en la teoría. Gracias al uso de los microcontroladores, se pudo dar paso a innumerables usos
“jugando” con el uso y construcción de vectores, hasta llegar a las construcciones de las supercomputadoras
como se ven hoy en día.
Gracias a la práctica realizada, se pudo aprender y comprender la importancia de la programación, en este
caso, para lograr el funcionamiento de un circuito que permita mostrar distintos tipos de señales definidas en
vectores, cuyos componentes son números enteros; a su vez que se evidencia una conversión D-A para
evidenciar la señal en un osciloscopio. Este proceso de conversión, permitirá entender en un futuro la correcta
ejecución de sistemas y equipos médicos más complejos y útiles para la ciencia. También se pudo observar la
notable presencia de circuitos similares en aparatos electrónicos que se han convertido en vitales piezas para el
desarrollo de la humanidad.
1. Bibliografía

Gómez, B. (21 de Julio de 2018). ProfessionalReview. Obtenido de


https://www.profesionalreview.com/2018/07/21/latencia-memoria-ram/
Raffino, M. E. (9 de Julio de 2020). ConceptoDe. Obtenido de https://concepto.de/microprocesador/

También podría gustarte