Talaan ng mga Nilalaman:
- Hakbang 1: Video Educativo
- Hakbang 2: Interfaz De Usuario
- Hakbang 3: Conexión De Los Componentes
- Hakbang 4: Programación - Arduino
- Hakbang 5: Programación - Pagpoproseso
- Hakbang 6: Ejecución
Video: Pangwakas na Educaacion Proyecto - Video Y TV Interactiva: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:15
Ang mga tagagawa ng system ay nakikipag-ugnay sa multimedia, na nag-iisa sa pamamagitan ng isang audiovisual y contará con softwareos software at hardware para sa pagmamanupaktura, teniendo en cuenta que su propósito es enseñar a los estudiantes mediante las formas de aprendizaje conceptual, metodológico y funcional, el proceso de captura de imagen, audio y video, explicando todas sus mga bahagi. El sistema estará basado en características de videos interactiveivos de kategorya Kategoryang Pag-aaral, por lo tanto, contará con mecánicas que evaluarán el aprendizaje que el usuario ha adquirido.
Mga Materyales
- 1 Sensor RFID RC522
- 1 Potenciómetro
- 1 Ardunio Mega
El lector RFID y el potenciómetro son indispensables en este modelo prototipo funcional, you are será el controlador que permitirá al usuario interactiveuar con el sistema. Ang mga tagapag-alaga ay nagtuturo ng isang masaya para sa pagpili ng mga pagpipilian sa loob ng isang oras sa pagpapadala ng el potenciómetro será el encargado de navegar dentro las opciones.
Software
- Arduino IDE.
- Adobe Illustrator (Opcional)
- Pagproseso
Hakbang 1: Video Educativo
Pagpapatotoo ng isang pagkakakilanlan na 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 important acerca de estos temas, teniendo en cuenta la parte conceptual, metodológica y funcional de cada uno, ye que esta información sera el contenido de los víde.
Después de tener identificado los temas a tratar at la información que se desplegará en el vídeo educativo, mga pamamaraan na napagtanto ang mga diferentes na komposisyon ng vídeo, naisip, texto y audio, sa pamamagitan ng un software editor ng vídeo, 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 interactiveuar 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 sa tagatugon ng isang diferentes na mga buntis; garantizando así el aprendizaje y evaluación, haka-haka, metodológica at haka-haka.
Hakbang 2: Interfaz De Usuario
Para sa isang maliit na software ng mga vector, upang mai-access ang iyong Adobe Illustrator, isang desarrolló todos los elementos que komponí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 interactiveuar 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.
Hakbang 3: Conexión De Los Componentes
Empezaremos realizando la conexión del RFID-RC522, para makapag-isip ang mga ito sa mga pangunahing serbisyo ng MOSI, MISO y SCK en el Arduino Mega. Ang mga pines ng SDA at RST ay naka-irak sa isang cualquier pin digital, ngunit maaari kang magbigay ng karagdagang impormasyon sa posteriormente.
Isang pagpapatuloy na pagsasaalang-alang sa realizaron para sa RFID:
- SDA = D9
- RST = D8
- MOSI = D51
- MISO = D50
- SCK = D52
El siguiente komponente es el potenciometro, para sa regular na mga serbisyo ay hindi maikakaila ang iyong realiza la conexión de uno de forma detallada. Luis Llamas Potenciometro
Hakbang 4: Programación - Arduino
Ahora empezaremos con la programación. El código completeo lo puedes descargar cuando quieras.
Maging opisyal na debemos añadir las librerías que vamos a usar:
# isama
Para sa lahat ng mga leksyon sa RFID at del potenciomentro upang mai-configure ang iyong mga pares sa pamamagitan ng paggamit ng leksyon ng RFID:
# tukuyin ang RST_PIN 8 // RST
# tukuyin ang SS_PIN 9 // SDA MFRC522 RFID (SS_PIN, RST_PIN); // Variable globales String ID = ""; boolean condicion = false; Const int analogPin = A0; int halaga; // variable 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 sa paghahambing ng los tags del RFID
int CompararTags (String ID) {
int caso = 0; kung (ID.equals ("43 27 97 10")) {caso = 1; } kung (ID.equals ("124 192 204 194")) {caso = 2; } kung (ID.equals ("30 44 244 229")) {caso = 3; } ibalik ang caso;
}
byte ActualUID [4];
String leerRFID (MFRC522 rfid) {String ID0; String ID1; String ID2; String ID3; String ID; // Enviamos serialemente su UID para sa (byte i = 0; i <rfid.uid.size; i ++) {ActualUID = rfid.uid.uidByte ; kung (i == 0) {ID0 = String (ActualUID ); } kung (i == 1) {ID1 = String (ActualUID ); } kung (i == 2) {ID2 = String (ActualUID ); } kung (i == 3) {ID3 = String (ActualUID ); }} ID = ID0 + "" + ID1 + "" + ID2 + "" + ID3; return 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 maigi ang mga armamos at String que tienen toda la información separado cada uno por una ",", kung saan ang pagpoproseso ng mga realizaremos un Split () na nagpapahintulot sa pagkakahiwalay ng mga datos at magagamit mo conveniencia Ademas debemos recibir un valor de Processing con la finalidad de reiniciar los valores que se envían.
void loop () {
halaga = analogRead (analogPin); // realizar la lectura analógica raw pos = mapa (halaga, 0, 1023, 0, 100); // se escribe write para enviar INTs //Serial.write(pos); // recibe los datos de Pagproseso kung (Serial.available ()) {// Kung ang data ay magagamit na basahin, int val = Serial.read (); caso = val; } kung (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. kung (! (casoviejo == caso)) {switch (caso) {case 1: //Serial.println(caso); casoviejo = caso; pahinga; kaso 2: //Serial.println(caso); casoviejo = caso; pahinga; kaso 3: //Serial.println(caso); casoviejo = caso; pahinga; }}}}
String potenciometro = (String) pos;
String casoRFID = (String) caso; String todo = potenciometro + "," + casoRFID + "," + "00"; Serial.println (todo); pagkaantala (500); }
Hakbang 5: Programación - Pagpoproseso
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 completeo cuando quieras.
Ang pangunahing importasyon ng librerías isang usar:
pagproseso ng pag-import.serial. *;
iproseso ang pagproseso.video. *;
Hindi maiuugnay ang mga ito sa mga imágenes at los vídeos, para sa iyo na puedan ser visualizados.
Pelikula myMovie ;
PImage fondo_IMAGEN; Konsepto ng PImage1, konsepto2, konsepto3, konsepto4, 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 = bagong Pelikula [2];
laki (640, 360); frameRate (60); f = createFont ("Arial", 18, totoo); String portName = "COM4"; // baguhin ang 0 sa isang 1 o 2 atbp upang maitugma ang iyong port myPort = bagong Serial (ito, portName, 9600); myMovie [0] = bagong Pelikula (ito, "video2.mp4"); fondo_IMAGEN = loadImage ("Interfaces_2_Fondo_Imagen.png"); concept1 = loadImage ("Interfaces_2_1 ° - B.png"); konsepto2 = loadImage ("Mga interface_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 ().
Primero se reciben los datos del serial y realizamos el Split () que permite separar cada uno de los datos que se reciben.
kung (myMovie [0].time () == myMovie [0].duration ()) {video = true;
} iba pa {video = false; } habang (myPort.available ()> 0) {String val = myPort.readString (); String valor = val; // separa los valores que recoje el serial. int nums = int (split (valor, ',')); pote = nums [0]; caso = nums [1]; println (pote + "," + caso); }
Sa loob ng un switch case, para sa escena del sistema, sa loob ng isang kopya ng uniberso ng el momento en el momento en que la variable "cambioEscena" cambie.
kung (! video) {
imahe (myMovie [0], 0, 0, 640, 360); } iba pa {background (255); switch (cambioEscena) {case 0: break; kaso 1: escena1 (); pahinga; kaso 2: escena2 (); pahinga; kaso 3: escena3 (); pahinga; }
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 posteriormente verificarlas y guardarlas en 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! kung (parametroOpc1 == 1) {respuesta_1_3 = 1; } kung (parametroOpc1 == 2) {respuesta_1_3 = 2; } kung (parametroOpc2 == 1) {respuesta_2_3 = 1; } kung (parametroOpc2 == 2) {respuesta_2_3 = 2; } kung (parametroOpc3 == 1) {respuesta_3_3 = 1; } kung (parametroOpc3 == 2) {respuesta_3_3 = 2; } myPort.write (0); println (respuesta_1_3 + "," + respuesta_2_3 + "," + respuesta_3_3); }
kung (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"; kung (respuesta_1 == 2) {ResConceptual = "Correcto"; } kung (y == 210 && y2 == 140 && y3 == 70) {ResMetodlo = "Correcto"; } kung (escena2y == 140 && escena2y2 == 210 && escena2y3 == 70 && respuesta_1_3 == 1 && respuesta_2_3 == 2 && respuesta_3_3 == 2) {ResFuncio = "Correcto"; } String Respuestas = "Konsepto ng Respuesta:" + ResConceptual + "Respuesta metodologica:" + ResMetodlo + "Respuesta funcional:" + ResFuncio; Listahan ng String = split (Respuestas, "); // Nagsusulat ng mga string sa isang file, bawat isa sa isang hiwalay na linya na saveStrings ("RESPUESTAS.txt", listahan); }
Hakbang 6: Ejecución
Finalmente cuando se ejecuta el programa iniciara con un vídeo explicativo. Ang mga tagubilin ay magagamit para sa pagkakaiba-iba ng respeto ng mga tagubilin sa mga tag ng sensor ng RFID para sa pagpili ng mga pasos en la interfaz de la segunda y tercera maaga.
Inirerekumendang:
Pangwakas na Otto DIY Class: 4 na Hakbang
Pangwakas na Otto DIY Class: Ang proyektong ito ay ginawang posible ng Otto at Athens Technical College. Upang magsimula, kailangan mo munang bumili ng kit mula sa: https://www.ottodiy.com/store/products/49452 Pagkatapos ay sundin ang mga hakbang sa: https: //wikifactory.com/+OttoDIY/otto-diy
Pangwakas na Proyekto ng CPE 133 Decimal to Binary: 5 Hakbang
Pangwakas na Proyekto ng CPE 133 Decimal to Binary: Ang Mga Numero ng Binary ay isa sa mga unang bagay na naisip kapag nag-iisip ng digital na lohika. Gayunpaman, ang Mga Numero ng Binary ay maaaring maging isang mahirap na konsepto para sa mga bago dito. Ang proyektong ito ay makakatulong sa mga parehong bago at may karanasan sa mga binary number mas
Pangwakas na Proyekto ng PHYS 339: Simpleng Theremin: 3 Mga Hakbang
Pangwakas na Proyekto ng PHYS 339: Simpleng Theremin: Bilang isang musikero na nagbibigay ng libangan at isang pisiko, lagi kong naisip na ang mga theremin ay ang pinakasindak na elektronikong instrumento. Ang kanilang tunog ay halos hypnotic kapag nilalaro ng isang propesyonal, at ang teoryang electronics na kinakailangan para gumana sila ay medyo si
Nakasuot na Pangwakas na Proyekto sa Tech - DJ Helmet: 6 na Hakbang
Nakasuot na Pangwakas na Proyekto sa Tech - DJ Helmet: Ang layunin ng proyektong ito ay upang makagawa ng isang DJ helmet na may mga LED na reaktibo sa musika para sa palabas at wow factor. Gumagamit kami ng isang addressable LED strip mula sa Amazon.com pati na rin isang helmet ng motorsiklo, isang Arduino uno at wire
Pangwakas na Pagsusuri 2020: 6 na Hakbang
Pangwakas na Pagsusuri 2020: Kamusta sa lahat! Ang pangalan ko ay Vedant Vyas at ito ang aking Baitang 10 Computer Engineering Project para sa Pangwakas na Pagsusuri 2020. Para sa proyektong ito, pinili ko ang pagdisenyo ng isang kotse na maaaring mai-program upang gumalaw nang mag-isa o makokontrol gamit ang isang app