İçindekiler:
- Adım 1: Video Eğitimi
- 2. Adım: Interfaz De Usuario
- Adım 3: Conexión De Los Bileşenleri
- Adım 4: Programlama - Arduino
- Adım 5: Programlama - İşleme
- Adım 6: Ejecución
Video: Educaacion Proyecto Final - Video Y TV Interactiva: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Multimedya etkileşimli sistem ve sistem dışı tüm iletişim, medya ve görsel-işitsel yazılım ve donanımla ilgili tüm yazılım ve donanım öğelerini içerir. Görüntülerin işlenmesi, ses ve video, bileşenlerin açıklanması. Videoların temel özellikleriyle ilgili video etkileşimli kategorilerdeki etkileşimler Öğrenme, por lo tanto, contra mecánicas que değerlendirme que el apredizaje que el usuario ha adquirido.
Malzemeler
- 1 Sensör RFID RC522
- 1 Potenciómetro
- 1 Ardunio Mega
Seçenek RFID ve potansiyel bir prototipin vazgeçilmezleri en este modelo prototipo işlevi, izin verilen her şeyi kontrol etmek için kullanılır. Tüm bu işlerin başında gelir.
Yazılım
-Arduino IDE'si.
- Adobe Illustrator (Opsiyonel)
- İşleme
Adım 1: Video Eğitimi
Inicialmente se identificaron los temas bir tratar dentro del video; en nuestro caso Captura (görüntü, video y sonido), ekstradando de diferentes fuentes confiables la enformasyon en önemli temas, teniendo en cuenta la parte kavramsal, metodológica y fonksiyonel de cada uno, ya ilaidocion d e e e n e l e n e n e e n e n e l e e i l e i l e m e d e i l e d e d e d e l e d e i l e m e l e d e e d e d e d e l e y.
Video, görüntü, metin, ses, görüntü, metin, ses, video düzenleme, video düzenleme, video düzenleme, düzenleme ve düzenleme programları, así obtener un prodüksiyon nihai el kurallı es el vídeo eğitsel que se le brindara al usuario al momento de interactuar con el modelo işlevsel prototip.
Este vídeo educativo sera la primer interfaz del usuario, ya que gracias a este vídeo el usuario, la la enformasyon necesaria para yanıtlayıcı bir las diferentes preguntas; garantizando así el apredizaje ve değerlendirme, kavramsal, metodolojik ve kavramsal.
2. Adım: Interfaz De Usuario
Vektörel olmayan yazılımlar için, en nuestro caso Adobe Illustrator, en yeni arayüzler için en iyi özelliklerden birini seçin.
Gerçekleştiren los fondos para cada interfaz de usuario del modelo funcional prototipi; En son gereksinimler için gerekli şemalar, en sık kullanılanlarla etkileşim içindedir.
Adım 3: Conexión De Los Bileşenleri
RFID-RC522'yi, Arduino Mega'yı, MOSI, MISO y SCK ve Arduino Mega'da en iyi şekilde gerçekleştirin. Los pines SDA y RST, daha iyi bir pin için dijital, pero deben ser especialados en el código posteriormente.
RFID ile ilgili bir süreklilik:
- SDA = D9
- RST = D8
- MOSI = D51
- MİSO = D50
- SCK = D52
Elle siguente componente es el potenciometro, para cual te dejamos un enlace que explica como se, uno de forma detallada'nın gerçeklenmesi. Luis Llamas Potenciometro
Adım 4: Programlama - Arduino
Ahora empezaremos con la programación. El código, tam olarak şu anda ücretsiz indir.
Inicialmente debemos añadir las librerías que vamos a usar:
#Dahil etmek
Ahora para la lectura del RFID ve potenciomentro se yapılandırmak için Los parametros y se kullanımı bir yöntem que facilita la lectura del RFID:
#define RST_PIN 8 // RST
#define SS_PIN 9 // SDA MFRC522 RFID(SS_PIN, RST_PIN); //Değişkenler globaller String ID = ""; boole koşulu = yanlış; const int analogPin = A0; int değeri; //değişken que almacena la lectura analógica ham int konum;
int devam = 0;
int kasa;
int kasoviejo = 0; geçersiz kurulum() { Serial.begin(9600); SPI.begin(); RFID. PCD_Init(); } // RFID için los etiketleri karşılaştırma yöntemi
int CompararTags(Dize Kimliği) {
int kasa = 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; } kasayı iade et;
}
bayt ActualUID[4];
Dize leerRFID(MFRC522 rfid) { Dize ID0; dize ID1; dize ID2; dize ID3; dize kimliği; // 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; dönüş kimliği; }
Como se desea enviar un dato según el TAG que se pase por el sensörü, se realiza un método que los karşılaştırma
Finalmente, debemos enviar los datos por el serial a İşleme, para l kolaylık. Ademas debemos recibir un valor de Processing con la finalidad de reiniciar los valores que se envían.
boşluk döngüsü () {
değer = analogRead(analogPin); // realizar la lectura analógica ham konum = harita(değer, 0, 1023, 0, 100); // enviar enviar yazmasını yaz //Serial.write(poz); //işlemenin veri kaydı if (Serial.available()) { // Okunacak veri varsa, int val = Serial.read(); kasa = val; } if (RFID. PICC_IsNewCardPresent()) { //Seleccionamos un 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, yok va a imprimir. if (!(casoviejo == caso)) { geçiş (caso) { durum 1: //Serial.println(caso); casoviejo = caso; kırmak; durum 2: //Serial.println(caso); casoviejo = caso; kırmak; durum 3: //Serial.println(caso); casoviejo = caso; kırmak; } } } }
String potenciometro = (String)pos;
Dize casoRFID = (Dize)caso; Dize todo = potenciometro+", "+casoRFID+", "+"00"; Seri.println(yapılacak); gecikme(500); }
Adım 5: Programlama - İşleme
Debido bir Que el código es extenso, se explicara los puntos mas önemli olan bir tener en cuenta en la elaboración del sistema. Günah ambargosu indiriliyor.
Bir usar için önemli olan:
işleme.serisini içe aktar.*;
işleme.videoyu içe aktar.*;
Después se deben crear las ımágenes ve los vídeos, para que estos puedan ser visualizados.
Film myMovie;
PImage fondo_IMAGEN; PImage konsept1, konsept2, konsept3, konsept4, müestra; 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 esspecar los nomres de los archivos, los cuales deben estar dentro de una halıa llamada veri ubicada en la misma halıa del proyecto. Ademas especialamos el tipo de letra a usar y el p erto seri reciporo s culos que envié el Arduino.
myMovie = yeni Film[2];
boyut(640, 360); çerçeveHızı(60); f = createFont("Arial", 18, doğru); String portName = "COM4"; //portunuzu eşleştirmek için 0'ı 1 veya 2 vb. olarak değiştirin myPort = new Serial(this, portName, 9600); myMovie[0] = yeni Film(bu, "video2.mp4"); fondo_IMAGEN = loadImage("Interfaces_2_Fondo_Imagen.png"); konsept1 = loadImage("Interfaces_2_1° - B.png"); konsept2 = 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();
En basit tanımıyla Draw().
Primero se reciben los datas del seri ve realizamos el Split() que izin ayrı cada uno de los datos que se reciben.
if(myMovie[0].time()==myMovie[0].duration()){ video = true;
}else{ video = yanlış; } while (myPort.available() > 0) { String val = myPort.readString(); Dizi değeri = değer; // diziyi ayır. int sayılar = int(split(değer, ', ')); pote = sayılar[0]; kasa = sayılar[1]; println(pote+", "+caso); }
Değiştirme durumu, para cada escena del systema, por lo tanto s reproducirá un método en el anto en el anmo en que la değişken "cambioEscena" cambie.
if(!video){
image(myMovie[0], 0, 0, 640, 360); } başka{ arka plan(255); switch (cambioEscena) { case 0: break; durum 1: escena1(); kırmak; durum 2: escena2(); kırmak; durum 3: escena3(); kırmak; }
MousePressed()'in gerçek hayattaki en önemli özelliklerinden biri. También se utiliza este método para almacenar las respuestas que el usuario da al sistema y posteriormente doğrulanma ve korumalar en un Documento Txt.
geçersiz 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 ! 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; } bağlantı noktam.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(); çıkış(); } } }
El método utilizado para almacenar respuestas es el siguente:
void guardarRespuestas(){
String ResConceptual= "Yanlış"; String ResMetodlo= "Yanlış"; String ResFuncio = "Yanlış"; if(respuesta_1 == 2){ ResConceptual = "Doğru"; } if(y==210 && y2==140 && y3==70){ ResMetodlo= "Doğru"; } if(escena2y == 140 && escena2y2 == 210 && escena2y3 ==70 && respuesta_1_3==1 && respuesta_2_3==2&& respuesta_3_3 == 2){ ResFuncio= "Doğru"; } String Respuestas = "Respuesta kavramsal:"+ ResConceptual+"Respuesta metodolojik: "+ResMetodlo+"Respuesta funcional: "+ResFuncio; String liste = split(Respuestas, ' '); // Dizeleri her biri ayrı bir satırda bir dosyaya yazar saveStrings("RESPUESTAS.txt", list); }
Adım 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 etiketleri y l sensör RFID para seçici los pasos en la interfaz de la segunda y tercera pregunta.
Önerilen:
Otomatik ECG- BME 305 Final Projesi Ekstra Kredi: 7 Adım
Otomatik EKG- BME 305 Bitirme Projesi Ekstra Kredisi: Bir elektrokardiyogram (EKG veya EKG) atan bir kalp tarafından üretilen elektrik sinyallerini ölçmek için kullanılır ve kardiyovasküler hastalıkların tanı ve prognozunda büyük rol oynar. Bir EKG'den elde edilen bilgilerin bazıları ritmi içerir
PHYS 339 Final Projesi: Basit Theremin: 3 Adım
PHYS 339 Final Projesi: Basit Theremin: Bir eğlence müzisyeni ve bir fizikçi olarak, Thereminlerin her zaman en havalı elektronik enstrüman olduğunu düşünmüşümdür. Sesleri bir profesyonel tarafından çalındığında neredeyse hipnotize edicidir ve işlev görmeleri için gereken elektronik teorisi oldukça basit
TinkerCAD Ultrasonik Mesafe Sensör Devresi (Bilgisayar Müh Final): 4 Adım
TinkerCAD Ultrasonik Mesafe Sensörü Devresi (Bilgisayar Müh Finali): Karantina sırasında yapmak için başka bir eğlenceli tinkerCAD devresi oluşturacağız! Bugün ilginç bir bileşenin eklenmesi var, tahmin edebilir misiniz? Peki biz bir Ultrasonik Mesafe Sensörü kullanacağız! Üstelik 3 adet LED için kod yazacağız
Giyilebilir Teknoloji Final Projesi - DJ Kaskı: 6 Adım
Giyilebilir Teknoloji Final Projesi - DJ Kaskı: Bu projenin amacı, gösteri ve wow faktörü için müziğe tepki veren LED'li bir DJ kaskı yapmaktır. Amazon.com'dan adreslenebilir bir LED şeridin yanı sıra bir motosiklet kaskı, bir Arduino uno ve tel kullanıyoruz
Final Projesi LED Mutlu Yüz: 7 Adım
Final Projesi LED Mutlu Yüz: Mutlu yüz projeme hoş geldiniz! Bu Eğitilebilir Kitap, elektronikle eğlenmek isteyen herkes için tasarlanmış, başlangıç seviyesinden biraz daha fazla bir Arduino projesidir. Bu Arduino projesi, soldan sağa yanan 8 LED'i kullanmayı içerir