جدول المحتويات:
- الخطوة 1: فيديو Educativo
- الخطوة الثانية: Interfaz De Usuario
- الخطوة 3: Conexión De Los Componentes
- الخطوة 4: البرمجة - Arduino
- الخطوة 5: البرمجة - المعالجة
- الخطوة 6: Ejecución
فيديو: نهائي برنامج Educaacion Proyecto - Video Y TV Interactiva: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
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
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
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
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
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.
موصى به:
نهائي أوتو دي كلاس: 4 خطوات
نهائي Otto DIY Class: أصبح هذا المشروع ممكنًا بواسطة Otto and Athens Technical College. للبدء ، يجب عليك أولاً شراء المجموعة من: https://www.ottodiy.com/store/products/49452 ثم اتبع الخطوات على: https: //wikifactory.com/+OttoDIY/otto-diy
CPE 133 مشروع نهائي عشري إلى ثنائي: 5 خطوات
CPE 133 مشروع نهائي عشري إلى ثنائي: الأرقام الثنائية هي واحدة من أولى الأشياء التي تتبادر إلى الذهن عند التفكير في المنطق الرقمي. ومع ذلك ، يمكن أن تكون الأعداد الثنائية مفهوماً صعباً لأولئك الجدد عليه. سيساعد هذا المشروع أولئك الجدد وذوي الخبرة في مجال الأعداد الثنائية
دائرة مستشعر المسافة بالموجات فوق الصوتية TinkerCAD (نهائي هندسة الكمبيوتر): 4 خطوات
دائرة مستشعر المسافة بالموجات فوق الصوتية TinkerCAD (نهائي هندسة الكمبيوتر): سنقوم بإنشاء دائرة أخرى ممتعة tinkerCAD أثناء الحجر الصحي! يوجد اليوم إضافة عنصر مثير للاهتمام ، هل يمكنك تخمين ذلك؟ حسنًا ، سنستخدم مستشعر المسافة بالموجات فوق الصوتية! علاوة على ذلك ، سنقوم بترميز 3 مصابيح LED
برنامج Arduino Hang Guardian - برنامج Arduino Watchdog Timer التعليمي: 6 خطوات
برنامج Arduino Hang Guardian - برنامج Arduino Watchdog Timer التعليمي: مرحبًا بالجميع ، هذا يحدث لنا جميعًا. تقوم ببناء مشروع ، وتوصيل جميع المستشعرات بحماس ، وفجأة ، يتوقف Arduino ولا تتم معالجة أي مدخلات. "ما الذي يحدث؟" ، ستسأل وتبدأ في البحث في الكود الخاص بك ، فقط لإعادة
كيفية تحويل الحيوانات باستخدام برنامج جيمب (برنامج مجاني): 5 خطوات
كيفية تحويل الحيوانات باستخدام برنامج GIMP (برنامج مجاني): سوف أعلمك كيفية تحويل حيوانين خلال هذا التدريب. يمكنك استخدام طريقة التحويل هذه لأي حيوانات ، أو أي إبداع يمكنك التوصل إليه. أرني إبداعاتك ، باستخدام هذا الدليل السهل المتابعة! الأشياء المطلوبة: الكمبيوتر ، الإبداع