Índice:

Educaacion Proyecto Final - Vídeo Y TV Interactiva: 6 etapas
Educaacion Proyecto Final - Vídeo Y TV Interactiva: 6 etapas

Vídeo: Educaacion Proyecto Final - Vídeo Y TV Interactiva: 6 etapas

Vídeo: Educaacion Proyecto Final - Vídeo Y TV Interactiva: 6 etapas
Vídeo: Corto sobre el esfuerzo y el poder transformador de la educación 2024, Julho
Anonim
Educaacion Proyecto Final - Vídeo Y TV Interactiva
Educaacion Proyecto Final - Vídeo Y TV Interactiva

O produto será um sistema multimídia interativo, o qual será transferido para um meio audiovisual e contará com elementos de software e hardware para sua manipulação, tenendo na cuenta que seu propósito es enseñar para estudar mediante as formas de aprendizagem conceitual, metodológico e funcional, el processo de captura de imagem, áudio e vídeo, explicando todos os componentes do sus. El sistema disponível basado en características de vídeos interactivos de categoría Learning, por lo tanto, contará con mecánicas that Evaluarán el aprendizaje that el usuario ha adquirido.

Materiales

- 1 Sensor RFID RC522

- 1 Potenciómetro

- 1 Ardunio Mega

O leitor RFID e o potenciômetro são indispensáveis neste modelo de protótipo funcional, ya que será o driver que permitirá que o usuário interaja com o sistema. Eleitor tendrá como função leer las etiquetas para selecionar la respuesta en cada pregunta y el potenciómetro será el encargado de navegar dentro las opciones.

Programas

- IDE Arduino.

- Adobe Illustrator (Opcional)

- Em processamento

Etapa 1: Vídeo Educativo

Video Educativo
Video Educativo

Inicialmente, identifique os temas a tratar dentro do 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 videos.

Después de tener identificado los temas para tratar y la información que se desplegará en el video educativo, procedimos a realizar las diferentes composiciones de video, imagen, text y audio, por medio de un software editor de video, en nuestro caso Adobe Premiere, para 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 será a primer interfaz del usuario, ya que gracias a este vídeo el usuario tendrá la información necesaria for responder a las diferentes preguntas; garantindo así el aprendizaje y avaliaación, conceitual, metodológica e conceitual.

Etapa 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

Por medio de un software de vectores, en nuestro caso Adobe Illustrator, se desarrolló todos los elementos that componían nuestra interfaz de usuario.

Realizar os fundos para cada interface de usuário do modelo de protótipo funcional; además se diagramo todas as opções 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.

Etapa 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 realizando a conexão do RFID-RC522, para local se debe tener en cuenta a ubicación de los pines MOSI, MISO y SCK en el Arduino Mega. Los pines SDA e RST pueden ir ubicados um cualquier pin digital, pero deben ser criado en el código posteriormente.

A continuação se mostra as conexões que se realizam para o RFID:

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

El siguiente componente es el potenciometro, para cual te dejamos un enlace que explica como se realiza la conexión de uno de forma detallada. Luis Llamas Potenciometro

Etapa 4: Programação - Arduino

Ahora empezaremos com a programação. O código completo para puedes descargar cuando quieras.

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

#incluir

Agora para a leitura do RFID e do potenciomentro para configurar os parâmetros e usar um método que facilita a leitura do RFID:

# define RST_PIN 8 // RST

# define SS_PIN 9 // SDA MFRC522 RFID (SS_PIN, RST_PIN); // Variáveis globales String ID = ""; condição booleana = falso; const int analogPin = A0; valor int; // variável 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 (); } // Metodo para comparar as tags del RFID

int ComparTags (String ID) {

caso interno = 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; } return caso;

}

byte ActualUID [4];

String leerRFID (MFRC522 rfid) {String ID0; String ID1; String ID2; String ID3; String ID; // 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; ID de retorno; }

Como se desea enviar un dato según el TAG que se pase pelo sensor, se un realiza método que los compara

Finalmente, debemos enviar los dados por el serial a Processing, para lo cual armamos un String que tienen toda a informação separada cada uno por una ",", ya que en Processing realizaremos un Split () que permitirá separar los datos y utilizarlos según la conveniencia. Ademas debemos receber um valor de Processing com a finalidad de reiniciar los valores que se envían.

void loop () {

valor = analogRead (analogPin); // realizar a lectura analógica raw pos = map (valor, 0, 1023, 0, 100); // se escriba escrever para enviar INTs //Serial.write(pos); // recibe los datos de Processing if (Serial.available ()) {// Se os dados estão disponíveis para leitura, int val = Serial.read (); caso = val; } if (RFID. PICC_IsNewCardPresent ()) {// Seleccionamos uma tarjeta if (RFID. PICC_ReadCardSerial ()) {ID = leerRFID (RFID); //Serial.println(ID); caso = ComparTags (ID); // se o caso que se lee é igual ao anterior que se leyo, não há como imprimir. if (! (casoviejo == caso)) {switch (caso) {case 1: //Serial.println(caso); casoviejo = caso; pausa; caso 2: //Serial.println(caso); casoviejo = caso; pausa; caso 3: //Serial.println(caso); casoviejo = caso; pausa; }}}}

Cadeia potenciometro = (Cadeia) pos;

String casoRFID = (String) caso; String todo = potenciometro + "," + casoRFID + "," + "00"; Serial.println (todo); atraso (500); }

Etapa 5: Programação - Processamento

Debido o código extenso, explicando os pontos mais importantes a serem considerados importantes na elaboração do sistema. Sin embargo podrás descargar el código completo cuando quieras.

Primero se importan las librerías a usar:

import processing.serial. *;

import processing.video. *;

Después se deben crear las imagens e los vídeos, para que estos puedan ser visualizados.

Filme meuMovie ;

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 llamada 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 datos que envié el Arduino.

myMovie = novo filme [2];

tamanho (640, 360); frameRate (60); f = createFont ("Arial", 18, verdadeiro); String portName = "COM4"; // altere 0 para 1 ou 2 etc. para corresponder à sua porta myPort = new Serial (this, portName, 9600); myMovie [0] = novo filme (este, "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 ();

As linhas de código estão dentro do método Draw ().

O primeiro é receber os dados de série e realizar o Split () que permite separar cada um dos dados que são recebidos.

if (myMovie [0].time () == myMovie [0].duration ()) {video = true;

} else {video = false; } while (myPort.available ()> 0) {String val = myPort.readString (); String valor = val; // separa los valores que recoje el serial. int nums = int (divisão (valor, ',')); pote = nums [0]; caso = nums [1]; println (pote + "," + caso); }

Selecione um caso de comutação, para cada escena do sistema, para que tanto se reproduza um método no momento no momento em que a variável "mudarEscena" mudar.

if (! video) {

imagem (myMovie [0], 0, 0, 640, 360); } else {background (255); switch (cambioEscena) {case 0: break; caso 1: escena1 (); pausa; caso 2: escena2 (); pausa; caso 3: escena3 (); pausa; }

As mudanças de escenas se realizam na função quando o mouse é presionado, por isso tanto se utiliza o método mousePressed () para realizar esta mudança. Também se utiliza este método para almacenar as respostas que o usuário do sistema e posteriormente verificarlas e guardarlas em um 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 (); saída(); }}}

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

void guardarRespuestas () {

String ResConceptual = "Incorreto"; String ResMetodlo = "Incorrecto"; String ResFuncio = "Incorrecto"; if (respuesta_1 == 2) {ResConceptual = "Correcto"; } if (y == 210 && y2 == 140 && y3 == 70) {ResMetodlo = "Correcto"; } if (escena2y == 140 && escena2y2 == 210 && escena2y3 == 70 && respuesta_1_3 == 1 && respuesta_2_3 == 2 && respuesta_3_3 == 2) {ResFuncio = "Correcto"; } String Respuestas = "Respuesta conceptual:" + ResConceptual + "Respuesta metodologica:" + ResMetodlo + "Respuesta funcional:" + ResFuncio; String list = split (Respuestas, ''); // Grava as strings em um arquivo, cada uma em uma linha separada saveStrings ("RESPUESTAS.txt", lista); }

Etapa 6: Ejecución

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

Finalmente cuando se ejecuta o programa iniciara com um vídeo explicativo. Después de utilizar o potencimetro para variar as respuestas que se desean dar y los tags y el sensor RFID para selecionar los pasos en la interfaz de la segunda y tercera pregunta.

Recomendado: