جدول المحتويات:

نهائي برنامج Educaacion Proyecto - Video Y TV Interactiva: 6 خطوات
نهائي برنامج Educaacion Proyecto - Video Y TV Interactiva: 6 خطوات

فيديو: نهائي برنامج Educaacion Proyecto - Video Y TV Interactiva: 6 خطوات

فيديو: نهائي برنامج Educaacion Proyecto - Video Y TV Interactiva: 6 خطوات
فيديو: Part 41: FCC OK's "Use of E-rate Funds for Remote Learning" 2024, يوليو
Anonim
نهائي برنامج Educaacion Proyecto - Video Y TV Interactiva
نهائي برنامج Educaacion Proyecto - Video Y TV Interactiva

El producto será un sistema multimedia Interactive، el cual sedesplegará a través de un medio audiovisual y contará con elementos software y Hardware para su manipulación، teniendo en cuenta que su propósito es enseñar a los estudiantes mediante las formas de aprendizaje عملية التقاط الصور ، الصوت والفيديو ، توسيع المكونات. El sistema estará basado en características de videos activos de categoría Learning، por lo tanto، contará con mecánicas que Evaluationarán el aprendizaje que el usuario ha adquirido.

المواد

- عدد 1 مستشعر RFID RC522

- 1 Potenciómetro

- 1 اردونيو ميجا

لا غنى عن استخدام تقنية تحديد الهوية باستخدام موجات الراديو وإمكانية الاستغناء عنها في النماذج الأولية الوظيفية ، والتي لا يمكن الاستغناء عنها. El Lector Tendrá como función las etiquetas para seleccionar la respuesta en cada pregunta y el potenciómetro será el encargado de navegar dentro las opciones.

برمجة

- اردوينو IDE.

- Adobe Illustrator (اختياري)

- يعالج

الخطوة 1: فيديو Educativo

فيديو Educativo
فيديو Educativo

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 conceptual، metodológica y funcional de cada uno، ya que estosa information.

Después de tener identificado los temas a tratar y la información que se desplegará en el vídeo educationativo، Procedimos a realizar las diferentes composiciones de video، imagen، texto y audio، por medio de un software editor de vídeo، en nuestro caso، Adobe Premiere، para للحصول على المنتج النهائي ، يمكنك الحصول على معلومات حول كيفية استخدام الفيديوهات التعليمية والتفاعلية مع الوظائف النموذجية الأولية.

Este vídeo educationativo 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 Evaluation، conceptual، metodológica y conceptual.

الخطوة الثانية: 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 que Componían nuestra interaz 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 aactiveuar el usuario، mainmente 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
مكونات Conexión De Los
مكونات Conexión De Los
مكونات Conexión De Los

Empezaremos realizando la conexión del RFID-RC522، para lo cual se debe tener en cuenta la ubicación de los pines MOSI، MISO y SCK en el Arduino Mega. Los pines SDA y RST pueden ir ubicados a cualquier pin digital، pero deben ser especificados en el código postiormente.

استمرارية بحد ذاتها الأكثر رواجًا في مجال الاتصالات الراديوية:

  • 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. لويس Llamas Potenciometro

الخطوة 4: البرمجة - Arduino

Ahora empezaremos con la programación. El código Completeo 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 useiza un método que simple la lectura del rfid:

#define RST_PIN 8 // RST

#define SS_PIN 9 // SDA MFRC522 RFID (SS_PIN ، RST_PIN) ؛ // Variables globales String ID = ""؛ قيمة منطقية = خطأ ؛ const int analogPin = A0 ؛ قيمة int // متغير que almacena la lectura analógica raw int pos؛

كثافة العمليات = 0 ؛

كاسو int

كاسوفيجو كثافة العمليات = 0 ؛ إعداد باطل () {Serial.begin (9600) ؛ SPI.begin () ، RFID. PCD_Init () ، } // Metodo para Comparar los tags del RFID

int CompararTags (معرف السلسلة) {

كاسو int = 0 ؛ إذا (ID.equals ("43 27 97 10")) {caso = 1 ؛ } if (ID.equals ("124192204 194")) {caso = 2؛ } إذا (ID.equals ("30 44 244 229")) {caso = 3 ؛ } عودة الكازو ؛

}

بايت ActualUID [4] ؛

سلسلة leerRFID (MFRC522 rfid) {String ID0 ؛ سلسلة ID1 ؛ سلسلة ID2 ؛ سلسلة ID3 ؛ معرف السلسلة // Enviamos serialemente su UID لـ (byte i = 0؛ i <rfid.uid.size؛ i ++) {ActualUID = rfid.uid.uidByte ؛ إذا (i == 0) {ID0 = String (ActualUID ) ؛ } إذا (i == 1) {ID1 = String (ActualUID ) ؛ } إذا (i == 2) {ID2 = String (ActualUID ) ؛ } إذا (i == 3) {ID3 = String (ActualUID ) ؛ }} المعرف = ID0 + "" + ID1 + "" + ID2 + "" + ID3 ؛ معرف العودة }

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 series a Processing، para lo cual armamos un String que tienen toda la informacióneparado cada uno por una "،"، ya que en Processing realizaremos un Split () que allowiráeparar los datos y utilizarlos según la الراحة. Ademas debemos recibir un valor de Processing con la finalidad de reniciar los valores que se envían.

حلقة فارغة() {

القيمة = analogRead (analogPin) ؛ // realizar la lectura analógica raw pos = خريطة (القيمة ، 0 ، 1023 ، 0 ، 100) ؛ // se escribe write para enviar INTs //Serial.write(pos)؛ // recibe los datos de Processing if (Serial.available ()) {// إذا كانت البيانات متاحة للقراءة ، int val = Serial.read () ؛ كاسو = فال ؛ } إذا (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 = caso ؛ استراحة؛ الحالة 2: //Serial.println(caso) ؛ casoviejo = caso ؛ استراحة؛ الحالة 3: //Serial.println(caso) ؛ casoviejo = caso ؛ استراحة؛ }}}}

سلسلة potenciometro = (سلسلة) pos ؛

سلسلة casoRFID = (سلسلة) caso ؛ String 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 المتطورة del sistema. حظر الحظر المفروض على الدستور الكامل.

Primero se استيراد las librerías a usar:

معالجة الاستيراد. تسلسلي. * ؛

معالجة الاستيراد. فيديو. * ؛

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

فيلم myMovie ؛

PImage fondo_IMAGEN ؛ P الصورة ، المفهوم 1 ، المفهوم 2 ، المفهوم 3 ، المفهوم 4 ، الموسترا ؛ 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. que envié el Arduino.

myMovie = فيلم جديد [2] ؛

الحجم (640 ، 360) ؛ frameRate (60) ؛ f = createFont ("Arial"، 18، true)؛ String portName = "COM4" ؛ // قم بتغيير 0 إلى 1 أو 2 وما إلى ذلك لمطابقة المنفذ الخاص بك myPort = مسلسل جديد (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 ().

يجب أن يكون هذا هو المرجع الذي يعرضه المسلسل عن الانقسام ().

إذا (myMovie [0].time () == myMovie [0].duration ()) {video = true؛

} else {video = false؛ } while (myPort.available ()> 0) {String val = myPort.readString ()؛ سلسلة الشجاعة = val ؛ //epara los Valores que recoje el series. int nums = int (split (valor، '،')) ؛ pote = الأعداد [0] ؛ caso = nums [1] ؛ println (pote + "،" + caso) ؛ }

هذه الحالة هي حالة التبديل ، يمكنك الحصول عليها من كاميرا "cambioEscena" المتغيرة.

إذا (! فيديو) {

صورة (myMovie [0] ، 0 ، 0 ، 640 ، 360) ؛ } else {background (255)؛ التبديل (cambioEscena) {حالة 0: كسر ؛ الحالة 1: escena1 () ؛ استراحة؛ الحالة 2: escena2 () ؛ استراحة؛ الحالة 3: escena3 () ؛ استراحة؛ }

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 sistema y nextiormente verificarlas y guardarlas en un documento Txt.

ماوس باطل مضغوط () {

// 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! إذا (parametroOpc1 == 1) {respuesta_1_3 = 1 ؛ } إذا (parametroOpc1 == 2) {respuesta_1_3 = 2 ؛ } إذا (parametroOpc2 == 1) {respuesta_2_3 = 1 ؛ } إذا (parametroOpc2 == 2) {respuesta_2_3 = 2 ؛ } إذا (parametroOpc3 == 1) {respuesta_3_3 = 1 ؛ } إذا (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:

حارس باطل

String ResConceptual = "Incorrecto" ؛ String ResMetodlo = "Incorrecto" ؛ String ResFuncio = "Incorrecto" ؛ إذا (respuesta_1 == 2) {ResConceptual = "Correcto" ؛ } إذا (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 = "Respuesta Conceptual:" + ResConceptual + "Respuesta metodologica:" + ResMetodlo + "Respuesta funcional:" + ResFuncio؛ String list = split (Respuestas، '') ؛ // يكتب السلاسل إلى ملف ، كل منها في سطر منفصل saveStrings ("RESPUESTAS.txt" ، قائمة) ؛ }

الخطوة 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 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.

موصى به: