Semana 10¶
Esta semana continuaremos con el reto defindo la semana semana:
Ejercicio 4: Reto¶
Asuma que un arduino tiene conectados varios sensores y actuadores así:
- Dos sensores digitales
- Dos sensores analógicos: valores de 0 a 1023
- Dos actuadores digitales.
- Dos actuadores analógicos.
A su vez el arduino se conecta a un computador a través del puerto USB y se comunica utilizando la interfaz Serial. Realice un programa, en el arduino, que realice las siguientes tareas concurrentes:
- Recibir comandos a través de la interfaz Serial
- Enciende y apaga un LED a una frecuencia de 10 Hz
- Enciende y apaga un LED a una frecuencia de 5 Hz.
Los comandos recibidos por el puerto serial serán los siguientes:
- read D1. Este comando hace que se envie al PC el valor del sensor digital 1. El arduino devuelve la cadena: D1 estado. Donde estado puede ser 1 o 0.
- read D2: enviar al PC el valor del sensor digital 2. El arduino devuelve la cadena: D2 estado. Donde estado puede ser 1 o 0.
- read A1: enviar el PC el valor del sensor analógico 1. El arduino devuelve la cadena A1 valor. Donde valor está entre 0 y 1023.
- read A2: enviar el PC el valor del sensor analógico 2. El arduino devuelve la cadena A2 valor. Donde valor está entre 0 y 1023.
- write O1 estado: donde estado puede ser 1 o 0. Activa o desactiva la salida digital 1
- write O2 estado: donde estado puede ser 1 o 0. Activa o desactiva la salida digital 2
- write P1 valor: donde valor puede ser de 0 a 255. Escribir un valor de PWM igual a valor en el actuador analógico 1.
- write P2 valor: donde valor puede ser de 0 a 255. Escribir un valor de PWM igual a valor en el actuador analógico 2.
La aplicación del computador es tipo consola en C# y debe tener:
- Dos hilos.
- Un hilo debe imprimir cada 100 ms el valor de un contador.
- Otro hilo pendiente de los eventos del teclado.
- Asigne una tecla a cada comando que será enviado al arduino.
- Indicar si el arduino entendió o no entendió el comando, es decir, mostrar el NACK o el ACK.
NOTAS:
Para cualquier de los comandos write el arduino debe devolver ACK si reconoce el comando y NACK si no lo reconoce. Usted debe decidir, dados los requisitos de la aplicación, si requiere introducir caracteres de nueva línea y/o retorno de carro. TENGA PRESENTE que LOS LEDs deben funcionar SIEMPRE a 5 Hz y 10 HZ como se declaró previamente, ese decir, su funcionamiento no puede ser interrumpido por las operaciones del puerto serial.
Evaluación Sumativa 3¶
La evaluación sumativa 3 consiste en entregar el ejercicio 4 funcionando más la sustentación.
Consideraciones:¶
Plazo de entrega, martes 31 de marzo a las 12 de la MEDIA NOCHE
Cree una carpeta. Incluya en esa carpeta otras dos. Una con el proyecto C# y otra con el proyecto Arduino. Adicionalemnte incluya un archivo .pdf con:
EL ENLACE, solo el ENLACE a un video que tenga las siguientes secciones:
- Sección 1: mostrar cómo se compila cada proyecto.
- Sección 2: mostrar cada proyecto corriendo.
- Sección 3: mostar ambos proyectos funcionando de manera integrada.
- Sección 4: explicar cómo probó cada proyecto por separado.
- Sección 5: explicar de manera detallada cuál es la idea de funcionamiento general de cada proyecto y luego una explicación muy detallada.
Comprima la carpeta anterior con SOLO usando .ZIP, no RAR, no 7Z, SOLO .ZIP. NO CUMPLIR CON ESTO REBAJARÁ EN UNA UNIDAD AUTOMÁTICAMENTE LA NOTA FINAL.
El video debe tener buena calidad de audio para poder escuchar claramente su sustentación.
Suba la sustentación aquí: https://www.dropbox.com/request/fLDGeeeQvte5g2Za4UYK
Criterios de evaluación¶
Nota_Final = Funcionamiento*sustentación
Donde funcionamiento será una nota de 0 a 5 y sustentación un factor de 0 a 1. ESTO quiere decir que el funcionamiento puede ser 5, pero si la sustentación es 0, la nota final final 0.
Para la sustentación:
- 1: se incluyen todas las sesiones. En particular la 5 es correcta, precisa y detallada.
- 0.6: incluye todas las sesiones, pero la sección 5 evidencia algunos problemas conceptuales leves
- 0.4: incluye todas las sesiones, pero la sección 5 evidencia algunos problemas conceptuales graves
- 0: no entregó la sustentación completa o la sustentación no evidencia la realización y/o entendimiento del trabajo.