Съдържание:

Educaacion Proyecto Final - Видео Y TV Interactiva: 6 стъпки
Educaacion Proyecto Final - Видео Y TV Interactiva: 6 стъпки

Видео: Educaacion Proyecto Final - Видео Y TV Interactiva: 6 стъпки

Видео: Educaacion Proyecto Final - Видео Y TV Interactiva: 6 стъпки
Видео: 17 миллионов зрителей смотрели как человек сходит с ума | Nasubi 2024, Ноември
Anonim
Educaacion Proyecto Final - Видео Y TV Interactiva
Educaacion Proyecto Final - Видео Y TV Interactiva

El producto será un system multimedia interactvo, el cual sedesplegará a través de un medio audiovisual y contará con elementos software y hardware per manipulación, teniendo en cuenta que su propósito es enseñar a los estudiantes mediante las formas de aprendizaje концептуална, методологична, процес на заснемане на изображения, аудио и видео, обясняващи компоненти. El system estará basado en características de videos interactivos de kategoría Learning, por lo tanto, contará con mecánicas que evaluarán el aprendizaje que el usuario ha adquirido.

Материали

- 1 сензор RFID RC522

- 1 Potenciómetro

- 1 Ardunio Mega

Електронният лектор RFID и потенциалът на потенциала са незаменими и моделен прототип, функционален, който се използва от контролера за разрешаване на взаимодействие с системата. El lector tendrá como función leer las etiquetas para seleccionar la respuesta en cada pregunta y el potenciómetro será el encargado de navegar dentro las opciones.

Софтуер

- IDE на Arduino.

- Adobe Illustrator (по избор)

- Обработка

Стъпка 1: Видео Educativo

Видео Educativo
Видео Educativo

Inicialmente se identificaron los temas a tratar dentro del vídeo; en nuestro caso Captura (imagen, video y sonido), extrayendo de diferentes fuentes confiables la información más importante acerca de estos temas, teniendo en cuenta la parte conceptual, metodológica y funcional de cada uno, ya que esta información sera el contenido de los.

Después de tener identificado los temas a tratar y la información que se desplegará en el vídeo educativo, procedimos a realizar las diferentes comiciones de video, imagen, texto y audio, por medio de un software editor de video, en nuestro caso Adobe Premiere, параграф así obtener un producto final el cual es el vídeo educativo que se le brindara al usuario al momento de interactuar con el modelo prototipo funcional.

Este vídeo educativo sera la primer interfaz del usuario, ya que gracias a este vídeo el usuario tendrá la información necesaria para responder a las diferentes preguntas; garantizando así el aprendizaje y evaluación, концептуално, metodológica y концептуално.

Стъпка 2: Interfaz De Usuario

Interfaz De Usuario
Interfaz De Usuario
Interfaz De Usuario
Interfaz De Usuario
Interfaz De Usuario
Interfaz De Usuario
Interfaz De Usuario
Interfaz De Usuario

Като среден софтуер за вектори, в nuestro caso Adobe Illustrator, можете да изтеглите los elementos que componían nuestra interfaz de usuario.

Se realizaron los fondos para cada interfaz de usuario del modelo prototipo funcional; además se diagramo todas las opciones necesarias con las cuales va a interactuar el usuario, principalmente las opciones de respuesta, las cuales se desarrolló un recuadro con cada opción y un color diferenciador a las demás.

Стъпка 3: Conexión De Los Componentes

Conexión De Los Componentes
Conexión De Los Componentes
Conexión De Los Componentes
Conexión De Los Componentes

Empezaremos реализира la conexión del RFID-RC522, пара локуално се дебе тенер en cuenta la ubicación de los pines MOSI, MISO y SCK и ел Arduino Mega. Los Pines SDA y RST pueden ir ubicados a cualquier pin digital, pero deben ser especificados en el código posteriormente.

Продължаване на мострата в ланекса, която се реализира за RFID:

  • SDA = D9
  • RST = D8
  • MOSI = D51
  • MISO = D50
  • SCK = D52

El siguiente componentnte es el potenciometro, para cual te dejamos un enlace que explica como se realiza la conexión de uno de forma detalada. Луис Ламас Потенциометро

Стъпка 4: Програмиране - Arduino

Ahora empezaremos con la programación. El código completo lo puedes descargar cuando quieras.

Inicialmente debemos añadir las librerías que vamos a usar:

#включва

Ahora para la lectura del RFID y del potenciomentro se configuran los parámetros y se uselize un método que facilita la lectura del RFID:

#дефинирайте RST_PIN 8 // RST

#дефинирайте SS_PIN 9 // SDA MFRC522 RFID (SS_PIN, RST_PIN); // Променливи globales String ID = ""; логическо условие = невярно; const int analogPin = A0; int стойност; // променлива que almacena la lectura analógica raw int pos;

int cont = 0;

int caso;

int casoviejo = 0; void setup () {Serial.begin (9600); SPI.begin (); RFID. PCD_Init (); } // Метод за сравнение на етикетите на RFID

int CompararTags (Идентификатор на низ) {

int caso = 0; if (ID.equals ("43 27 97 10")) {caso = 1; } if (ID.equals ("124 192 204 194")) {caso = 2; } if (ID.equals ("30 44 244 229")) {caso = 3; } връщане caso;

}

байт ActualUID [4];

Низ leerRFID (MFRC522 rfid) {String ID0; Низ ID1; Низ ID2; Низ ID3; Идентификатор на низ; // Enviamos serialemente su UID for (byte i = 0; i <rfid.uid.size; i ++) {ActualUID = rfid.uid.uidByte ; if (i == 0) {ID0 = String (ActualUID ); } if (i == 1) {ID1 = String (ActualUID ); } if (i == 2) {ID2 = String (ActualUID ); } if (i == 3) {ID3 = String (ActualUID ); }} ID = ID0 + "" + ID1 + "" + ID2 + "" + ID3; идентификатор за връщане; }

Como se desea enviar un data según el TAG que se pase por el senzor, se realiza un un método que los compara

В крайна сметка, debemos enviar los datos por el serial a Processing, para lo cual armamos un String que tienen toda la información separado cada uno por una ",", ya que en Processing realizaremos un Split () que allowirá separator los datos y utilizarlos según la удобство. Ademas debemos recibir un valor de Processing con la finalidad de reiniciar los valores que se envían.

void loop () {

стойност = analogRead (analogPin); // realizar la lectura analógica raw pos = map (стойност, 0, 1023, 0, 100); // se escribe write para enviar INTs //Serial.write(pos); // рецибиране на предаване на данни за обработка if (Serial.available ()) {// Ако данните са достъпни за четене, int val = Serial.read (); caso = val; } if (RFID. PICC_IsNewCardPresent ()) {// Seleccionamos una tarjeta if (RFID. PICC_ReadCardSerial ()) {ID = leerRFID (RFID); //Serial.println(ID); caso = CompararTags (ID); // si el caso que se lee es igual al anterior que se leyo, no va a imprimir. if (! (casoviejo == caso)) {switch (caso) {случай 1: //Serial.println(caso); casoviejo = caso; прекъсване; случай 2: //Serial.println(caso); casoviejo = caso; прекъсване; случай 3: //Serial.println(caso); casoviejo = caso; прекъсване; }}}}

String potenciometro = (Низ) pos;

Низ casoRFID = (Низ) caso; Низ todo = potenciometro+","+casoRFID+","+"00"; Serial.println (todo); забавяне (500); }

Стъпка 5: Програмиране - Обработка

Debido a que el código es extenso, se explicara los puntos mas importantes a tener en cuenta en la elaboración del system. Sin embargo podrás descargar el código completo cuando quieras.

Primero se importan las librerías a usar:

обработка на внос.serial.*;

обработка на внос.видео.*;

Después se deben crear las imágenes y los vídeos, para que estos puedan ser visualizados.

Филм myMovie ;

PImage fondo_IMAGEN; PImage concept1, concept2, concept3, concept4, muestra; PImage opcion1, opcion2, opcion3; PImage opcmet1, opcmet2, opcmet3; PImage opc1_1, opc1_2, opc2_1, opc2_2, opc3_1, opc3_2; PImage funcional1, funcional2, funcional3;

en el setup () debemos especificar los nombres de los archivos, los cuales deben estar dentro de una carpeta lalamada data ubicada en la misma carpeta del proyecto. Ademas especificamos el tipo de letra a usar y el puerto serial por el cual recibirá los dato que envié el Arduino.

myMovie = нов филм [2];

размер (640, 360); frameRate (60); f = createFont ("Arial", 18, вярно); Низ portName = "COM4"; // променяме 0 на 1 или 2 и т.н., за да съответства на вашия порт myPort = new Serial (this, portName, 9600); myMovie [0] = нов филм (това, "video2.mp4"); fondo_IMAGEN = loadImage ("Interfaces_2_Fondo_Imagen.png"); concept1 = loadImage ("Interfaces_2_1 ° - B.png"); concept2 = loadImage ("Interfaces_2_1 ° - G.png"); concept3 = loadImage ("Interfaces_2_1 ° - R.png"); muestra = loadImage ("Interfaces_2_1 ° - RGB.png"); opcion1 = loadImage ("img_Imagen-Metodología-05.png"); opcion2 = loadImage ("img_Imagen-Metodología-06.png"); opcion3 = loadImage ("img_Imagen-Metodología-07.png"); opc1_1 = loadImage ("img_Imagen-Funcional-08.png"); opc1_2 = loadImage ("img_Imagen-Funcional-09.png"); opc2_1 = loadImage ("img_Imagen-Funcional-10.png"); opc2_2 = loadImage ("img_Imagen-Funcional-11.png"); opc3_1 = loadImage ("img_Imagen-Funcional-13.png"); opc3_2 = loadImage ("img_Imagen-Funcional-15.png"); funcional1 = loadImage ("funcional1.png"); funcional2 = loadImage ("funcional2.png"); funcional3 = loadImage ("funcional3.png"); myMovie [0].play ();

Las siguientes lineas de código están dentro del método Draw ().

Премиерът се получава с los datos del serial y realizamos el Split () que permite separator cada uno de los datos que se reciben.

if (myMovie [0].time () == myMovie [0].duration ()) {видео = вярно;

} else {видео = невярно; } while (myPort.available ()> 0) {String val = myPort.readString (); Низ valor = val; // separa los valores que recoje el serial. int nums = int (разделяне (доблест, ',')); pote = nums [0]; caso = числа [1]; println (pote+","+caso); }

Se tiene un switch case, para cada escena del system, por lo tanto se reproducirá un método en el momento en el momento en que la variable "cambioEscena" cambie.

ако (! видео) {

изображение (myMovie [0], 0, 0, 640, 360); } else {background (255); ключ (cambioEscena) {случай 0: прекъсване; случай 1: escena1 (); прекъсване; случай 2: escena2 (); прекъсване; случай 3: escena3 (); прекъсване; }

Los cambios de escenas се реализира и функционира като cuando el mouse es presionado, por lo tanto се използва el método mousePressed () para realizar este cambio. También се използва este método para almacenar las respuestas que el usuario da al system y posteriormente verificarlas y guardarlas en un documento Txt.

void mousePressed () {

// dimenciones del boton siguente escena 1 if (cambioEscena == 1) {if (mouseX> Sx && mouseX Sy && mouseY Sx2 && mouseX Sy2 && mouseY xx && mouseX yy && mouseY 450 && mouseX 100 && mouseY <100+30) { // ALMACENA LA RESPUESTA DEL PARAMETRO! if (parametroOpc1 == 1) {respuesta_1_3 = 1; } if (parametroOpc1 == 2) {respuesta_1_3 = 2; } if (parametroOpc2 == 1) {respuesta_2_3 = 1; } if (parametroOpc2 == 2) {respuesta_2_3 = 2; } if (parametroOpc3 == 1) {respuesta_3_3 = 1; } if (parametroOpc3 == 2) {respuesta_3_3 = 2; } myPort.write (0); println (respuesta_1_3+","+respuesta_2_3+","+respuesta_3_3); }

if (mouseX> xx && mouseX yy && mouseY finx && mouseX finy && mouseY <finy+Sh2) {guardarRespuestas (); изход (); }}}

El método utilizado para almacenar respuestas es el siguiente:

void guardarRespuestas () {

String ResConceptual = "Incorrecto"; String ResMetodlo = "Incorrecto"; String ResFuncio = "Incorrecto"; if (respuesta_1 == 2) {ResConceptual = "Correcto"; } if (y == 210 && y2 == 140 && y3 == 70) {ResMetodlo = "Correcto"; } ако (escena2y == 140 && escena2y2 == 210 && escena2y3 == 70 && respuesta_1_3 == 1 && respuesta_2_3 == 2 && respuesta_3_3 == 2) {ResFuncio = "Correcto"; } String Respuestas = "Резултатна концептуална:"+ResConceptual+"Respuesta metodologica:"+ResMetodlo+"Respuesta funcional:"+ResFuncio; String list = split (Respuestas, ''); // Записва низовете във файл, всеки на отделен ред saveStrings ("RESPUESTAS.txt", списък); }

Стъпка 6: Изключване

Ejecución
Ejecución
Ejecución
Ejecución

Finalmente cuando se ejecuta el program iniciara con un vídeo explicativo. Después se uselizara el potencimetro para variar las respuestas que se desean dar y los tags y el sensor RFID para seleccionar los pasos en la interfaz de la segunda y tercera pregunta.

Препоръчано: