Cuprins:
- Pasul 1: Video Educativo
- Pasul 2: Interfaz De Usuario
- Pasul 3: Conexiune de la Componente
- Pasul 4: Programare - Arduino
- Pasul 5: Programare - Procesare
- Pasul 6: Ejecución
Video: Educaacion Proyecto Final - Video Y TV Interactiva: 6 Steps
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
El producto será un sistema multimedia interactivo, 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 conceptual, metodológico y funcional, procesul de captură de imagine, audio și video, explicând toate componentele. Sistemul va fi bazat pe caracteristici de videoclipuri interactive de categorie Învățare, pentru atât, va avea mecanici care evaluează învățarea pe care utilizatorul a dobândit-o.
Materiale
- 1 senzor RFID RC522
- 1 Potenciómetro
- 1 Ardunio Mega
El lector RFID și potențiometrul sunt indispensabile în acest model prototip funcțional, care va fi controlorul care va permite utilizatorului să interacționeze cu sistemul. El lector tinde ca funcție leer etichetele pentru a selecta răspunsul în fiecare întrebare și potențiometrul va fi încarcat de navă în interiorul opțiunilor.
Software
- ID Arduino.
- Adobe Illustrator (Opțional)
- Prelucrare
Pasul 1: Video Educativo
Inițial se identifică temele a trata în interiorul videoclipului; în nuestro caso Captura (imagen, video y sonido), extrayendo de diferentes fuentes confiables la information more important about of these themes, teniendo in account the part conceptual, metodologic and functional de each one, ya that this information sera the content of the videos.
După ce ați identificat temele pentru a trata și informațiile pe care le va despărți în video educativ, proceduri pentru a realiza diferitele compoziții de video, imagine, text și audio, prin mediu de un software editor de video, în cazul nostru Adobe Premiere, pentru astfel obține un produs final el cual este el video educativ care se le brindara la utilizator în momentul de interacțiune cu modelul prototip funcțional.
Acest videoclip educativ va fi primul interfaz al utilizatorului, deja care vă mulțumesc pentru acest videoclip, utilizatorul va avea nevoie de informații necesare pentru a răspunde la diferite întrebări; garantând astfel învățarea și evaluarea, conceptuală, metodologică și conceptuală.
Pasul 2: Interfaz De Usuario
Prin mediu de un software de vectori, în cazul nostru Adobe Illustrator, se vor dezvolta toate elementele pe care le-au compus interfața noastră de utilizator.
Se realizează fondurile pentru fiecare interfaz de utilizator al modelului prototip funcțional; în plus se diagramă toate opțiunile necesare cu care va interacționa cu utilizatorul, în principal cu opțiunile de răspuns, cu care se dezvoltă un recuadro cu fiecare opțiune și un color diferențiat la demas.
Pasul 3: Conexiune de la Componente
Empezaremos realizând conexiunea RFID-RC522, pentru ceea ce trebuie să aveți în contul locației pinilor MOSI, MISO și SCK în Arduino Mega. Los pines SDA și RST pot fi amplasate la orice pin digital, dar trebuie să fie specificate în codul posterior.
A continuarea se afișează conexiunile care se realizează pentru RFID:
- SDA = D9
- RST = D8
- MOSI = D51
- MISO = D50
- SCK = D52
El siguiente component es el potenciometro, para cual te dejamos un enlace que explica como se realizează conexiunea unuia de forma detaliată. Luis Llamas Potenciometro
Pasul 4: Programare - Arduino
Ahora începem cu programarea. El código completo lo puedes descargar cuando quieras.
În mod oficial, vom adăuga bibliotecile pe care le vom folosi:
#include
Ahora pentru citirea RFID și a potențialului se configurează parametrii și utilizează un metodă care facilitează citirea RFID:
#define RST_PIN 8 // RST
#define SS_PIN 9 // SDA MFRC522 RFID (SS_PIN, RST_PIN); // Variabile globale String ID = ""; boolean condition = false; const int analogPin = A0; valoarea int; // 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 (); } // Metodă pentru compararea etichetelor RFID
int CompararTags (ID șir) {
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; } returnează caz;
}
octet ActualUID [4];
String leerRFID (MFRC522 rfid) {String ID0; Șir ID1; Șir ID2; String ID3; ID șir; // 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; returnează ID; }
Cum se desea trimite un dat după TAG că se trece prin senzor, se realizează un metodă care compară
În cele din urmă, vom trimite datele pentru serialul Processing, pentru ceea ce armăm într-un șir care au toată informația separată fiecare pentru una, conveniencia. Ademas debemos recibir un valor de Processing cu finalitatea de reiniciar a valorilor pe care le-au inviat.
bucla nulă () {
valoare = analogRead (analogPin); // realiza la lectura analógica raw pos = map (value, 0, 1023, 0, 100); // se escribe write pentru enviar INTs //Serial.write(pos); // primește datele de procesare if (Serial.available ()) {// Dacă datele sunt disponibile pentru citire, int val = Serial.read (); caso = val; } if (RFID. PICC_IsNewCardPresent ()) {// Selectați o carte if (RFID. PICC_ReadCardSerial ()) {ID = leerRFID (RFID); //Serial.println(ID); caso = CompararTags (ID); // si el caso que se lee es igual al anterior care se leyo, no va a imprimir. if (! (casoviejo == caso)) {switch (caso) {case 1: //Serial.println(caso); casoviejo = caso; pauză; cazul 2: //Serial.println(caso); casoviejo = caso; pauză; cazul 3: //Serial.println(caso); casoviejo = caso; pauză; }}}}
String potenciometro = (String) pos;
String casoRFID = (String) caso; String todo = potenciometro + "," + casoRFID + "," + "00"; Serial.println (todo); întârziere (500); }
Pasul 5: Programare - Procesare
Debitat a cărui cod este extensiv, se explică punctele masive importante a avea în cont în elaborarea sistemului. Fără embargo putem descărca codul complet atunci când niște.
Primerul se importă la bibliotecile folosite:
procesare import.serial. *;
procesare import.video. *;
După ce trebuie să creezi imaginile și videoclipurile, pentru că acestea vor fi vizualizate.
Film myMovie ;
PImage fondo_IMAGEN; PImage concept1, concept2, concept3, concept4, mostra; PImage opcion1, opcion2, opcion3; PImage opcmet1, opcmet2, opcmet3; PImage opc1_1, opc1_2, opc2_1, opc2_2, opc3_1, opc3_2; PImage funcțional1, funcțional2, funcțional3;
în el setup () debem specificați numele bărbaților, care trebuie să fie în interiorul unei carpete llamada data amplasată în aceeași carpeta a proiectului. Ademă specificăm tipul de literă a folosi și portul serial pentru cel care va primi datele que envié el Arduino.
myMovie = film nou [2];
dimensiune (640, 360); frameRate (60); f = createFont ("Arial", 18, adevărat); String portName = "COM4"; // schimbați 0 la 1 sau 2 etc. pentru a se potrivi portului dvs. myPort = new Serial (this, portName, 9600); myMovie [0] = film nou (acesta, „video2.mp4”); fondo_IMAGEN = loadImage ("Interfețe_2_Fondo_Imagen.png"); concept1 = loadImage ("Interfețe_2_1 ° - B.png"); concept2 = loadImage ("Interfețe_2_1 ° - G.png"); concept3 = loadImage ("Interfețe_2_1 ° - R.png"); sample = loadImage ("Interfețe_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"); funcțional1 = loadImage ("funcțional1.png"); funcțional2 = loadImage ("funcțional2.png"); funcional3 = loadImage ("funcional3.png"); myMovie [0].play ();
Următoarele linii de cod sunt în cadrul metodei Draw ().
Primero se primesc datele din serial și realizăm el Split () care permite separarea fiecăruia dintre datele care se primesc.
if (myMovie [0].time () == myMovie [0].duration ()) {video = true;
} else {video = false; } while (myPort.available ()> 0) {String val = myPort.readString (); String valor = val; // separa valorile care primesc serialul. int nums = int (split (valor, ',')); pote = nums [0]; caso = nums [1]; println (pote + "," + caso); }
Se tiene un switch case, para cada escena del sistema, por lo tanto se reproduce un método en el momento en el momento en que la variable "cambioEscena" cambie.
if (! video) {
imagine (myMovie [0], 0, 0, 640, 360); } else {background (255); switch (cambioEscena) {caz 0: pauză; cazul 1: escena1 (); pauză; cazul 2: escena2 (); pauză; caz 3: escena3 (); pauză; }
Los changes de escenas se realizează în funcție când mouse-ul este presionat, pentru atât atât se folosește metoda mousePressed () pentru realizarea acestui schimb. De asemenea, se folosește acest metodă pentru a stoca răspunsurile pe care utilizatorul le-a făcut sistemului și ulterior verificați-le și păstrați-le într-un document Txt.
void mousePressed () {
// dimensiuni ale botonului urmează 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 (); Ieșire(); }}}
Metoda utilizată pentru stocarea răspunsurilor este următoarea:
void guardarRespuestas () {
String ResConceptual = "Incorrecto"; String ResMetodlo = "Incorrecto"; String ResFuncio = "Incorrecto"; if (respuesta_1 == 2) {ResConceptual = "Corect"; } if (y == 210 && y2 == 140 && y3 == 70) {ResMetodlo = "Correcto"; } if (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, ''); // Scrie șirurile într-un fișier, fiecare pe o linie separată saveStrings ("RESPUESTAS.txt", listă); }
Pasul 6: Ejecución
Finalmente când se execută programul inițiativ cu un videoclip explicativ. După ce se utilizează potențialul pentru variatul răspunsurilor pe care le-am dat și tag-urile și senzorul RFID pentru selectarea pașilor în interfața celei de-a doua și a treia întrebare.
Recomandat:
Masă de cafea interactivă Arduino cu LED: 6 pași (cu imagini)
Măsuță de cafea interactivă Arduino: am făcut o măsuță de cafea interactivă care aprinde luminile cu led sub un obiect, atunci când obiectul este așezat deasupra mesei. Numai ledurile care se află sub acel obiect se vor aprinde. Face acest lucru folosind în mod eficient senzori de proximitate și când proximitatea
Carte interactivă de pluș și animale pe cale de dispariție: 14 pași
Cartea interactivă Globe Plush and Endangered Animal Book: În clasa mea de realizare digitală și învățare, proiectul final mi-a însărcinat să creez un produs folosind una dintre tehnologiile despre care am aflat în clasă. Cu toate acestea, pentru acest proiect a trebuit să ducem tehnologia mai departe decât ceea ce am făcut cu el înainte
Pungă de perforare reflexivă interactivă: 3 pași (cu imagini)
Geantă de perforare interactivă cu reflexe: Această instrucțiune este pentru oricine dorește să-și îmbunătățească abilitățile și abilitățile de box în timp ce obține mai multă experiență de lipire, folosind Arduino, LED-urile și accelerometrul MK 2125. Scopul acestui proiect este de a modifica o geantă reflexă și un
Proyecto Museo De Herling Y Paula De La Cámara: 4 Steps
Proyecto Museo De Herling Y Paula De La Cámara: În acest proiect vamos a reliza un muzeu, în care vreau să programăm mai multe alarme pentru care sătăm când intenționăm să rămânem la joya, tambien vamos a utiliza senzores de luz para que dectecten los distintos movimiento del que intento robar la joya
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: 4 Steps (with Pictures)
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: No development desse project a fost utilizată uma platforma hibrida, sem a necesitate de accesare a resurselor de plataforme native do Android ou do IOS. A fost folosit cu un computer tip notebook cu Windows 10. Essa platforma chama-se Ionic, q