Mundarija:

Educaacion Proyecto Final - Video Y TV Interactiva: 6 qadam
Educaacion Proyecto Final - Video Y TV Interactiva: 6 qadam

Video: Educaacion Proyecto Final - Video Y TV Interactiva: 6 qadam

Video: Educaacion Proyecto Final - Video Y TV Interactiva: 6 qadam
Video: Abacus Competition 2022 2024, Iyul
Anonim
Educaacion Proyecto Final - Video Y TV Interactiva
Educaacion Proyecto Final - Video Y TV Interactiva

Multimedia interaktiv vositasi, audiovizual va dasturiy ta'minot bilan jihozlangan dasturiy ta'minot va dasturiy ta'minot, shuningdek, dasturiy ta'minot va dasturiy ta'minotning asosiy funktsiyalari, bu formulalar, aprendizional konsepsiyalar. el proceso de captura de imagen, audio y video, explicando todas sus komponentlari. Videokliplar bilan o'zaro aloqada bo'lishni o'rganish tizimi, o'qish, o'qish va baholanishni o'z ichiga oladi.

Materiallar

- 1 ta RFID RC522 sensori

- 1 ta potentsial

- 1 Ardunio Mega

O'qish protokoli funktsiyalari uchun zarur bo'lgan RFID -ni o'rnatish juda muhim, chunki siz tizimni boshqarishingiz mumkin. O'qish uchun javobgarlikni tanlash kerak bo'lsa, bu eng muhimi, siz o'zingizning shaxsiy ma'lumotlaringizni tanlashingiz mumkin.

Dasturiy ta'minot

- Arduino IDE.

- Adobe Illustrator (ixtiyoriy)

- Qayta ishlash

1 -qadam: Video Educativo

O'qituvchi video
O'qituvchi video

Ma'lumotlar aniqlansa, ular juda katta; Captura (tasavvur, vídeo y sonido), extrayendo de diferentes fuentes confiables la información más importante acerca de estos temas, kontseptual metodologiyasi va funktsiyalari, shuningdek, funktsiyalari ham..

Ma'lumotni aniqlab olish uchun siz Adobe Premiere dasturining muharriri, matnli audio, tasvirli tasvirlar, matnli audio fayllar, dasturiy ta'minotni tahrir qilishingiz mumkin. mahsulotni ishlab chiqarish yakuniy vazifasi protokoli prototipi bilan o'zaro aloqada bo'lishga imkon beradi.

Ma'lumotni o'qish va o'qish kerak bo'lganda, siz javobgar bo'lishingiz kerak bo'lsa, bu sizning asosiy ma'lumotlaringiz bo'lishi mumkin; kafolatlangan va tushunilgan, kontseptual, uslubiy va kontseptual.

2 -qadam: 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

Adobe Illustrator -ning asosiy dasturiy ta'minoti, shuningdek, interfeys va interfeysni o'rnatish uchun mo'ljallangan.

Haqiqiy interfeysi interfeysi va prototipi funktsional tarzda amalga oshiriladi; a diagramma todas las opciones necesarias con las cuales va a interactuar el usuario, las opciones de respuesta, las cuales se desarrolló un recuadro con cada opción y un color diferenciador a las demás.

3 -qadam: Conexión De Los komponentlari

Conexión De Los komponentlari
Conexión De Los komponentlari
Conexión De Los komponentlari
Conexión De Los komponentlari

Bu RFID-RC522-ni o'rnatish, MOSI, MISO y SCK va Arduino Mega-ni o'rnatish uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga oladi. Raqamli raqamli kartalar SDA va RST -ni o'z ichiga oladi, bu sizning raqamli ma'lumotlaringiz va raqamlaringiz bilan bog'liq.

RFID -ning uzluksiz ishlashi:

  • SDA = D9
  • RST = D8
  • MOSI = D51
  • MISO = D50
  • SCK = D52

Komponentlar potentsialni o'lchashni osonlashtiradi, shuning uchun siz aniq ma'lumotni topasiz. Luis Llamas Potensiometro

4 -qadam: Dastur - Arduino

Bu dasturni qayta ishlashga yordam beradi. Qo'llanmani to'liq yuklab oling.

Ma'lumotlar kitobi va kitoblar ro'yxati:

#qo'shing

Ma'lumotlar RFID va ma'ruzalar uchun RFID konfiguratsiyalari yordamida amalga oshiriladi:

#RST_PIN 8 ni belgilang // RST

#SS_PIN 9 ni belgilang // SDA MFRC522 RFID (SS_PIN, RST_PIN); // Global o'zgaruvchilar String ID = ""; mantiqiy shart = noto'g'ri; const int analogPin = A0; int qiymati; // o'zgaruvchan que almacena la lektura analógica raw int pos;

int cont = 0;

int caso;

int casoviejo = 0; void setup () {Serial.begin (9600); SPI.begin (); RFID. PCD_Init (); } // RFID -ni taqqoslash usuli

int CompararTags (String ID) {

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; } qaytish caso;

}

bayt ActualUID [4];

String leerRFID (MFRC522 rfid) {String ID0; ID1 qatori; ID2 qatori; ID3 qatori; String identifikatori; // Enviamos seriyali UID uchun (bayt 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; qaytish identifikatori; }

Sensorli sensorli sensorli sensorli displey, bu sizning kompyuteringiz uchun nima qilish kerakligini aniqlaydi.

Oxirgi ma'lumotlarga ko'ra, ketma -ket ishlov berish va qayta ishlash jarayoni "Split" ("ajratilgan") buyrug'ini bajaradi, keyin siz "Split" () ni ajratib olishingiz mumkin, bu sizning ma'lumotlaringizni qayta ishlashga imkon beradi. qulaylik. Ademas debemos recibir un valor de Processing con la finalidad de reiniciar los valores que en envían.

void loop () {

qiymat = analogRead (analogPin); // realizar la lektura analógica raw pos = map (qiymat, 0, 1023, 0, 100); // yozishni yozish uchun INTs //Serial.write(pos); // recibe los datos de Processing if (Serial.available ()) {// Agar ma'lumotlar o'qilishi mumkin bo'lsa, int val = Serial.read (); kaso = val; } if (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 empimir. if (! (casoviejo == caso)) {switch (caso) {1 -holat: //Serial.println(caso); kasoviejo = kaso; tanaffus; 2 -holat: //Serial.println(caso); kasoviejo = kaso; tanaffus; 3 -holat: //Serial.println(caso); kasoviejo = kaso; tanaffus; }}}}

String potenciometro = (String) pos;

String casoRFID = (String) kaso; Satr todo = potenciometro+","+casoRFID+","+"00"; Serial.println (todo); kechikish (500); }

5 -qadam: Dastur - ishlov berish

Debido a que el código es extenso, is a explicara los puntos mas muhim masalalarni hal qilishda muhim rol o'ynaydi. Ambargo podgás gunohlarni yuklab oling.

Kitoblar va xizmatlar:

importni qayta ishlash.serial.*;

importni qayta ishlash.video.*;

Tasavvur qiling -a, bu juda katta muammo.

MyMovie filmi ;

PImage fondo_IMAGEN; PImage tushunchasi1, kontseptsiya2, tushuncha3, kontseptsiya4, 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 () deb nomlangan hujjatlar arxivlar, los cuales deben dentro de una carpeta llamada ma'lumotlar ubicada en la misma carpeta del proyecto. Ademas especificamos el tipo de letra a usar y el puerto serial por el cos datual recibá los datos liberos los nomes. que envié el Arduino.

myMovie = yangi film [2];

hajmi (640, 360); frameRate (60); f = createFont ("Arial", 18, to'g'ri); String portName = "COM4"; // myPort = new Serial (bu portName, 9600) portiga mos kelishi uchun 0 ni 1 yoki 2 ga o'zgartiring. myMovie [0] = yangi film (bu, "video2.mp4"); fondo_IMAGEN = loadImage ("Interfeyslar_2_Fondo_Imagen.png"); concept1 = loadImage ("Interfeyslar_2_1 ° - B.png"); concept2 = loadImage ("Interfeyslar_2_1 ° - G.png"); concept3 = loadImage ("Interfeyslar_2_1 ° - R.png"); muestra = loadImage ("Interfeyslar_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 ();

Chiziq chizish () chizish chizig'ini chizish.

Ma'lumotlar ketma -ket ketma -ketlikda bo'linib, Split () ni ajratib ko'rsatish mumkin.

if (myMovie [0].time () == myMovie [0].yozilish ()) {video = rost;

} boshqa {video = noto'g'ri; } while (myPort.available ()> 0) {String val = myPort.readString (); String valor = val; // alohida -alohida los valores ketma -ket ketma -ket. int nums = int (bo'linish (jasorat, ',')); pote = raqamlar [0]; kaso = raqamlar [1]; println (pote+","+caso); }

Agar siz tizimni o'chirib qo'ysangiz, u holda siz "cambioEscena" ni o'zgartirishingiz mumkin.

agar (! video) {

tasvir (myMovie [0], 0, 0, 640, 360); } boshqa {fon (255); switch (cambioEscena) {0 holat: tanaffus; 1 -holat: escena1 (); tanaffus; 2 -holat: escena2 (); tanaffus; 3 -holat: escena3 (); tanaffus; }

Sichqoncha sichqonchani bosgandan so'ng, sichqonchani bosilganda, sichqonchani bosish orqali bosiladi (). Hujjatlar Txt -da saqlanadigan ma'lumotlarning har bir qismi uchun javob beradi.

bo'sh sichqoncha bosilgan () {

// 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! agar (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 (); Chiqish(); }}}

Mana shu savollarga javob berish uchun:

bekor himoyachiRespuestas () {

String ResConceptual = "Noto'g'ri"; String ResMetodlo = "Noto'g'ri"; String ResFuncio = "Noto'g'ri"; if (respuesta_1 == 2) {ResConceptual = "Correcto"; } if (y == 210 && y2 == 140 && y3 == 70) {ResMetodlo = "To'g'ri"; } if (escena2y == 140 && escena2y2 == 210 && escena2y3 == 70 && respuesta_1_3 == 1 && respuesta_2_3 == 2 && respuesta_3_3 == 2) {ResFuncio = "Correcto"; } String Respuestas = "Respuesta kontseptual:"+ResConceptual+"Respuesta metodologica:"+ResMetodlo+"Respuesta funcional:"+ResFuncio; String list = split (Respuestas, ''); // Satrlarni faylga yozadi, har biri alohida satrda saveStrings ("RESPUESTAS.txt", ro'yxat); }

6 -qadam: Ejecución

Ejecución
Ejecución
Ejecución
Ejecución

Oxirgi bosqichda dasturni ochib berish kerak. Ma'lumotlar almashinuvini o'zgartirish mumkin bo'lgan vaqt oralig'ida siz RFID -ni tanlashingiz mumkin.

Tavsiya: