Spisu treści:
- Krok 1: Wychowanie wideo
- Krok 2: Interfaz De Usuario
- Krok 3: Conexión De Los Componentes
- Krok 4: Programacja - Arduino
- Krok 5: Programación – Przetwarzanie
- Krok 6: Wyrzuć
Wideo: Educaacion Proyecto Final – Video Y TV Interactiva: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Produkt jest serem systemu multimedialnego, który jest interaktywny, nie wymaga korzystania z mediów audiowizualnych i zawiera informacje o oprogramowaniu i sprzęcie do manipulacji, teniendo i narzędzia, które dotyczą projektu i zbadania medialnych form planowania, metod koncepcyjnych i koncepcyjnych el proceso de captura de imagen, audio y video, explicando todas sus componentes. El sistema estará basado en características de video interactivos de categoría Learning, por lo tanto, contará con mecánicas que evaluarán el aprendizaje que el usuario ha adquirido.
Materiały
- 1 czujnik RFID RC522
- 1 potencjometr
- 1 Ardunio Mega
El lektor RFID y el potenciómetro son niezbędne en este modelo prototipo funcional, ya que será el controlador que allowirá al usuario interactuar 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.
Oprogramowanie
- Środowisko Arduino.
-Adobe Illustrator (opcjonalnie)
-Przetwarzanie
Krok 1: Wychowanie wideo
Inicialmente se identificaron los temas a tratar dentro del wideo; 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 esta esta informaciten ser.
Después de tener identificado los temas a tratar y la información que se desplegará en el video educativo, procedimos a realizar las diferentes composiciones de video, imagen, texto y audio, por medio de un software editor de video, en nuestro cas así obtener un producto final el cual es el video 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, conceptual, metodológica y conceptual.
Krok 2: Interfaz De Usuario
Por 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.
Krok 3: Conexión De Los Componentes
Realizujemy połączenie RFID-RC522, które odbywa się lokalnie w sieciach pines MOSI, MISO i SCK oraz Arduino Mega. Los pines SDA y RST pueden ir ubicados a cualquier pin digital, pero deben ser especificados en el código posteriormente.
A continuación se mostrara las conexiones que se realizaron para el 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
Krok 4: Programacja - 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:
#włączać
Ahora para la lectura del RFID y del potenciomentro se configuran los parametros 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); //Zmienne globalne String ID = ""; warunek logiczny = fałsz; const int analogPin = A0; int wartość; //zmienna que almacena la lectura analógica raw int pos;
int kont. = 0;
int caso;
int casoviejo = 0; void setup() { Serial.begin(9600); SPI.początek(); RFID. PCD_Init(); } //Metodo para comparar los tags del RFID
int CompararTags (identyfikator ciągu) {
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; } powrót caso;
}
bajt RzeczywistyUID[4];
Ciąg leerRFID(MFRC522 rfid) { Ciąg ID0; Ciąg ID1; Ciąg ID2; Ciąg ID3; Identyfikator ciągu; // Enviamos serialemente su UID for (byte i = 0; i < rfid.uid.size; i++) { RzeczywistyUID = rfid.uid.uidByte; if (i == 0) { ID0 = String(RzeczywistyUID); } if (i == 1) { ID1 = String(RzeczywistyUID); } if (i == 2) { ID2 = String(RzeczywistyUID); } if (i == 3) { ID3 = String(RzeczywistyUID); } } ID = ID0 + " " + ID1 + " " + ID2 + " " + ID3; identyfikator zwrotu; }
Como se desa 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 allowirá separar los datos y utilizarlos según la wygoda. Ademas debemos recibir un valor de Processing con la finalidad de reiniciar los valores que se envían.
pusta pętla () {
wartość = analogRead(analogPin); // realizar la lectura analógica raw pos = map(value, 0, 1023, 0, 100); //sescribe write para enviar INTs //Serial.write(pos); //recibe los datos de Przetwarzanie if (Serial.available()) { // Jeśli dane są dostępne do odczytu, int val = Serial.read(); caso = val; } if (RFID. PICC_IsNewCardPresent()) { //Wybierz tarjeta if (RFID. PICC_ReadCardSerial()) { ID = leerRFID(RFID); //Serial.println(ID); caso = tagi porównawcze (identyfikator); // 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; przerwa; przypadek 2: //Serial.println(caso); casoviejo = caso; przerwa; przypadek 3: //Serial.println(caso); casoviejo = caso; przerwa; } } } }
Potenciometro ciągu = (Ciąg) poz;
Ciąg casoRFID = (ciąg)caso; Ciąg do zrobienia = potenciometro+", "+casoRFID+", "+"00"; Serial.println(do zrobienia); opóźnienie (500); }
Krok 5: Programación – Przetwarzanie
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:
importowanie przetwarzania.serial.*;
importowanie przetwarzania.wideo.*;
Después se deben crear las obrazy y los wideo, para que estos puedan ser visualizados.
Film mójFilm;
PImage fondo_IMAGEN; PKoncepcja obrazu1, koncepcja2, koncepcja3, koncepcja4, muestra; PObraz opcja1, opcja2, opcja3; PObraz opcmet1, opcmet2, opcmet3; PObraz opc1_1, opc1_2, opc2_1, opc2_2, opc3_1, opc3_2; PObraz funkcjonalny1, funkcjonalny2, funkcjonalny3;
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 los cuals recibirá que envié el Arduino.
mójMovie = nowy film[2];
rozmiar (640, 360); liczba klatek na sekundę(60); f = createFont("Arial", 18, prawda); Ciąg nazwa_portu = "COM4"; //zmień 0 na 1 lub 2 itd., aby dopasować swój port myPort = new Serial(this, portName, 9600); mójMovie[0] = nowy Film(this, "video2.mp4"); fondo_IMAGEN = loadImage("Interfejsy_2_Fondo_Imagen.png"); concept1 = loadImage("Interfejsy_2_1° - B.png"); concept2 = loadImage("Interfejsy_2_1° - G.png"); concept3 = loadImage("Interfejsy_2_1° - R.png"); muestra = loadImage("Interfejsy_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("funkcjonalny1.png"); funcional2 = loadImage("funcional2.png"); funcional3 = loadImage("funcional3.png"); mójFilm[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 allowe separar cada uno de los datas que se reciben.
if(mójFilm[0].time()==mójFilm[0].duration()){ wideo = prawda;
}else{ wideo = fałsz; } while (mójPort.dostępny() > 0) { Wartość ciągu = mójPort.odczytString(); Wartość ciągu = wartość; //separa los valores que recoje el serial. int nums = int(split(valor, ', ')); pot = liczba[0]; caso = liczba[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 variable "cambioEscena" cambie.
jeśli(!wideo){
image(mójFilm[0], 0, 0, 640, 360); } inny{ tło(255); przełącznik (cambioEscena) { przypadek 0: przerwa; przypadek 1: escena1(); przerwa; przypadek 2: escena2(); przerwa; przypadek 3: escena3(); przerwa; }
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.
nieważna myszNaciśnięta() {
//dimenciones del boton siguente escena 1 if (cambioEscena == 1) { if (mouseX > Sx && myszX Sy && myszY Sx2 && myszX Sy2 && myszY xx && myszX yy && myszY 450 && myszX 100 && myszY < 100+30) { //ALMACENA LA RESPUESTA DEL PARAMETRO ! jeśli (parametrOpc1==1) { respuesta_1_3 = 1; } if (parametroOpc1==2) { respuesta_1_3 = 2; } jeśli (parametrOpc2==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; } mójPort.write(0); println(respuesta_1_3+", "+respuesta_2_3+", "+respuesta_3_3); }
if (myszX > xx && myszX yy && myszY finx && myszX skończony&& myszY < skończony+Sh2) { guardarRespuestas(); Wyjście(); } } }
El método utilizado para almacenar respuestas es el siguiente:
void guardarRespuestas(){
String ResConceptual= "Niepoprawnie"; String ResMetodlo= "Niepoprawnie"; String ResFuncio = "Niepoprawnie"; if(respuesta_1 == 2){ ResConceptual = "Popraw"; } if(y==210 && y2==140 && y3==70){ ResMetodlo= "Popraw"; } if(escena2y == 140 && escena2y2 == 210 && escena2y3 ==70 && respuesta_1_3==1 && respuesta_2_3==2&& respuesta_3_3 == 2){ ResFuncio= "Popraw"; } String Respuestas = "Respuesta conceptual:"+ ResConceptual+"Respuesta metodologica: "+ResMetodlo+"Respuesta funcional: "+ResFuncio; String list = split(Respuestas, ' '); // Zapisuje łańcuchy do pliku, każdy w osobnej linii saveStrings("RESPUESTAS.txt", lista); }
Krok 6: Wyrzuć
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.
Zalecana:
Video Tutoriales De Tecnologías Creativas 03: Hoy Veremos Un Proyecto Donde Integramos Botones: 4 kroki
Vídeo Tutoriales De Tecnologías Creativas 03: Hoy Veremos Un Proyecto Donde Integramos Botones: En este tutorial vamos, aby dowiedzieć się, jak się uczyć i kontrolować stan botów w Arduino Uno. Este ejercicio lo realizaremos mediante simulación y para ello utilizaremos Tinkercad Circuits (utilizando una cuenta gratuita).Kontynuacja
Wearable Tech Final Project – kask DJ-a: 6 kroków
Wearable Tech Final Project - DJ Helmet: Celem tego projektu jest stworzenie kasku DJ z diodami LED reagującymi na muzykę do pokazu i efektu wow. Używamy adresowalnej taśmy LED z Amazon.com oraz kasku motocyklowego, Arduino uno i drutu
Rozpoczęcie inteligentnego domu - Projeto Final: 6 kroków
Rozpoczęcie inteligentnego domu - Finał Projeto: Projeto apresentado é parte do projektu final do curso de IoT aplicado Smart Home.O projektu mostrado do seguir é parte do projeto final a ser apresentado no curso de IoT aplicada Smart Home, que sklade de sensores e atuadores conec
Jak uzyskać Final Cut Pro za darmo bezpośrednio ze strony Apple: 5 kroków
Jak uzyskać Final Cut Pro za darmo bezpośrednio ze strony Apple: Cześć, tworzę filmy na Youtube i przez długi czas nie mogłem tworzyć treści, które chciałem, z powodu ograniczeń iMovie. Używam MacBooka do edycji moich filmów i zawsze chciałem mieć wysokiej klasy oprogramowanie do edycji filmów, takie jak Final Cut Pro t
Jak zainstalować gotowe ustawienia przejść Final Cut Pro X: 10 kroków
Jak zainstalować ustawienia wstępne przejść Final Cut Pro X: WYMAGANIA: Komputer Apple / Laptop Zainstalowana przeglądarka Final Cut Pro X w celu pobrania żądanych ustawień wstępnych przejść Final Cut Pro X