Kazalo:

Educaacion Proyecto Final - Video Y TV Interactiva: 6 korakov
Educaacion Proyecto Final - Video Y TV Interactiva: 6 korakov

Video: Educaacion Proyecto Final - Video Y TV Interactiva: 6 korakov

Video: Educaacion Proyecto Final - Video Y TV Interactiva: 6 korakov
Video: ⭐3 TRUCOS para hacer VIDEOS EXPLICATIVOS para ESTUDIANTES y PROFESORES🔥 [InVideo]🟨100prekool 2024, Julij
Anonim
Educaacion Proyecto Final - Video Y TV Interactiva
Educaacion Proyecto Final - Video Y TV Interactiva

El producto será un system multimedia interactvo, el cual sedesplegará a traveés de un medio audiovisual y contará con elementos software and hardware para manipulación, teniendo en cuenta que su propósito es enseñar a los estudiantes mediante las formas de aprendizaje konceptualno, metodološko Predvajajte sliko, avdio in video, pojasnite vse komponente. Sistemi so opremljeni s posebnimi videoposnetki o interaktivnih videoposnetkih po kategorijah Učenje, po lonto, contará con mecánicas que evaluarán el aprendizaje que el usuario ha adquirido.

Materiales

- 1 senzor RFID RC522

- 1 potencialni meter

- 1 Ardunio Mega

Elektronski lektor RFID in potencialno nepogrešljiv sistem sta potrebna za prototipno funkcijo, ki je namenjena upravljanju, če dovolite uporabo medsebojnega delovanja sistema. 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.

Programska oprema

- Arduino IDE.

- Adobe Illustrator (izbirno)

- Obravnavati

1. korak: Video Educativo

Video Educativo
Video Educativo

Inicialmente se identificaron los temas a tratar dentro del vídeo; en nuestro caso Captura (slika, video in 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, 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 sera la primer interfaz del usuario, ya que gracias and este vídeo el usuario tendrá la información necesaria para responder a las diferentes preguntas; garantizando así el aprendizaje y vrednotenje, konceptualno, metodológica y konceptualno.

2. korak: 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

Med medio de un software de vectores, en nuestro caso Adobe Illustrator, se desarrolló todos 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.

Korak: 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 realization la conexión del RFID-RC522, para lo cual se debe tener en cuenta la ubicación de los pines MOSI, MISO y SCK in el Arduino Mega. Los Pines SDA in RST so uporabili digitalni pin za kualquier, vendar deben ser especificados en el código posteriormente.

Nadaljevanje večine las conexiones, ki se realizira po RFID:

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

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

4. korak: Programación - 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:

#vključi

Ahora para la lectura del RFID in del potenciomentro se konfigurira los parámetros in se uporablja un método que facilita la lectura del RFID:

#define RST_PIN 8 // RST

#define SS_PIN 9 // SDA MFRC522 RFID (SS_PIN, RST_PIN); // spremenljivke globales String ID = ""; logični pogoj = napačno; const int analogPin = A0; int vrednost; // spremenljiva 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 (); } // Metoda za primerjavo oznak RFID

int CompararTags (ID niza) {

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; } povratni caso;

}

bajt ActualUID [4];

Niz niz leRRID (MFRC522 rfid) {niz ID0; Niz niza1; ID niza2; Niz niza3; ID niza; // Enviamos serialemente so 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 vračila; }

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

Nazadnje, debemos zahteva, da so podatki shranjeni po serijski izvedbi a Processing, para lo cual armamos un String que tienen toda la informationción separado cada uno por una ",", ya que en Processing realizaremos un Split () que allowirá separator los datos y uselizarlos según la ugodnost. Ademas debemos recibir un valor de Processing con la finalidad de reiniciar los valores que se envían.

void loop () {

vrednost = analogRead (analogPin); // realizar la lectura analógica raw pos = map (vrednost, 0, 1023, 0, 100); // se escribe write para enviar INTs //Serial.write(pos); // recibe los datos de Processing if (Serial.available ()) {// Če so podatki na voljo za branje, int val = Serial.read (); caso = val; } if (RFID. PICC_IsNewCardPresent ()) {// Seleccionamos una tarjeta if (RFID. PICC_ReadCardSerial ()) {ID = leerRFID (RFID); //Serial.println(ID); caso = Primerjalne oznake (ID); // si el caso que se lee es igual al anterior que se leyo, no va a imprimir. if (! (casoviejo == caso)) {switch (caso) {primer 1: //Serial.println(caso); casoviejo = caso; prekiniti; primer 2: //Serial.println(caso); casoviejo = caso; prekiniti; primer 3: //Serial.println(caso); casoviejo = caso; prekiniti; }}}}

Niz potenciometro = (Niz) poz;

Niz niz casoRFID = (niz) caso; Niz todo = potenciometro+","+casoRFID+","+"00"; Serial.println (todo); zamuda (500); }

5. korak: Programiranje - obdelava

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

Primero se importan las librerías a usar:

uvozna obdelava.serial.*;

uvozna obdelava.video.*;

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

Film 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 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 dato que envié el Arduino.

myMovie = nov film [2];

velikost (640, 360); frameRate (60); f = createFont ("Arial", 18, res); Niz portName = "COM4"; // spremenite 0 v 1 ali 2 itd., da se ujema z vašimi vrati myPort = new Serial (this, portName, 9600); myMovie [0] = nov film (ta, "video2.mp4"); fondo_IMAGEN = loadImage ("Vmesniki_2_Fondo_Imagen.png"); concept1 = loadImage ("Vmesniki_2_1 ° - B.png"); concept2 = loadImage ("Vmesniki_2_1 ° - G.png"); concept3 = loadImage ("Vmesniki_2_1 ° - R.png"); muestra = loadImage ("Vmesniki_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 ().

Primero se vrača los datotek del serial y realizamos el Split () que permit separator cada uno de los datos que se reciben.

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

} else {video = false; } while (myPort.available ()> 0) {String val = myPort.readString (); Niz nizov = val; // separa los valores que recoje el serial. int številke = int (razcepljeno (hrabrost, ',')); pote = nums [0]; caso = številke [1]; println (pote+","+caso); }

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

if (! video) {

slika (myMovie [0], 0, 0, 640, 360); } else {ozadje (255); stikalo (cambioEscena) {primer 0: prelom; primer 1: escena1 (); prekiniti; primer 2: escena2 (); prekiniti; primer 3: escena3 (); prekiniti; }

Los cambios de escenas se uresniči v funkciji a cuando el mouse es presionado, por lo tanto se utilize el método mousePressed () para realizar este cambio. También se uporablja este método para almacenar las respuestas que el usuario da al sistema y posteriormente verificarlas y guardarlas in 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 (); exit (); }}}

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"; } če (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, ''); // Zapisuje nize v datoteko, vsak v posebno vrstico saveStrings ("RESPUESTAS.txt", seznam); }

6. korak: Ejecución

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

Končno se morate izogniti iniciativnemu programu z razlago videa. Uporabite lahko potencimetro za različne variante respuestas, ki se odstranijo in izgubijo oznake in senzor RFID za izbiro los pasos en la interfaz de la segunda y tercera pregunta.

Priporočena: