Zusammenfassung der Ressource
Flussdiagrammknoten
- ¿La temperatura es <28°C?
- Graficamos la medición de la temperatura
- Habilitamos el reloj al modulos PORTD , PORTB y PORTA
- Configuramos los periféricos PORTD , PORTB y PORTA
- Habilitamos como alternativa 1 al PORTB18, PORTA5 y PORTD2
- Habilitamos el vector de interrupción del PORTD y bajamos su prioridad a 2
- ¿La conversión ya se realizó?
- Habilitamos el reloj al modulo ADC0, al puerto donde vayamos a conectar el display, el sensor y el zumbador.
- Creamos la tarea para que el usuario ingrese su edad y revisar que su BPM no sea demasiado alto
- Creamos la tarea para leer el valor del sensor.
- Creamos la tarea para activar el zumbador.
- Creamos la tarea para mandar el valor de BPM a la pantalla.
- Creamos la tarea para mandar el valor del sensor al Serial plotter.
- Leemos el valor del sensor y lo mandamos al serial plotter y a la pantalla.
- Activar y desactivar el zumbador
- Mandar a pantalla mensaje de alerta y dejar activado el buzzer
- Habilitamos como salida al PORTB18, PORTA5 y como entrada al PORTD2
- Creamos un nuevo evento: eventoAlarma
- Creamos la tarea "parpadea_led" con prioridad 2
- Creamos la tarea "alarma" con prioridad 5
- Cerramos todas las ventanas abiertas en Matlab, limpiamos el área de trabajo y la ventana de comando
- Establecemos el tiempo de grabado y la frecuencia de grabación
- Se inicia la grabación, se guarda la grabación y se lee la grabación
- Normalizamos el audio del usuario
- Selección de paleta a modificar
- Selección de paleta a la cual se quiere cambiar
- Se crean vectores de las paletas del sistema
- Se divide la imagen original en sus tres canales (rojo, verde y azul)
- Se obtienen las dimensiones de la imagen original (m,n)
- Se umbralizan los 3 canales (todo pixel con valor menor a 30 será convertido a 0 y los demás se quedarán igual)
- ¿Se cambiarán paletas de colores?
- Entra a la parte correspondiente para la paleta de color seleccionada
- ¿Los valores del pixel quedan dentro de la paleta?
- Cambiar el valor del pixel por los de la paleta seleccionada
- Deja el valor del pixel original
- ¿Ya se termino el barrido?
- Entra a la parte correspondiente para la paleta de color seleccionada
- ¿Los valores del pixel quedan dentro de la paleta?
- Deja el valor del pixel original
- Promediar el valor de los 3 canales y ponerle ese valor a cada canal en el respectivo pixel
- ¿Ya se termino el barrido?
- Concantenar los tres canales
- Leemos los audios pregrabados
- Normalizamos los audios de la base de datos
- Obtenemos el coeficiente de error de la base de datos contra la grabación
- Determinamos el menor coeficiente de error
- De acuerdo al valor de min_error, el cual es el menor coeficiente de error, se determina que canción es la de la grabación
- Mostramos las gráficas del sistema
- ¿Se quiere mover el servomotor?
- ¿Se quiere mover el servomotor 180°?
- ¿Se quiere mover el servomotor 90°?
- ¿Se quiere mover el servomotor 0°?
- ¿El mútex está disponible?
- El servomotor se mueve 180°
- El servomotor se mueve 90°
- El servomotor se mueve 0°
- Indicamos las librerías a utilizar
- Declaramos los semáforos y el mútex
- Declaramos la variable necesaria para dar y quitar recursos desde una interrupción
- Declaramos las subrutinas empleadas
- Declaramos las variables a emplear en el sistema
- Inicializamos la tarjeta KL25Z
- Habilitamos el reloj para el PORTD, el PORTB y el TPM2
- Habilitamos los pines 0, 2 y 3 del PORTD como pines para interrupciones
- Bajamos la prioridad del vector de interrupciones del PORTD
- Habilitamos el vector de interrupciones del PORTD
- Generamos una señal de PWM de 20 ms
- Configuramos el PORTB2 como alternativa 3
- Creamos la "Tarea1_180" con prioridad 7
- Creamos la "Tarea2_90" con prioridad 5
- Creamos la "Tarea2_90" con prioridad 3
- Creamos los 3 semáforos y el mútex
- Tomamos el recurso del semáforo"Smf3"
- Tomamos el recurso del mútex
- LLamamos a la subrutina Subfuncion
- Liberamos el recurso del mútex
- grados_modificados=((grados*22)+1000)
- grados_modificados=((grados*18)+1000)
- grados_modificados=(((grados-9)*21)+1000)
- Mandamos grados_modificados como el valor del canal para PWM
- Generamos un retardo para que el servo pueda llegar a la posición indicada sin problema
- Igualamos el vector de las interrupciones del PORTD a banderas
- Limpiamos las banderas del vector de interrupciones del PORTD
- Libera el recurso del semáforo "Smf1"
- Libera el recurso del semáforo "Smf2"
- Libera el recurso del semáforo "Smf3"