Activar refrigeración pasiva en Windows 11

Tengo una laptop de hace 5 años y mi única queja es que a veces se calienta mucho. Como es de metal entonces es un poco incómodo escribir.

Noté que cuando la uso sin el cargador conectado, entonces la laptop no se calienta, y recordé que cuando no está conectada a la corriente las laptops trabajan a menor velocidad. Entonces hay dos configuraciones que ajusté en mi pc:

Esto ha ayudado a mantener un poco más fría mi PC.

Windows 11 no te muestra la directiva de refrigeración?

A mi tampoco me lo enseñaba. Tuve que usar este comando en un cmd de administrador:

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\94D3A615-A899-4AC5-AE2B-E4D8F634367F /v Attributes /t REG_DWORD /d 2 /f

Y TODO TU BITCOIN SERÁ MIO!!!! Ejem… digo, y esto habilitará la directiva de refrigeración en windows 11.

¿ch32v003f4p6 y ov2640?

Estoy pensando en una implementación de bajo costo de una cámara. He visto que un ESP32_cam puede costar unos 7USD? es posible algo de menor costo?

Baja latencia, baja resolución, blanco y negro?

Al final conseguí que hay módulos de cámaras para laptops que rondan los 3$.

También conseguí este repositorio interesante que conecta una RP2040 a una cámara ov2640

NRF52840: mapear pines no usados

Problema: estoy usando una librería SparkFun_TB6612.h que llama a definir varias señales:

PWMA, AIN2 1, AIN1 2, STBY, BIN1, BIN2 y PWMB. Mi módulo XIAO tiene pocos pines. No quise modificar la librería (aunque creo que este es el paso lógico). Entonces modifiqué el archivo variants.cpp así:

const uint32_t g_ADigitalPinMap[] =
{...    // Dañando cosas 
    19 //D33 es P0.19 (STBY)
};

Y el variants.h así:

#define PINS_COUNT              (34)
#define NUM_DIGITAL_PINS        (34)

Esto me deja en mi código (en el demo de motorTestRun) hacer esto:

#define PWMA 0
#define AIN2 1
#define AIN1 2
#define STBY 33 //D33 está mapeado a P0.19 que no está conectado a nada. Lo hice porque la librería pide un STBY, y no se me ocurrió modificar la librería XD
#define BIN1 4
#define BIN2 5
#define PWMB 6

Y no necesitar usar un pin adicional para la señal STBY

SEEED nrf54840 + Bluetooth LE BLE (con arduino y mit app inventor)

Recientemente he hecho el curso de coursera+edgeImpulse de ML. Ahí usé un arduino nano 33 ble sense que cuesta 40USD. Durante el curso quemé el arduino, y buscando una alternativa, conseguí que el SEEED nrf54840 es muy parecido (tiene una IMU, un RGB y un microfono) y cuesta 15USD (y hay una versión con BLE sin el micrófono ni IMU que cuesta 10USD).

Para las primeras pruebas del arduino, quize conectarlo usando el BLE (porque nunca había hecho nada así) en la página de SEEED  dan algunos consejos. Y en este vídeo de youtube aprendí cómo codificar la app de en MIT AppInventor.

En el app inventor tuve un problema al enviar datos al NRF usando en método WriteIntegers. Esto nunca funcionó. Se solucionó usando el método WriteIntegersWithResponse.

Al final terminé con este bloque en AppInventor:

Y el código en arduino sería:

#include <ArduinoBLE.h>
// Acá puede ser cualquier número que siga el formato XXXXXXXX-XXXx-XXXx-XXXx-XXXXXxxxxx
BLEService ledService(«19b10000-e8f2-537e-4f6c-d104768a1214»);
BLEByteCharacteristic switchCharacteristic(«19b10001-e8f2-537e-4f6c-d104768a1214», BLERead | BLEWrite);
const int ledPin = LED_BUILTIN; // pin to use for the LED
void setup() {
  pinMode(ledPin, OUTPUT);
  if (!BLE.begin()) {
    while (1);
  }
  BLE.setLocalName(«LED»);
  BLE.setAdvertisedService(ledService);
  ledService.addCharacteristic(switchCharacteristic);
  BLE.addService(ledService);
  switchCharacteristic.writeValue(0);
  BLE.advertise();
}
void loop() {
  BLEDevice central = BLE.central();
  if (central) {
  while (central.connected()) {
        if (switchCharacteristic.written()) {
          if (switchCharacteristic.value()) {  
            digitalWrite(ledPin, LOW); // changed from HIGH to LOW      
          } else {                              
            digitalWrite(ledPin, HIGH); // changed from LOW to HIGH    
          }
        }
      }
  }
}
Suerte!
Postmortem1: el GPS tiene que estar activado para que el teléfono encuentre los dispositivos BLE

Invalid texture used for cursor – check importer settings or texture creation

El error completo en Unity lee:
Invalid texture used for cursor – check importer settings or texture creation. Texture must be RGBA32, readable, have alphaIsTransparency enabled and have no mip chain.

Este warning se estaba generando porque al crear la textura del cursor:

Luego a temp le iba a asignar la suma de dos imágenes. Como al instanciar temp no incluí el textFormat ni el mipChain, entonces daba ese warning:

Prueba de manejo: Estacionamientos

La prueba de manejo consiste en tener en cuenta 3 factores:

Las consideraciones generales para los estacionamientos son las siguientes:

Las luces de emergencia hay que prenderlas siempre (SIEMPRE) que vayas de retroceso.

Si te equivocas alineandote en el paralelo (p.e. quedas muy fuera), no lo corrijas. Equivocarse es -30, correjirlo es -30 y estás fuera.

Al salir del estacionamiento paralelo hay que encender la direccional izquierda.

Al entrar al estacionamiento diagonal hay que encender la direccional derecha.

Estacionamiento paralelo

el veedor te dará 3 instrucciones. Alinear, estacionar y salir.

Alinear:

Estacionar paso 1

Colocar el banderin (del número que nos desinaron) en la mitad de la luna pequeña. Girar todo hacia la derecha. Encender las luces de emergencia. Poner el retroceso.

Tip: en este punto la llanta trasera estará pisando la línea blanca.

Paso 2

El banderin posterior estará arriba de la línea roja del seguro de la puerta trasera:

Girar todo hacia la izquierda y seguir retrocediendo.

Paso 3

Detener cuándo el banderin delantero esté en la mitad del volante. Girar completo a la derecha y avanzar.

Paso 4:

Avanzar hasta que el auto esté paralelo con la línea horizontal. Verificar retrovisor.

Para salir, poner retroceso, encender la luces de emergencia, cruzar todo el volante a la derecha, retroceder hasta que el banderín esté al centro del volante.

Poner luces de cruce a la izquierda, poner D, sacar la cabeza por la ventana y verificar que tenemos preferencia. Salir.

Este vídeo está bueno, pero no explica las luces de emergencia porque son un requisito más nuevo

Estacionamiento Diagonal

Al esperar indicaciones poner intermitentes derechas.

Al recibir el número, avanzar acercandonos a la línea izquierda, hasta que la línea derecha de nuestro puesto esté a la altura del retrovisor:

Girar todo a la derecha. Avanzar hasta que el poste asignado esté en el centro del tablero:

Comenzar a devolver el timón. En este vídeo explican el proceso con pasos, pero la verdad es que si ya manejas es más fácil dejarse llevar por la memoria muscular que tengas. Avanzar hasta que las llantas toquen el tope. Poner parking

Esperar la indicación para salir. Al retroceder recordar encender las luces. Verificar la prioridad. Mirar que la línea blanca esté en el marco de la ventana pequeña trasera. Girar todo a la derecha. Seguir retrocediendo.

Mirar por la ventana trasera hasta que el semáforo esté entre las dos cabeceras. Frenar. Ponder D. Quitar las luces de emergencia. Seguir con la ruta.

Suerte en el exámen!!!

Prueba de manejo: Preferencias

La prueba de manejo consiste en tener en cuenta 3 factores:

Las consideraciones para las preferencias son las siguientes:

En los ovalos: si ya hay carros transitando, y si tienes que entrar, tienes que esperar hasta que puedas ver las luces traseras, y luego entrar

En los estacionamientos: Si tienes autos detrás de ti, tienes que esperar que ellos salgan primero. Hay que voltear a ver hacia atrás antes de salir.

Casos pendejos:

Un auto ruta a sale, un auto ruta b entra.

En la siguiente imágen el auto amarillo ruta B tiene prioridad para cambiar de canal antes que el rojo cambie de canal. El rojo se tiene que detener al terminar la jiba (el montículo).

Si dos autos se encuentran frente a frente para salir del circuito

El que sale de la ruta B tiene preferencia para salir.

Curva pendeja. Caso A (esperar siempre si eres amarillo)

Tú eres el carro amarillo. El coche azul entra al circuito B, El coche rojo va a salir del circuito A. Tú tienes que esperar que azul salga, luego va a pasar rojo, de último tú pasas. Si estás delante del rayado, no importa si el semaforo arriba de ti está en rojo o verde, eso es para los que están detrás del rayado.

En uno de mis intentos de prueba el coche rojo se quedó estacionado ahí, yo conté unos 10 segundos y como no se movió, yo seguí. En esos casos donde la gente tiene un colapso en la pista, tienes que contar hasta 10 y seguir.

Curva pendeja, caso B (esperar siempre si eres amarillo)

El auto naranja va a salir de la ruta B. Hay que dejarlo pasar en ambos casos

Suerte en el exámen!!!

Prueba de manejo: Luces direccionales y de emergencia.

La prueba de manejo consiste en tener en cuenta 3 factores:

  • Luces direccionales y de emergencia (este post)
  • Preferencias
  • Estacionamientos

Las consideraciones para las luces direccionales y de emergencia son las siguientes:

Si la ruta no implica una toma de decisión (como al salir de la ruta a, la primera curva hacia la izq) entonces no hay que prender la lúz.

Lo contrario a esto es al salir del ovalo por primera vez en al ruta A. En este caso es posible (teoricamente) salir del ovalo hacia la derecha, o volver a girar en el ovalo hacia la izquierda. Esta es una decisión que hay que indicar al conductor detrás.

Las luces de emergencia hay que prenderlas siempre (SIEMPRE) que vayas de retroceso.

Hay un caso especial: al salir del estacionamiento paralelo hay que encender la direccional.

Las luces direccionales

Para la ruta A se encienden acá:

Y para la ruta B se encienden acá:

Las luces de emergencia

Se encienden al retroceder. En el estacionamiento paralelo se retrocede para estacionar y para salir. En el estacionamiendo diagonal sólo se retrocede para salir.

Suerte en el exámen!!!