Daftar Isi:

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

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

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

El producto será un sistema multimedia interaksi, el cual sedesplegará a través de un medio audiovisual y contará con elemenos software y hardware untuk manipulasi, teniendo en cuenta que su propósito es enseñar a los estudiantes mediante las formas de aprendizaje, konseptual el proceso de captura de imagen, audio y video, explicando todas sus componentes. El sistema está basado en características de videos interivos de categoría Learning, por lo tanto, contará con mecánicas que evaluarán el aprendizaje que el usuario ha adquirido.

bahan

- 1 Sensor RFID RC522

- 1 Potenciómetro

- 1 Arduino Mega

El lector RFID y el potenciómetro putra sangat diperlukan dan model prototipo fungsional, ya que será el controlador que permitirá al usuario berinteraksi con el 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.

Perangkat lunak

-Arduino IDE.

- Adobe Ilustrator (Opsional)

- Pemrosesan

Langkah 1: Video Educativo

Video Edukasi
Video Edukasi

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

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 composiciones de vídeo, imagen, texto y audio, por medio de un software editor de vídeo, en nuestro Adobe Premier 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, konseptual, metodológica y konseptual.

Langkah 2: Interfaz De Usuario

Interfaz De Usuari
Interfaz De Usuari
Interfaz De Usuari
Interfaz De Usuari
Interfaz De Usuari
Interfaz De Usuari
Interfaz De Usuari
Interfaz De Usuari

Dengan perangkat lunak vektor, en nuestro caso Adobe Illustrator, dan banyak lagi.

Se realizaron los fondos para cada interfaz de usuario del modelo prototipo funcional; además se diagram todas las opciones necesarias con las cuales va a interaksi 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.

Langkah 3: Conexión De Los Componentes

Conexion De Los Componentes
Conexion De Los Componentes
Conexion De Los Componentes
Conexion De Los Componentes

Empezaremos realizando la conexión del RFID-RC522, para lokal yang lebih spesifik dan cuenta la ubicación de los pines MOSI, MISO y SCK dan Arduino Mega. Los pines SDA y RST pueden ir ubicados pin digital yang lebih berkualitas, pero deben ser especificados en el código posteriormente.

Kelanjutan dari semua informasi tentang 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

Langkah 4: 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:

#termasuk

Ahora para la lectura del RFID y del potensi dan konfigurasikan los parámetros y se utiliza 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); //Variables globales String ID = ""; kondisi boolean = salah; const int analogPin = A0; nilai int; //variabel que almacena la lectura analógica raw int pos;

int lanjutan = 0;

int kaso;

int casoviejo = 0; void setup() { Serial.begin(9600); SPI.mulai(); RFID. PCD_Init(); } //Metodo untuk membandingkan tag dengan RFID

int CompararTags(ID String) {

int kaso = 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; } kembalikan caso;

}

byte ActualUID[4];

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

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

Finalmente, 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 permitirá separar los datos y utilizarlos según la kenyamanan. Ademas debemos recibir un valor de Processing con la finalidad de reiniciar los valores que se envían.

lingkaran kosong() {

nilai = analogRead(analogPin); // realizar la lectura analógica raw pos = peta(nilai, 0, 1023, 0, 100); //se tulis tulis untuk enviar INT //Serial.write(pos); //recibe los datos de Processing if (Serial.available()) { // Jika data tersedia untuk dibaca, 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) { case 1: //Serial.println(caso); casoviejo = kaso; merusak; kasus 2: //Serial.println(caso); casoviejo = kaso; merusak; kasus 3: //Serial.println(caso); casoviejo = kaso; merusak; } } } }

String potenciometro = (String)pos;

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

Langkah 5: Programasi - Pemrosesan

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 penting las librerías a usar:

import processing.serial.*;

impor pemrosesan.video.*;

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

Film filmku;

PImage fondo_IMAGEN; PImage concept1, concept2, concept3, concept4, muestra; PImage opsi1, opsi2, opsi3; 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. que envie el Arduino.

myMovie = Film baru [2];

ukuran (640, 360); frameRate(60); f = createFont("Arial", 18, benar); String portName = "COM4"; //ubah 0 menjadi 1 atau 2 dst. agar sesuai dengan port Anda myPort = new Serial(this, portName, 9600); myMovie[0] = Film baru(ini, "video2.mp4"); fondo_IMAGEN = loadImage("Antarmuka_2_Fondo_Imagen.png"); concept1 = loadImage("Antarmuka_2_1° - B.png"); concept2 = loadImage("Antarmuka_2_1° - G.png"); concept3 = loadImage("Antarmuka_2_1° - R.png"); muestra = loadImage("Antarmuka_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 reciben los datos del serial dan realizamos el Split() que permite separar cada uno de los datos que se reciben.

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

}lain{ video = salah; } while (myPort.available() > 0) { String val = myPort.readString(); Keberanian string = val; //separa los valores que recoje el serial. int bilangan = int(split(keberanian, ', ')); pote = bilangan[0]; caso = angka[1]; println(pote+", "+caso); }

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

jika(!video){

gambar(filmsaya[0], 0, 0, 640, 360); } lain{ latar belakang(255); switch (cambioEscena) { kasus 0: istirahat; kasus 1: escena1(); merusak; kasus 2: escena2(); merusak; kasus 3: escena3(); merusak; }

Los cambios de escenas se realizan en función a cuando el mouse es presionado, por lo tanto se utiliza el método mousePressed() para realizar este cambio. También se utiliza este método para almacenar las respuestas que el usuario da al sistem y posteriormente verificarlas y guardarlas en un documento Txt.

kosong mouseDitekan() {

//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(); keluar(); } } }

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

void guardarRespuestas(){

String ResConceptual= "Salah"; String ResMetodlo= "Salah"; String ResFuncio = "Salah"; if(respuesta_1 == 2){ ResConceptual = "Koreksi"; } if(y==210 && y2==140 && y3==70){ ResMetodlo= "Koreksi"; } if(escena2y == 140 && escena2y2 == 210 && escena2y3 ==70 && respuesta_1_3==1 && respuesta_2_3==2&& respuesta_3_3 == 2){ ResFuncio= "Correcto"; } String Respuestas = "Respuesta konseptual:"+ ResConceptual+"Respuesta metodologica: "+ResMetodlo+"Respuesta funcional: "+ResFuncio; String list = split(Respuestas, ' '); // Menulis string ke file, masing-masing pada baris terpisah saveStrings("RESPUESTAS.txt", list); }

Langkah 6: Ejecución

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

Finalmente cuando se ejecuta el programa iniciara con un vídeo explicativo. Después se utilizara el potencimetro untuk variar las respuestas que se desean dar y los tag y el sensor RFID untuk memilih los pasos en la interfaz de la segunda y tercera pregunta.

Direkomendasikan: