Está en la página 1de 6

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

ESCUELA PROFESIONAL ACADÉMICA DE INGENIERÍA DE

SOFTWARE

Semana N°7 - Tarea - Trabajo grupal

Docente: Fermín Pérez, Félix Armando

Curso: Arquitectura de Computadoras

Sección: 1

Integrantes:

Angeles Bocangel, Manuel Moises 20200046

Calderón Saldaña Hilton Eduardo 15200202

Gonza Soto, Raquel Stacy 20200066

Lopez Terrones, Xiomy Ximena 20200020

Saico Merma, Favio Genaro 20200290

Semestre 2022 - 1
SEMANA 7 - ACTIVIDAD EN EQUIPO

Indicaciones:

Estudiar el video del siguiente enlace: https://www.youtube.com/watch?v=hE3GLM6KB8Q

Luego en grupo, hacer una pequeña aplicación que muestre en el monitor serie, los valores de

una señal de entrada de un sensor, simulado por uno de los potenciómetros del simulador.

Código:

// Declaración de variables

double lectura1;
double lectura2;

int valuePush;

int valueSwitch;

int buzzer = 08;

int ledPin1 = 07;

int ledPin2 = 12;

// Función principal que se ejecuta al inicio del programa

void setup() {

// Definimos los pines A0, A1, 02 y 04 como entrada

pinMode(A0, INPUT);

pinMode(A1, INPUT);

pinMode(02, INPUT);

pinMode(04, INPUT);

// Definimos las variables buzzer, ledPin1 y ledPin2 como pines de salida

pinMode(buzzer, OUTPUT);

pinMode(ledPin1, OUTPUT);

pinMode(ledPin2, OUTPUT);

// Inicializamos el Serial en el puerto 9600

Serial.begin(9600);

void loop() {

// Escribimos pines digitales de tipo LOW

digitalWrite(ledPin1 , LOW);

digitalWrite(ledPin2 , LOW);

// Leemos los valores de los pines analógicos A0 y A1

lectura1 = analogRead(A0);

lectura2 = analogRead(A1);
// Leemos los estados de los pines digitales 04 y 02

valuePush = digitalRead(04);

valueSwitch = digitalRead(02);

// Leemos los estados de los pines 04 y 02

if (valueSwitch == HIGH) {

if(valuePush == HIGH) {

// lectura1 y lectura2 se multiplican por 0.1955 para obtener valores de 0 a 200, que es el
rango de temperatura que estamos evaluando.
lectura1 *= 0.1955;

lectura2 *= 0.1955;

Serial.print("Lectura 1: ");

Serial.print(lectura1);

Serial.print("\n");

Serial.print("Lectura 2: ");

Serial.print(lectura2);

Serial.print("\n");

// Condicional respecto a la temperatura detectada

if (lectura1 >= 120.0 || lectura2 >= 120.0) {

// En caso lectura1 o lectura2 sean mayores de 120 se reproducirá el tono de llamada


‘tone’ y se encenderá el LED correspondiente a ledPin1.
tone(buzzer, 654, 500);

digitalWrite(ledPin1 , HIGH);

} else {

//Si no se supera los 120 se encenderá el LED correspondiente a ledPin2.


digitalWrite(ledPin2 , HIGH);

} } }

// Tiempo de espera de 400 milisegundos

delay(400);

}
Descripción:

Declaramos un par de variables que se utilizarán en el programa, las cuales un par de ellas

declararemos su pines. Lo que hace el programa es que detecta si el sensor 1 o el sensor 2 de

temperaturas detecta un valor mayor o igual a 120.0, se procederá a encender las luces rojas y

el piezo como signo de alerta, caso contrario, permanecerá la luz led en verde.
Referencias:

Microprocessor Simulator V5.0 Help. (2022). Microprocessor Simulator V5.0 Help.

http://www.softwareforeducation.com/sms32v50/sms32v50_manual/index.htm

Sánchez, S. (2015). MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086.

http://www.ganimides.ucm.cl/rcofre/manual2-8086.pdf

M. (2018, 10 febrero). sms32v50. Dokumen.Tips.

https://dokumen.tips/documents/sms32v50.html

Procedimientos en Ensamblador Parte 1. (2021, 1 mayo). [Vídeo]. YouTube.

https://www.youtube.com/watch?v=qYy0kz9WzPM

También podría gustarte