Una de las novedades introducidas por Microsoft en Windows 10 en la Creators Update de la primavera de 2017 , fue el famoso Modo Juego, una serie de herramientas cuyo objetivo es hacer este sistema operativo más amigable para quienes lo usan para jugar.
Si tiene su Windows 10 actualizado pues los normal es que ya cuente con esta funcionalidad del Modo Juego, un añadido más a las crecientes opciones relacionadas con juegos como la Barra de juego. La idea es la misma: atraer a aquellas personas que son reacias a jugar con Windows 10 ofreciéndoles el mejor rendimiento posible en juegos, el cual por cierto no siempre está claro que resulte satisfactorio .
Aunque en efecto no este demostrado , en este caso si estuviese experimentando problemas en los gráficos , se puede probar a desactivar esta característica de manera muy sencilla desde la herramienta general de Configuración del sistema > Juegos >
Aunque no sea un jugador, vamos a ver que esta herramienta integrada ya en W10 nos va a servir para una funcionalidad extra: grabar en vídeo sin necesidad de instalar ningún programa especializado usando la Barra de juegos de Windows 10
Ciertamente la barra de juegos está pensada para usarse en juegos, pero nada le impide usarla en cualquier otra aplicación : grabar video tutoriales, grabar un trozo de video de un servicio de streming, etc pues sus herramientas están también disponibles sea un juego o no, incluida la de grabación de la pantalla.
1. Abra la Barra de juego
Como decíamos, no usaremos ninguna aplicación externa, sino que nos basaremos en la Barra de juego, una barra de herramientas con utilidades para los aficionados a los juegos como el Modo juegos, la grabación en vídeo o la retransmisión en directo. Para abrir la barra de juego pulsa a la vez las teclas Windows y G de su teclado.
En caso de disponer de varias pantallas , asegúrese tener situado el ratón en la pantalla donde vamos a capturar lo que ocurra , de forma similar a si usase la herramienta «recortes».
Windows 10 detecta automáticamente cuándo está en un juego y, si no es así, primero debe confirmar que se trata de un juego marcando Sí, esto es un juego activando la casilla para que se abra la barra de juego.
Como vamos a capturar por ejemplo lo que ocurre en un navegador , simplemente pulsaremos F11 para entrar en modo pantalla completa ( ocultar la barra del navegador así como el botón de inicio) y acto seguido pulsaremos la vez las teclas Windows y G de su teclado para entrar en modo juego en pantalla completa.
2. Active el micrófono, o mantenga el audio original
De forma predeterminada, la grabación de vídeo del modo juegos graba la pantalla y el audio del juego, es decir, el de de por defecto definido por Windows. Si está grabando un tutorial y quiere narrar de viva voz lo que va haciendo, active antes la casilla Grabar con micrófono.
Si por lo que sea quiere grabar un fragmento de video con audio de algún servicio de streming que se ejecute en un navegador no se preocupe , pues si no pulsa la casilla Grabar con micrófono , w10 capturará tanto el video como el audio de ese servicio con la máxima calidad.
3. Empiece a grabar la pantalla en Windows 10
Una vez lo tenga todo listo para empezar a grabar, pulse el botón de grabación( el botón del circulito blanco ). y tendrá unos tres segundos para que empieze a grabar en vídeo lo que se ves o oiga por la pantalla. Tenga en cuenta que el modo de grabación está enlazado a una única aplicación, así que no grabará otras aplicaciones: solo lo qeu se ve en su pantalla.
4. Pare la grabación
Mientras graba cualquier cosa que ocurra en su pantalla se le mostrará una ventana flotante mostrando el tiempo de grabación y controles para parar la grabación, activar o desactivar el micrófono y cambiar la ubicación de los controles.
Lógicamente cuando haya terminado la grabación, vuelva a pulsar el botón Parar( el circulito blanco) o a la vez las teclas Windows y G de su teclado para salir del modo juego.
5. Compruebe el fichero capturado
Cuando termine la grabación se abrirá la aplicación de Xbox de Windows 10 mostrando el vídeo que acaba de grabar. Aquí ya puede reproducirlo para ver cómo ha quedado, cambiar su nombre, recortar su duración o borrarlo, si no le acaba de convencer.
La ruta por defecto de almacenamiento es C:\Users\USUARIO\Videos\Captures
6-Comprima el fichero de video capturado con la herramienta
VideoSmaller es un servicio gratuito que permite reducir en línea el tamaño de un archivo de vídeo, comprimiéndolo sin pérdida de calidad. Disminuye el tamaño del archivo, así como el del propio vídeo. Comprime vídeos en formato MP4 realizados con un dispositivo Android o iPhone. Basta con seleccionar el archivo de vídeo y pulsar en el botón «Subir vídeo». El proceso puede tardar en función del tamaño del vídeo y de la velocidad de conexión
En este post vamos a a ver conectar una placa MKR1000 (o MKR 1010) a la nube de Arduino IoT de modo que podremos controlar y supervisar las entradas o salidas de estas places a través de Internet utilizando el sitio web de Arduino IoT Cloud.
Para ello simplemente seguiremos tres pasos,:
Agregaremos nuestra placa a Arduino IoT Cloud como una cosa( Thing) , es decir una representación de nuestra placa en la nube.
A continuación, le daremos a nuestra cosa un conjunto de propiedades que representan sensores, LEDs, motores y muchos otros componentes en el proyecto al que queremos acceder desde la nube.
Subiremos a nuestra placa el código que nos propone Arduino IoT Cloud personalizado para nuestra red wifi
Si le interesa como hacerlo , vera que es muy sencillo, pues como vamos a ver casi todo esta hecho, pero antes, veremos las semejanzas y diferencias de ambas placas y después veremos paso a paso como lograrlo.
Arduino MKR1000
Arduino MKR1000 es una placa diseñada para ofrecer una solución práctica y rentable para cualquiera que busque agregar conectividad WiFi a sus proyectos con una experiencia mínima en redes. Su precio no es excesivo teniendo en cuenta que integra la conectividad wifi (unos 38€ en Amazon)
El diseño incluye un circuito de carga Li-Po que permite que el Arduino MKR1000 funcione con una batería o 5V externos, cargando la batería Li-Po mientras funciona con energía externa: el cambio de una fuente a otra se realizara automáticamente y por tanto no tendremos que preocuparnos de nada más.
El MKR1000 tiene un procesador Arm Cortex-M0 + de 32 bits corriendo a 2.4ghz , y cuenta con el rico conjunto habitual de interfaces de E / S . Sin duda uno de su punto fuertes es que integra WiFi de baja potencia con un chip criptográfico para una comunicación segura.
Una de las grandes ventajas es que puede programarlo utilizando el software Arduino (IDE) al que estamos todos familiarizados siendo muy fácil de usar.
Todas estas características hacen de esta placa la opción preferida para los proyectos emergentes que funcionan con baterías de IoT en un factor de forma compacto.
Desafortunadamente, Arduino aún no lo ha integrado en su IDE, por lo que la configuración no es tan fácil como lo es para la mayoría de sus otras placas ,sin embargo, siga algunos pasos para configurarlo y podrá ponerlo a prueba: –
Instale el último IDE de Arduino
Haga clic en Herramientas | Puerto – Seleccione el puerto COM (no se mostrará ninguna placa)
Ahora haga clic en Herramientas | Junta | Obtener información del tablero. Verá información con «Tablero desconocido» como tipo
A continuación, haga clic en Herramientas | Junta | Gerente de la Junta
Instale el paquete Arduino SAMD Boards (ARM Cortex-M0 + de 32 bits) que incluye MKR WiFi 1010, Genuino Zero, MKR1000, etc.
Reinicie el IDE para que surta efecto el nuevo paquete de placa
En este punto, puede desconectar y volver a conectar la placa para que el IDE lo vea
Haga clic en Herramientas | Información del tablero; esta vez verá «Arduino / Genuino MKR1000» !!! ¡No olvides este siguiente paso o no podrás subir tu boceto!
Haga clic en Herramientas | Tablero:
Seleccione Arduino / Genuino MKR1000 . En este punto, yaa puede cargar un boceto en su tablero como por ejemplo el que vamos a ver en este post para controlar un led desde Internet
Como se puede ver en la imagen de mas abajo , los pines disponibles son casi los mismos que los que solemos tener en un Arduino convencional : los pines A0 a A6 para entradas y salidas analógicas , los pines 0 al 14 para entradas salidas binarias y los típicos de alimentación externa(VIN,VCC 5v y GND) , la referencia (AREF ) y RESET.
Si le interesa esta placa la puede comprar en Amazon por unos 38€
Arduino MKR1010
Hablamos ahora de una placa muy similar a la anterior algo mas barata que la la Mkr1000 ( unos 33€ en Amazon , es decir unos 5€ mas barato que la MKR1000)
Esta placa está compuesta por tres bloques principales:
Microchip ATSAMD21 MCU basado en un procesador Arm Cortex-M0
Serie u-blox NINA-W10 de baja potencia 2.4GHz IEEE 802.11 b / g / n Wi-Fi ECC508 CryptoAuthentication
El diseño incluye un Li-Po Circuito de carga que permite que Arduino MKR WiFi 1010 funcione con batería o 5V externos, cargando la batería Li-Po mientras funciona con energía externa. El cambio de una fuente a otra se realiza automáticamente.
Como vemos , la gran diferencia es el Microcontrolador que es menos potente pues cuenta con el Microchip ATSAMD21 (procesador Arm Cortex-M0 +) en contraste con el Arm Cortex-M0 + de 32 bits corriendo a 2.4ghz del MKR100.
Respecto a la conectividad, es similar al MKR1000 contando con WiFi u-blox NINA-W102 (ESP32)
La alimentación se puede hacer con una fuente de alimentación externa de 5v DC bien por USB o bien por el pin VIN , pero cuenta además con conexión para Batería compatible (*) Li-Po de celda única, 3,7 V, 700 mAh siendo el voltaje mínimo de funcionamiento del circuito 3,3 V .
Como se puede ver en la imagen de mas abajo , los pines disponibles son casi los mismos que los que solemos tener en un Arduino convencional ( y los mismo que el MKR100) : los pines A0 a A6 para entradas y salidas analógicas , los pines 0 al 14 para entradas salidas binarias y los típicos de alimentación externa(VIN,VCC 5v y GND) , la referencia (AREF ) y RESET.
Si le interesa esta placa la puede comprar en Amazon por unos 33€
1. Crear una cosa y controlar un LED a través de la nube
Para empezar vamos a crear un circuito simple que consiste en un LED conectado a la placa Arduino MKR1000 (o MKR 1010).
Como se muestra en el esquema, simplemente conectaremos la pata positiva del LED al Pin digital 2 de la placa y la pata negativa a tierra a través de una resistencia de 150 ohmios.
Observe que la potencia de la placa de pan proviene del Vcc, no del pin de 5V de la placa MKR1000 pues si lo conectamos al pin de 5V, podríamos dañar la placa cuando por ejemplo agreguemos un botón.
Ahora que hemos conectado nuestro LED, podremos habilitado para IoT pero antes de eso, tendremos que configurar una placa Arduino para que pueda comunicarse con la nube.
Para este proyecto, podemos elegir un MKR1000 o un MKR 1010. Una vez que nuestra placa está configurada, necesitaremos crear a una cuenta Arduino ( ai aún no la tenemos creada, y hecho ya nos iremos a Arduino IoT Cloud y comenzaremos con el viaje a través de IoT
Asi pues nos iremos Arduino IoT Cloud que comenzara con el proceso guiado de introducción que nos ayudará a configurar nuestra placa, darle un nombre e instalar las claves que le permitirán conectarse de forma segura a nuestra nube mediante un canal cifrado.
Este es el asistente de introducciónSeleccionaremos una placa compatibleHaremos que se conecte de forma segura a IoT CloudEs hora de conectar nuestra placa a nuestro ordenador, se reconocerá automáticamenteVamos a darle un nombre…Ahora haremos clic en CONFIGURARDespués de un poco de tiempo todo está hecho, y podemos llegar DE VUELTA A CLOUD
Al hacer clic en el botón «BACK TO CLOUD» podremos crear nuestra primera Cosa.
Nuestra placa MKR recién configurada se seleccionará automáticamente para ser asociada con nuestra Cosa, por lo que todo lo que queda es darle un nombre. Elegimos llamarlo IoTCloud_Tutorial_Thing pero puede nombrarlo como desee.
Nuestra placa está preseleccionada ->Vamos a nombrarlo…y haga clic en el botón CREAR
Ahora seremos redirigidos a nuestra vista de edición de Thing, donde podremos crear y modificar sus Propiedades – la representación de sensores y actuadores a los que queremos acceder a través de la nube.
Nuestro objetivo es encender y apagar el LED a través de Cloud cuando alternamos un interruptor gráfico en nuestro navegador. Para hacerlo, tenemos que crear una propiedad, así que haga clic en el botón + como se muestra en la imagen de abajo.
Es hora de crear nuestra primera propiedad
Usaremos como nombre significativo que lo represente (este nombre se reflejará en el nombre de la variable que usaremos en el boceto) como por ejemplo dado que va ser un led de «.light"
El Tipo de esta propiedad debe ser «ON/OFF (Boolean)».
Nuestros detalles de propiedades están establecidos así que vamos vamos a crearlo
Podemos dejar El permiso establecido en «Leer y escribir» – para que podamos encender y apagar el LED desde el navegador.
También deje Actualizar en «Cuando cambie el valor», lo cual asegurará de que siempre que el valor de la propiedad/variable cambie dentro del boceto de la placa, dicho valor se enviará inmediatamente a la nube.
Finalmente haga clic en CREAR.
Vista de edición de propiedadesVista del panel
Desde la vista Editar podemos hacer clic en «EDITAR CODE». Esto nos redirigirá al Editor mostrando un boceto ya hecho que se ha generado para nuestra Cosa.
En este caso de ejemplo se generará el siguiente código que tendremos que cargar en nuestra placa:
* Sketch generated by the Arduino IoT Cloud Thing "testThing" https://create.arduino.cc/cloud/things/d276ab77-67cb-420b-9ea4-bd34cdf385d9
Arduino IoT Cloud Properties description
The following variables are automatically generated and updated when changes are made to the Thing properties
bool switchState; int potentiometerValue; bool ledState;
Properties which are marked as READ/WRITE in the Cloud Thing will also have functions which are called when their values are changed from the Dashboard. These functions are generated with the Thing and added at the end of this sketch. */
/* The following function allows you to obtain more information related to the state of network and IoT Cloud connection and errors the higher number the more granular information you’ll get. The default is 0 (only errors). Maximum is 3 */ setDebugMessageLevel(2);
// Initialize serial and wait for port to open: Serial.begin(9600); // This delay gives the chance to wait for a Serial Monitor without blocking if none is found delay(1500);
// Defined in thingProperties.h initProperties();
// Connect to Arduino IoT Cloud ArduinoCloud.begin(ArduinoIoTPreferredConnection); }
void loop() { buttons.update(); ArduinoCloud.update(); // Your code here int angleSensor = analogRead(A1); angle = map(angleSensor, 0, 1023, 0, 270); }
void onLightChange() { digitalWrite(LED_PIN, light); Serial.print("The light is "); if (light) { Serial.println("ON"); } else { Serial.println("OFF"); } }
void onPinActivated(uint8_t pinNr) { // do something according to the _pinNR that is triggered. For instance: Serial.println(pinNr); toggle = !toggle; }
void onPinDeactivated(uint8_t pinNr) { // do something according to the _pinNR that is triggered. For instance: Serial.println(pinNr); }
El boceto se denominará exactamente igual que nuestra Cosa, más la fecha de creación y, finalmente, un número si ya existe un boceto con nombre .
Aparte del archivo .ino principal , verá tres archivos más:
ReadMe.adoc: se trata de un archivo de texto sin formato que contiene información sobre el boceto, el autor y el propio proyecto.
thingProperties.h: este es el código generado por Arduino IoT Cloud cuando agregamos nuestra propiedad. No necesitamos editar este código, pero es útil verlo ya que muestra qué variablesde nuestro archivo de boceto principal (.ino) se sincronizarán con la nube.light
En la Pestaña Secreto: Detalles de la conexión WiFi, esta pestaña nos permite rellenar los valores como son el nombre y la contraseña de la red WiFi a la que se conectará nuestra placa.SECRET_SSIDSECRET_PASS
Vamos a profundizar en cada línea de este boceto para entender lo que hacen los difrentes ficheros qeu lo compone:
Fichero thingProperties.h
#include <ArduinoIoTCloud.h>
Importa la biblioteca ArduinoIoTCloud, que es necesaria para sincronizar nuestras variables de boceto locales con sus propiedadesde IoT Cloud.
#include <Arduino_ConnectionHandler.h>
El WiFiConnectionManager se utiliza para gestionar la conexión WiFi y la reconexión sin problemas.
Esta línea declara una función que se llamará cada vez que se cambia el valor de nuestra propiedad en el panel. Este tipo de función se conoce como devolución de llamada.light
bool light;
Declaración de la variable.light
void initProperties()
Esta función se llamará dentro del bloque de nuestro archivo *.ino.setup()
Este código pues le indica al sketch que trate la variable como una propiedad de nuestra cosa y que ejecute la función de devolución de llamada cada vez que se cambie el valor de propiedad de Arduino IoT Cloud.
Los permisos se establecen para esta propiedad porque esto es lo que seleccionamos al crear esta propiedad.lightonLightChangeREADWRITE
Este código Inicializa Connection Manager con el nombre de punto de acceso WiFi (SECRET_SSID) y la contraseña (SECRET_PASS)que establecemos en la pestaña Secreto
Fichero *.ino
Al igual que en cualquier Arduino Sketch, hay dos funciones principales, y . Se llama una sola vez; cuando el croquis se inicia o se restablece. El se ejecuta continuamente siempre y cuando la placa esté siendo alimentada.void setup(){...}void loop() {...}setup()loop()
#include "thingProperties.h"
Importa variables y funciones declaradas en thingProperties.h, así como en otras bibliotecas importadas.
setDebugMessageLevel(2);
Establece el nivel deseado de mensajes de registro que se imprimirán en el Monitor serie. En este momento el nivel se establece en 2, pero podemos cambiarlo de0 (que registra sólo errores) hasta 3 (que registra TODO!). Si algo no está funcionando con la conexión a WiFi o Cloud, será más fácil encontrar el problema si se establece en un nivel superior. Por ahora, podemos dejarlo como está.
Serial.begin(9600);
Inicializa el monitor seriepara imprimir lo y leer deél.
delay(1500);
Espera 1,5 segundos para dar al Monitor serie el tiempo necesario para inicializar.
initProperties();
Inicializa las propiedades tal como se definen en thingProperties.h.
Maneja muchas cosas en segundo plano, incluyendo la sincronización de los valores de las propiedades entre la nube y la placa, checkingtheconnectiontonetworkyCloudy otra lógica. Si el valor de una propiedad cambia en el boceto, la biblioteca la detectará automáticamente y notificará a la nube, de modo que dicho valor se reflejará en nuestro Arduino IoT Cloud Dashboard. Del mismo modo, cuando se cambia el valor de una propiedad en el panel, la biblioteca actualizará el valor correspondiente en el dispositivo.
void onLightChange() {...}
La implementación de nuestra devolución de llamada que se llamará en cualquier momento que cambie el valor de la propiedad. Aquí agregaremos cualquier código que queramos que se ejecute cuando cambie la propiedad de nuestro panel.light
Y ahora, con el fin de encender y apagar el LED desde el Arduino IoT Cloud Dashboard, necesitamos escribir algunas líneas de código. Primero definimos el pin al que está conectado nuestro LED. Agregue este código justo encima de la funciónsetup()
#define LED_PIN 2
En la función, necesitamos inicializar este pin para que sea una SALIDA:setup()
pinMode(LED_PIN, OUTPUT);
Por último, en la función, agregamos un poco de lógica para rastrear el estado en el monitor serie y para encender y apagar el LED. Tenga en cuenta que esta función de devolución de llamada se genera automáticamente cada vez que se agrega una nueva propiedad con permisos de lectura y escritura.onLightChange()light
void onLightChange() {
digitalWrite(LED_PIN, light);
Serial.print("The light is ");
if (light) {
Serial.println("ON");
} else {
Serial.println("OFF");
}
}
Pruebas
Una vez preparados los ficheros anteriores podemos cargar el boceto desde el IDE de Arduino haciendo clic en el botón Cargar y luego abra el Monitor Serie a la izquierda para ver si todo funciona.
Una vez conectado con éxito a nuestro WiFi, logró obtener una dirección e inició un enlace seguro, la placa se conectará a IoT Cloud y comenzará a intercambiar datos con ella.
[ 144313 ] Connecting to "FT Mobile"
[ 148284 ] Connected to "FT Mobile"
[ 148284 ] Acquiring Time from Network
....
[ 148690 ] Network Time: 1550057496
[ 148910 ] Connecting to Arduino IoT Cloud...
[ 152212 ] Connected to Arduino IoT Cloud
Si alguno de los pasos anteriores falla, recibiremos un error. Si eso sucede, podemos restablecer el tablero e intentarlo de nuevo. Si los pasos anteriores se han seguido cuidadosamente, es un caso poco probable 🙂
Al hacer clic en el botón GO TO IOT CLOUD seremos redirigidos a la página de nuestra Cosa en Arduino IoT Cloud. Desde aquí haremos clic en el botón del panel.
En la Vista de Dasboard ya deberíamos ver un widget que muestra el estado de la propiedad que creamos, y debe establecerse en OFF.light
Vamos a hacer clic en él un par de veces y vamos a ver el LED encender y apagar… y ON… y OFF de nuevo…
Debe estar conectado para enviar un comentario.