domingo, 7 de noviembre de 2021

Zinecor, SRT hasta 4K. Videoconferencia profesional colaborativa con imagen de alta calidad

Zinecor, es una plataforma de trabajo colaborativo. Esta plataforma nace como asistente de rodaje remoto, una herramienta que otorga a un equipo de rodaje la capacidad compartir cómo se está rodando con directores o personal relevante del rodaje que por  alguna causa se encuentra distante.

Recibir indicaciones, consejos o discutir escenas, con profesionales del sector suele dar buenos resultados, pero el tiempo, la distancia y disponibilidad de estos profesionales son factores muy difíciles de superar . Con Zinecor se superan estos inconvenientes y la petición se reducen a un pequeño espacio de tiempo frente a un ordenador para sumergirse en el rodaje, lo cual hace mucho más fácil y económica cualquier colaboración. 

Por supuesto la plataforma permite hacer reuniones para tomar decisiones sobre el trabajo diario  de rodaje, los integrantes del rodaje pueden reunirse en salas virtuales para ver imágenes o escenas con alta calidad, una posibilidad que no ofrecen las plataformas colaborativas habituales.

Las salas son configurables y puede haber imagen o no. Las imágenes pueden ser hasta cuatro simultáneas  (como se ve en su publicidad) además por supuesto de las miniaturas de los participantes. A cada usuario se le pueden habilitar diferentes permisos que dan acceso a unas salas y no a otras, e innumerables posibilidades más. A mi me hicieron una  demonstration donde probamos la calidad de imagen de la plataforma con las cámaras de la serie GY-HC y también he probado la nueva cámara PTZ KY-PZ400 con streaming a 4K, en cualquier caso el resultado es espectacular comparado con el resto de plataformas que he probado hasta la fecha.

Esto para cine lo vi muy útil, sobre todo que los profesionales en la distancia puedan asistir al rodaje de las tomas en un práctico directo, hay que sacrificar un operador pero podemos tener a varios integrantes del equipo de rodaje en la distancia con lo cual los costes se reducen. 

Donde yo personalmente vi una necesidad del mercado que creo no está cubierta, es para el tema comercial y educativo, para poder ofertar una muy alta calidad de imagen y no estar limitado por la calidad de imagen de la plataforma que uses, en este caso con Zinecor la calidad de imagen es el factor principal y según mis pruebas alcanza los 4K a 25p que es lo que da la KY-PZ400 en streaming SRT.

Para que? preguntará alguno, pues yo lo imagino o veo para webinars tecnicos y medicos, donde un operador de cámara con una GY-HC5xx /GY-HC900 sigue al profesional que imparte el seminario en todo momento y envía imágenes de alta calidad como si estuviese asistiendo en directo o mejor, porque no tienes al profesor en medio y pueden mostrar primeros planos, además puedes realizar preguntas y recibir respuestas en riguroso directo.

Imagino en automoción con un fabricante formando técnicos en un coche viendo hasta el último detalle del motor. En industria con maquinaria pesada para impartir cursos de funcionamiento o para mantenimiento, donde un técnico preparado con una cámara puede reunirse con varios ingenieros a cientos o miles de kilómetros y discutir, debatir y solucionar problemas de forma ágil, y esos mismos ingenieros pueden asistir a más de un técnico en una sola jornada sin importar las distancias. Con un control remoto IP los ingenieros pueden desde la distancia manipular la cámara para ver exactamente que quieren ver.

En ventas... para mostrar los detalles de un vehículo, ropa, una joya, artesanía  o cualquier producto. Por esta razón no dude en probar la nueva KY-PZ400 puesto que es ideal al ser una cámara PTZ para lugares donde la cámara pueda estar fija, pero al disponer de movimiento y zoom con un simple control remoto permite generar diferentes tomas y ver o enfocar todos los elementos de una mesa o un espacio controlado donde se sitúa el producto a mostrar o en venta o formación. En espacios pequeños una sola persona puede manejar con facilidad la cámara, ya que esta dispone de un control remoto práctico y fácil de usar. 


Ahora sale a la venta la KY-PZ200 una cámara igual que la KY-PZ400 pero Full HD la cual en su versión básica es muy asequible y también dispone de STR, formato de trabajo de Zinecor.

Para comercios y formación donde la tecnología puede ser un reto, la cámara básicamente siempre está haciendo streamnig y una vez configurada ya no se tiene que tocar nunca más, incluso si se va la luz o se apaga. La cámara al arrancar se inicia haciendo streamig tal y como se dejó o apagó, de esta forma una vez estructurado Zinecor  con la cámara el cliente solo tiene que manejar Zinecor como cualquier otra plataforma invitando a los asistentes.

Aquí dejo el folleto de Zinecor una oferta de uso más para el uso con cámaras JVC de última generación.



Al usar SRT la infraestructura necesaria no es exigente con los test realizados. Desde mi red salía la señal en SRT , llegaba a la plataforma de Zinecor en la nube y de nuevo la recibía yo como usuario, soportando por decirlo de alguna forma el mayor peso en consumo de ancho de banda. La red desde donde se hizo es fibra teóricamente 100M, pero como se ve en la imagen inferior capturada con un test de velocidad a la hora de escribir este artículo la velocidad prometida difiere de la realidad y aún así las pruebas fueron plenamente satisfactorias lo cual demuestra que el SRT es un protocolo robusto, estable y ligero que da altas prestaciones y calidad de imagen, por eso creo es un acierto el uso del mismo en esta plataforma "Zinecor".
Informacion:  Zinecor info@zinecor.com  JVC eu.jvc.com







jueves, 21 de octubre de 2021

"CamLink3G " Una Fibra óptica asequible que con JVC y su conectividad IP crea una solución muy atractiva.

Tactical Fiber Systems es una empresa sita cerca de Barcelona que ha creado y me ha presentado un equipo básico de transmisión de fibra óptica SDI con alimentación y conexión de Ethernet, el cual he podido probar en su fase de prototipo, en concreto el CamLink 3G Power Back. Este Equipo estará disponible según el Tactical Fiber comercialmente a partir del 1 de Diciembre de 2021. 

Esta opción con SDI de entrada y salida además de Ethernet y alimentación tiene como gran ventaja su economía y gracias a la colectividad de las cámaras JVC y más si cabe a la serie GY-HC aporta una solución asequible para trabajar con fibra óptica en configuración de estudio o EFP.

El sistema permite:

  1. -Alimentar la cámara con conexión directa a VLock con 14,4V.
  2. -Se  envía la señal de SDI 3G de forma directa sin latencia.
  3. -Recibe señal SDI de la base para retorno de vídeo, prompter o sincronización de cámara.
  4. -Dispone de conexion LAN, través de la conexión de Ethernet RJ45 que con cámaras JVC disponemos de:

  • Control remoto de cámara con paneles de control IP como el RM-LP100 / RM-LP250S / RM-       LP250M,


  • Envío de Tally por contacto cerrado con RM-LP100 (cam 1 a 5) , con RM-LP250S (GPI cerrado) o ATEM por IP, con RM-LP250M ( a través de ATEM via IP) ver. https://cmhtec.blogspot.com/2021/05/realizacion-multicamara-con-control-rcp.html
  • Transmisión de Streaming directo desde cámara RTMP, RTSP,RTP,UDP, SRT,ZIXI (H264-HEVCH265 (según modelo con KA-EN200)
  • Envío de órdenes de audio desde realización al operador por canal de comunicación IFB IP.

Con una solución de este tipo se puede centrar la inversión en la cámara y acceder a modelos como los camcorders GY-HM8XX o los camcorders GY-HC900 o GY-HC900R con sensores de 2/3 de pulgada, todos ellos se pueden usar también como equipo ENG aportando prácticamente un equipamiento Universal para cubrir cualquier trabajo audiovisual. ENG,EFP,Studio.

Esta solución adaptando la alimentación a 12V con un Plate VLock con salida regulada es compatible también con modelos de mano como el GY-HC5XX con retorno de vídeo IP o IFB, 

Aquí dejo para quien esté interesado el catálogo de CamLinK de Tactical Fiber Systems que ha utilizado para el mismo una GY-HC900 como se ve en la fotografía. Esta solución se podrá adquirir directamente o mediante tu distribuidor oficial de JVC en España y Portugal, otros países consultar. 





domingo, 9 de mayo de 2021

Conexión 4G con cámaras JVC y modem "Tenda 4G185V2"

Hoy presento en estas líneas mi último descubrimiento en conexión de cámaras JVC, el cual ya he adaptado como medio de conexión 4G para mis demostraciones de streaming y subida de archivos a FTP en mi trabajo diario .

El módem 4G185V2 de "Tenda" es un módem que trabaja a la perfección con todas las series de cámaras de JVC, tanto con la serie GY-HC, como con la GY-HM o KY-PZ. Este módem con WIFI y alimentación autónoma por batería interna "también llamado MIFI" permite ser usado tanto con conexión por WIFI como por cable por conexión USB.

Las ventajas que yo veo al usar este dispositivo son:

  1. -Independiza el funcionamiento cámara- módem lo que permite apagar la cámara sin perder IP o conexión, esto habilita una re-conexión inmediata a Internet nada mas se inicializa la cámara.
  2. -La conexión por cable permite evitar problemas por interferencias.
  3. -Permite extender o mejorar la cobertura de la cámara en aquellos puntos (sobre todo interiores) donde si se conecta a cámara por WIFI al módem, se puede colocar cerca de ventanas o similares para mejorar la conexión a los nodos de telefonía.

Bueno, aquí dejo unos vídeos explicativos para los que empiezan a trabajar con cámaras JVC. En ellos explico cómo redireccionar puertos en el módem  para el control de la cámara y el streaming en RTSP. También explico en el segundo vídeo como conectarse a la cámara y algunos pequeños consejos.


 Cómo configurar el módem 4G185V2 y redireccionar puertos para trabajar con cámaras JVC 


Cómo conectar las cámaras JVC al módem 4G185V2 

Finalmente he diseñado adaptadores para poder montar el módem en cámara en zapata de antorcha, por tornillo 3/8" o en serie 500/550 fijado, los diseños se pueden descargar en Thingeverse.

https://www.thingiverse.com/thing:4848283/files


Módem "Tenda" montado en GY-HC500

Soporte módem "Tenda" montado en GY-HC550
Módem "Tenda" montado en GY-HM250






Documento informativo para cliente JVC adjuntado en los Tenda 4G185V2 suministrados por JVC..

Tenda 4G185V2

Tenda ref. 4G185V2 es un router inalámbrico el cual puede trabajar con las cámaras con conectividad de JVC de las series GY-HC y GY-HM de JVC.

Este router funcional y autónomo puede conectarse a las cámaras mediante cable USB o a través de Wifi (siempre que la cámara disponga de dicha conectividad integrada o con un adaptador USB a Wifi).

1.- Para la conexión del router a la cámara existen videotutoriales en YouTube y en el Blog de Carlos Martínez Herrera, estrecho colaborador con la marca.

https://cmhtec.blogspot.com/2021/05/conexion-4g-con-camaras-jvc-y-modem.html

2.- Para que usted pueda poner el router de forma segura, ágil y robusta en su cámara dispone de usar piezas diseñadas para imprimir en 3D, las cuales puede hace usted mismo. Los archivos para imprimir estas piezas los puede descargar desde el mismo artículo del blog.

En caso de que no disponga de las opciones anteriormente mencionadas podemos sugerirle la siguiente empresa, la cual ha realizado los prototipos que se muestran en las fotos.

https://imprimakers.com/es/producto/calculadora-impresion-3d-online/


Las piezas en 3D tienen el acabado de impresión sin pulido, ni post procesado.

Es necesario en algunas de las piezas o configuraciones añadir elementos como tornillos de métrico 3 y crear la rosca al mismo tiempo que se pone por primera vez, ejerciendo una presión y fuerza extra. Lo mismo ocurre con el adaptador de rosca ¼ a 3/8 si se quiere instalar.

Tornillo para zapata de antorcha.  Ver en Amazon.

Adaptador de rosca de ¼ a 3/8 de pulgada. Ver en Amazon.

·       JVC y Carlos Martínez declinan cualquier responsabilidad de funcionamiento, calidad, acabado etc. de las piezas o derivados descritos en este documento suministrados por terceros.


sábado, 1 de mayo de 2021

Realización multicámara, con control RCP y "Tally" usando cámaras JVC y mezcladores ATEM

En esta ocasión propongo una combinación de equipos para crear una pequeña realización, en concreto estoy hablando de combinar un mezclador de Black Magic "ATEM Mini Pro" con las cámaras de JVC GY-HC500E y el RM-LP250E, aunque también es extensible a otros modelos de cámara.

El RM-LP250E es un panel de control de cámara de "JVC" por IP desarrollado ,"Skaarhoj" que permite la reprogramación de sus elementos y abre grandes posibilidades para interactuar entre diferentes elementos y fabricantes, un panel abierto que permite evolucionar con la tecnología o necesidades puntuales de una producción.

He creado varios videos, Introducción,, Visión Práctica, Obtención de IP en ATEM y finalmente "Programación de la RM-LP250E". Este último es largo aunque he intentado acortar al máximo la duración de los videos recortando las pausas pero considero que es la mínima duración si quiero explicarlo de forma que pueda ayudar a todo el mundo, desde el que no sabe nada hasta el que ya está acostumbrado a manipular actualizaciones.

Realización con cámaras de JVC y mezcladores ATEM de BM utilizando el RM-LP250M como interface de Tally vía IP. (You can use the Subtitle option) 1- Vídeo 1 https://youtu.be/wSkqsgu15cc

2 - Vídeo 2 https://youtu.be/09JrMTCSWZY

3 - Vídeo 3 https://youtu.be/6zX9QcSKZgM

4 - Vídeo 4https://youtu.be/DKS8tmtv-wI

El último video " Configurando el RM-LP250M de JVC" es el más largo, por esa razón aquí tenéis un índice que os llevará al punto exacto que sea de vuestro interés.

Descarga de software de control https://youtu.be/DKS8tmtv-wI?t=11

Configuración local Posibilidades de configuración Local / On line https://youtu.be/DKS8tmtv-wI?t=69

Vemos la configuración Local https://youtu.be/DKS8tmtv-wI?t=226

Configuración On line, Que tengo y debo hacer. https://youtu.be/DKS8tmtv-wI?t=298

Añadir el módulo de ATEM https://youtu.be/DKS8tmtv-wI?t=364

Programando las acciones https://youtu.be/DKS8tmtv-wI?t=411

Transferir programación On Line a Local https://youtu.be/DKS8tmtv-wI?t=957

Comprobar que la actualización se ha transferido correctamente a la configuración local https://youtu.be/DKS8tmtv-wI?t=1040


Video 4


miércoles, 28 de abril de 2021

Como publicar en Facebook en RTMPS sin usar la herramienta de codificador emparejado.

La GY-HM250E al igual que las nuevas series de JVC ya son compatibles con la función Emparejamiento de Facebook-Live,

Menú de cámara para publicar emparejando la cámara

 Esta función es muy sencilla de utilizar, práctica y ágil. Sin embargo, hay casos como le ha ocurrido a crealizando.com (empresa sita en Ibiza que realiza multitud de streaming para sus eventos de marketing y producciones) donde es necesario en ocasiones se necesita usar la plataforma del cliente sin emparejar la cámara, y es ahí, donde pueden aparecer problemas, cuando se usa con la aplicación estándar de Facebook o en cualquier otra plataforma que utilice el protocolo RTMPS. 

Menú de cámara para publicar sin emparejar la cámara en RTMPS

Hay que tener en cuenta que un inicio de sesión RTMPS utiliza claves muy largas y éstas en algunos casos sobrepasan la capacidad de almacenamiento de la cámara en el campo de Stream-Key. El resultado es que solo se puede introducir parte de la información, lo que provoca que la dirección quede incompleta y ésta nunca encuentre su destino, por tanto, el stream de la cámara aparece en error y muestra como fallo "no se puede encontrar la dirección".

Para sortear este inconveniente la fórmula es fácil, se debe introducir primero la dirección URL seguido de la "clave de streaming" o "Stream Key" separados por la una barra  /  tal como muestra el ejemplo. En este caso la casilla de "Stream Key" debe quedar vacía.







jueves, 11 de marzo de 2021

ATENCIÓN- HUAWEI E8372h-320 No es compatible con las cámaras JVC serie GY-HM y KY.

Hoy escribo este articulo ya que he detectado que en el mercado ha aparecido el Modem HUAWEI E8372h-320.

Este modem a fecha de este articulo 11/03/2021 no es compatible con las cámaras de streaming de JVC de las series GY-HM y  KY-PZ.

En este mismo Blog existen varios artículos haciendo referencia al este mismo modelo el HUAWEI E8372h pero en concreto eran la versión HUAWEI E8372h-153 que ahora ha cambiado a la "320".

Si dispones del HUAWEI E8372h-320 puedes utilizarlo como router accediendo a el como punto de acceso, pero para ello deberás alimentarlo con una batería y conectar tu cámara mediante conexión Wifi como se muestra en el articulo El HUAWEI E8372 puesto a prueba con cámaras JVC en su parte final . en su parte final justo antes de las conclusiones de utilizarlo como punto de acceso o directo a cámara, aunque en ese caso era el HUAWEI E8372h-153 aunque no existía ninguna otra versión.

Aquí dejo también un articulo relacionado con este modem y apertura de puertos.

Los dos módems son casi idénticos en la siguiente foto muestro como identificarlos, evidentemente por los modelos que están escritos en etiqueta y también porque el nuevo modelo no dispone de conexión de antenas externas como tenia el HUAWEI E8372h-153 .


El Huawei  E8372H-320 si es compatible con la serie GY-HC de JVC.  



miércoles, 27 de enero de 2021

Descubre la GY-HC550E 4KHDR

Este artículo queda resumido en un vídeo que he realizado en un intento de dinamizar un poco más el blog.

En el vídeo presento de forma generalizada la cámara JVC GY-HC550E, una cámara de altas prestaciones a precio asequible.

Aprovecho para anunciar la intención (quien me lee, ya sabe que mi tiempo es limitado) de en breve poder hacer entrega de vídeos de formación para el uso y el funcionamiento de la GY-HC550E, menú por menú que haré en varios capítulos. Si estáis interesados solo tenéis que suscribiros al blog.

La razón ... el convencimiento de que estamos ante una cámara o una nueva generación de cámaras GY-HC muy avanzadas y extremadamente versátiles para trabajar en cualquier proyecto, con muchas herramientas que pueden reducir costes por necesitar menos elementos adyacentes tanto en producción, como en TV 

Lamentablemente y hablo con pleno conocimiento de causa, hay muchos usuarios que son excelentes profesionales de imagen pero las nuevas tecnologías por una razón u otra no las usan, y eso en ocasiones va en detrimento de su rendimiento, aprovechamiento de los equipos y su calidad laboral.

La intención de los próximos vídeos es hacer que quien tenga una cámara GY-HC550E conozca a fondo el equipo y sepa extraerle el máximo rendimiento.

Como siempre gracias por leer este blog.

Video: https://youtu.be/pc86R_cC3gA





domingo, 3 de enero de 2021

Controla la cámara PTZ KY-PZ100 de JVC por IR con librerías de Arduino.

 Arduino se ha convertido en un gran aliado para escuelas ,universidades, y profesionales. Con este pequeño dispositivo se pueden desarrollar ideas tecnológicamente avanzadas y a medida, con unos costes muy bajos.

KY-PZ100BEBC con grafismo integrado.

La cámara robotizada  PTZ (Pan Til/Zoom) de JVC,  KY-PZ100 tiene una excelente calidad de imagen, puede grabar con formato 1920x1080 50p Quick Time  hasta 50Mb en tarjeta SD y acceder a sus archivos vía IP, Es una cámara que trabaja en entornos profesionales de TV, eventos e instalaciones ya que permite un control muy preciso de movimiento y es totalmente silenciosa, además, su zoom óptico de x30 y la capacidad de hacer streaming y publicar directamente en Facebook Life o YouTube elevan esta cámara a un nivel ideal para cualquier proyecto.

La cámara KY-PZ100 permite ser controlada por control serie compatible con Visca , también por conexión IP donde las APIS son abiertas y se pueden descargar desde la pagina web de JVC, y finalmente también dispone de control vía IR, y es ahí donde va dirigido este articulo.


La cámara se puede controlar u operar de forma paralela por sus diferentes vías de control, es decir puede estar conectada a la red IP, ser controlada por web y hacer streaming al mismo tiempo que puede recibir y ejecutar las órdenes que recibe vía IR.

El control IR da la posibilidad a centros educativos a realizan sus proyectos de control de la cámara aprovechando sus excelentes cualidades sin riesgo a que se puedan producir averías por estar conectadas, ya sea de la cámara o de la red informática, puesto que el control que se propone en este articulo es vía IR, es decir, sin contacto y 100% seguro.

Por otro lado en entornos profesionales puede facilitar el control en instalaciones donde se necesiten sensores domóticos o inmóticos sencillos o donde no se pueda hacer una instalación cableada o por Wifi y los emisores IR por su sencillez cobren protagonismo.

Yo soy un gran ignorante sobre la programación pero afortunadamente existe mucha información en la red que me ha permitido llegar hacer este articulo y crear como ejemplo una RadioTV con una sola cámara a nivel experimental ya que la cámara permite congelar la imagen mientras cambia de posición para no ver los movimientos.

El control IR permite instalar la cámara y realizar en control a distancia sin contacto físico o cables, esto podría llevar a desarrollar el seguimiento de una persona con sensor infrarrojo , o el movimiento desde varias posiciones con simples interruptores o dependiendo de sensores, tal y como se ha aplicado en este proyecto de RadioTV.

Set completo, sensores KY-037. El 1 esta integrado  en la estación base el 2, 3 y 4 cableados

Los data-gramas IR los he extraído leyendo la información directamente del Remoto con diferentes códigos disponibles para Arduino. 

Aquí dejo mi humilde colaboración al mundo Arduino, con este código y lo que creo es mucho más importante los data-gramas de control IR para usarlo con la librerías y existentes de Arduino.

El código básicamente utiliza las memorias de posición de la cámara ya memorizadas bien con el control IR , vía web o con control físico como el RM-LP100.

El código propuesto es básico y lee cuatro sensores de audio del 1 al 4 si se detecta uno de ellos de  forma independiente va su posición correspondiente de 1- 4 que normalmente son un primer plano del interlocutor. En el caso de que los detectores 2 y 3 se activen de forma simultanea entrará la posición 5 con un plano medio y si alguna otra combinación de dos sensores se activan simultáneamente se envía el código para la posición 6 que será un gran angular.. es evidente de que este es un ejemplo moldeable a la necesidad de cualquier necesidad.

Bueno espero que sea útil sobre todo a centros de formación y universidades para su uso como Radio TV o desarrollo e investigación en nuevos proyectos.

El Código.

/*     Este código es para usarlo con una cámara PTZ de JVC modelo KY-PZ100 en cualquiera de sus versiones y una placa de arduino Mega 2560.

   En caso de ser Arduino el IR debe asignarse y conectarse al pin3

   Con este código simplemente se envía la orden de posición a la cámara 1-6 via IR que es una de sus vías de control.

   La propuesta es hacer una TV Radio con una simple cámara y con 4 sensores de audio (pos1-4) siendo la 5 y 6 utilizadas cuando existe la detección de más de uno de los sensores.

   Hay que tener en cuanta que los cambios deben de disponer de un tiempo mínimo para que el espectador no se vuelva loco con los cambios de cámara , aquí se utiliza el mínimo recomendado.

   En cámara se debe activar la función de memoria de imagen antes de cambio de esa forma se evita la visualización de los movimientos.

   La cámara puede publicar directamente a You tube , Facebook etc la transmision se debe activar vía Menú, consola de control RM-LP100 o Web control

   Para el envió de los codigos IR se utiliza la librería "IRremote.h"  

   

   IRremote: IRsendDemo - demonstrates sending IR codes with IRsend

   An IR LED must be connected to Arduino PWM Pin3 Mega pin 9.

   Version 0.1 July, 2009

   Copyright 2009 Ken Shirriff

   http://arcfn.com


  Para el LCD se han utilizado

  #include <Wire.h>

  #include <LiquidCrystal_I2C.h>

  LiquidCrystal_I2C lcd (0x27, 16, 2);

*/


#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <IRremote.h>


#define Cam1        0xC305

#define Cam2        0xC385

#define Cam3        0xC345

#define Pos1        0xC360

#define Pos2        0xC3E0

#define Pos3        0xC310

#define Pos4        0xC390

#define Pos5        0xC350

#define Pos6        0xC3D0


// Define sensor pin

const int AudSensor1 = 5;

const int AudSensor2 = 6;

const int AudSensor3 = 7;

const int AudSensor4 = 8;

const int Ledout     = 4;



// Define a variable for the button state


IRsend irsend;

LiquidCrystal_I2C lcd(0x27, 16, 2); // si no te sale con esta direccion  puedes usar (0x3f,16,2) || (0x27,16,2)  ||(0x20,16,2)


void setup()

{

  Wire.begin();

  lcd.begin(16, 2);

  lcd.clear();

  lcd.backlight();

  lcd.setCursor(3, 0);

  lcd.print("** MACO ** ");

  lcd.setCursor(0, 1);

  lcd.print("JVC PTZ Audio Ctl");


  //lcd.noBacklight();


  Serial.begin(9600);


  // Set Switch pin as Input

  pinMode(AudSensor1, INPUT);

  pinMode(AudSensor2, INPUT);

  pinMode(AudSensor3, INPUT);

  pinMode(AudSensor4, INPUT);

  pinMode(Ledout, OUTPUT);


}


void loop() {

  lcd.display();

  // Si el sensor en pin5 y pin7 da alto escribe en serial monitor y envia 1er 2 do código IR por pin 9 PMW para posicion 5.

  if ((digitalRead(AudSensor2)&& digitalRead(AudSensor3) == HIGH))

    { lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Sensor 2+3.");

    lcd.setCursor(0, 1);

    lcd.print("Posicion 5.");

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos5, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos5, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos5, 16, 0);

    delay(2000);lcd.clear();

  lcd.backlight();

  lcd.setCursor(3, 0);

  lcd.print("** MACO ** ");

  lcd.setCursor(0, 1);

  lcd.print("JVC PTZ Audio Ctl");

     }

      // Si el sensor en pin5 y pin6 da alto escribe en serial monitor y envia 1er 2 do código IR por pin 9 PMW para posicion 5.

     else if ((digitalRead(AudSensor1)&& digitalRead(AudSensor2) == HIGH))

    {

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Sensor 1+2 .");

    lcd.setCursor(0, 1);

    lcd.print("Posicion 6.");

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(2000);lcd.clear();

    lcd.backlight();

    lcd.setCursor(3, 0);

    lcd.print("** MACO ** ");

    lcd.setCursor(0, 1);

    lcd.print("JVC PTZ Audio Ctl");

     }

    // Si el sensor en pin5 y pin7 da alto escribe en serial monitor y envia 1er 2 do código IR por pin 9 PMW para posicion 5.

     else if ((digitalRead(AudSensor2)&& digitalRead(AudSensor4) == HIGH))

    {

     lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Sensor 2+4.");

    lcd.setCursor(0, 1);

    lcd.print("Posicion 6.");

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(2000);lcd.clear();

    lcd.backlight();

    lcd.setCursor(3, 0);

    lcd.print("** MACO ** ");

    lcd.setCursor(0, 1);

    lcd.print("JVC PTZ Audio Ctl");

     }

      // Si el sensor en pin5 y pin7 da alto escribe en serial monitor y envia 1er 2 do código IR por pin 9 PMW para posicion 5.

     else if ((digitalRead(AudSensor3)&& digitalRead(AudSensor1) == HIGH))

    {

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Sensor 3+1.");

    lcd.setCursor(0, 1);

    lcd.print("Posicion 6.");

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(2000);lcd.clear();

    lcd.backlight();

    lcd.setCursor(3, 0);

    lcd.print("** MACO ** ");

    lcd.setCursor(0, 1);

    lcd.print("JVC PTZ Audio Ctl");

     }

      // Si el sensor en pin5 y pin7 da alto escribe en serial monitor y envia 1er 2 do código IR por pin 9 PMW para posicion 5.

     else if ((digitalRead(AudSensor3)&& digitalRead(AudSensor4) == HIGH))

    { lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Sensor 3+4.");

    lcd.setCursor(0, 1);

    lcd.print("Posicion 6.");

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(2000);lcd.clear();

    lcd.backlight();

    lcd.setCursor(3, 0);

    lcd.print("** MACO ** ");

    lcd.setCursor(0, 1);

    lcd.print("JVC PTZ Audio Ctl");

     }

      // Si el sensor en pin5 y pin7 da alto escribe en serial monitor y envia 1er 2 do código IR por pin 9 PMW para posicion 5.

     else if ((digitalRead(AudSensor1)&& digitalRead(AudSensor4) == HIGH))

    { lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Sensor 1+4.");

    lcd.setCursor(0, 1);

    lcd.print("Posicion 6.");

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos6, 16, 0);

    delay(2000);lcd.clear();

    lcd.backlight();

    lcd.setCursor(3, 0);

    lcd.print("** MACO ** ");

    lcd.setCursor(0, 1);

    lcd.print("JVC PTZ Audio Ctl");

     }

  else if (digitalRead(AudSensor1)== HIGH)

  {

  // Si el sensor en pin5 da alto escribe en serial monitor, enciende el led y envia 1er 2 do código IR por pin 9 PMW.

  Serial.print("Enviando código Cámara 1, Posición 1 sen1 ");

    Serial.print("\n");

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Sensor 1.");

    lcd.setCursor(0, 1);

    lcd.print("Posicion 1.");

    //irsend forma parte de la libreia IR cam y posicion esta definido al inicio.

    irsend.sendJVC(Pos1, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos1, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos1, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos1, 16, 0);

    delay(5000);lcd.clear();

  lcd.backlight();

  lcd.setCursor(3, 0);

  lcd.print("** MACO ** ");

  lcd.setCursor(0, 1);

  lcd.print("JVC PTZ Audio Ctl");

 }

 // Si el sensor en pin6 da alto escribe en serial monitor, enciende el led y envia 1er 2 do código IR por pin 9 PMW.

  else if (digitalRead(AudSensor2) == HIGH){

  Serial.print("Enviando código Cámara 1, Posición 2 sen2");

    Serial.print("\n");

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Sensor 2.");

    lcd.setCursor(0, 1);

    lcd.print("Posicion 2.");

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos2, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos2, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos2, 16, 0);

    delay(5000);

    lcd.clear();

  lcd.backlight();

  lcd.setCursor(3, 0);

  lcd.print("** MACO ** ");

  lcd.setCursor(0, 1);

  lcd.print("JVC PTZ Audio Ctl");

   }// Si el sensor en pin7 da alto escribe en serial monitor, enciende el led y envia 1er 2 do código IR por pin 9 PMW.

  else if (digitalRead(AudSensor3) == HIGH)

  {

    Serial.print("Enviando código Cámara 1, Posición 3 sen3 ");

    Serial.print("\n");

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Sensor 3.");

    lcd.setCursor(0, 1);

    lcd.print("Posicion 3.");

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos3, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos3, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos3, 16, 0);

    delay(5000);

    lcd.clear();

  lcd.backlight();

  lcd.setCursor(3, 0);

  lcd.print("** MACO ** ");

  lcd.setCursor(0, 1);

  lcd.print("JVC PTZ Audio Ctl");

  }

  // Si el sensor en pin7 da alto escribe en serial monitor, enciende el led y envia 1er 2 do código IR por pin 9 PMW.

  else if (digitalRead(AudSensor4) == HIGH)

  {

    Serial.print("Enviando código Cámara 1, Posición 4 sen4 ");

    Serial.print("\n");

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Sensor 4.");

    lcd.setCursor(0, 1);

    lcd.print("Posicion 4.");

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos4, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos4, 16, 0);

    delay(50);

    irsend.sendJVC(Cam1, 16, 0);

    delay(50);

    irsend.sendJVC(Pos4, 16, 0);

    delay(5000);

    lcd.clear();

  lcd.backlight();

  lcd.setCursor(3, 0);

  lcd.print("** MACO ** ");

  lcd.setCursor(0, 1);

  lcd.print("JVC PTZ Audio Ctl");

  }

  else

  {


  lcd.backlight();

  lcd.setCursor(3, 0);

  lcd.print("** MACO ** ");

  lcd.setCursor(0, 1);

  lcd.print("JVC PTZ Audio Ctl");

  }

}