Índice

1. Síntesis y reconocimiento de voz

2. Procesamiento del lenguaje natural

3. Visión por computador

3.1. Color

4. Aprendizaje

5. Heurísticas y metaheurísticas

6. IoT, Arduino, NodeMCU, Raspberry Pi

6.1. Generar números aleatorios

6.2. Ruido

6.3. IoT

6.4 Estadística

6.5 Regresión lineal en Arduino

6.6 Raspberry Pi

7. Robótica

7.1 Localización

8. Autómatas Celulares

9. Inteligencia artificial, singularidad y filosofía

9.1 Creatividad Artificial

10. Cosas de matemáticas

11. Otras cosas

Mejora tus programas con Arduino

Si te interesan los contenidos de este blog ¡Te gustará mi ebook!


1. Síntesis y reconocimiento de voz

Síntesis de Voz en el navegador

Reconocimiento del habla en el navegador

Arquitectura de un bot que interactúa por voz

Interpretar lenguaje natural en un bot usando expresiones regulares

Síntesis de voz y lenguaje natural en un bot

2. Procesamiento del lenguaje natural

Reemplazar caracteres

Lematización de palabras

Medir distancias entre palabras

Medir distancia entre lemas

Extraer lemas de un texto

Separar palabras en sílabas

Encontrando la sílaba tónica

Diccionarios vs algoritmos generadores

Flexiones y derivaciones de las palabras

Convertir de números a palabras. Cardinales

Generar frases de forma automática a partir de textos

Generar frases de forma automática a partir de plantillas

Reconocer el idioma de un texto

Algoritmo para inventar palabras

Procesar un texto carácter a carácter

Problemas con procesamiento de lenguaje natural en Español

Detectar nombres propios en un texto

Hacer un sistema de lectura rápida

Calcular la dificultad de lectura de una palabra

Buscar palabras por como empiezan o terminan

3. Visión por computador

Introducción

Capturar vídeo de la cámara del dispositivo en HTML5

Imagen integral

Ventana deslizante y pirámide de imagenes

Tablas de consulta (lookup table)

Combinar cálculos de tablas de consulta e histogramas.

Brillo y contraste. Ajuste automático.

3.1. Color

Convertir RGB a escala de grises

Convertir de escala de grises a RGB/RGBA

Calcular la diferencia entre dos colores

Clasificar colores

4. Aprendizaje

El corazón del aprendizaje máquina

Programación Lógica

El problema del contexto en la Inteligencia Artificial

Problemas de la esperanza y aversión al riesgo y a la pérdida

Algoritmos que «olvidan» con el tiempo

Entropía

Simular la curva del olvido

5. Heurísticas y metaheurísticas

Resolviendo Problemas

Función Fitness

Elegir un buen vecino

Derivada numérica y gradiente

Random Search

Hill Climbing

Templado Simulado

Descenso del gradiente

Enjambre/Nube de partículas

Combinar varias metaheurísticas

Bases biológicas de los algoritmos genéticos y evolutivos

6. IoT, Arduino, NodeMCU, Raspberry Pi

Cifrado seguro en Arduino

Debug en Arduino

Test de código en Arduino

Máquina de estados finitos en Arduino

Secreto compartido entre dos usuarios para Arduino

Watchdog en Arduino

Obtener el código en ensamblador de un sketch de Arduino

Inicializar los servos en Arduino

Reiniciar Arduino por software

Excepciones y control de errores en Arduino

Microcontroladores e inteligencia artificial embebida

Transformar un valor de una escala a otra en Arduino. Map

Normalizar un valor entre 0 y 1en Arduino.

Usar Arduino como si fuera un teclado

Usar Arduino como si fuera un ratón

Evitar que Arduino se bloquee esperando al puerto serie

Arduino, configurar puerto serie.

Arduino, leer puerto serie usando serialEvent

Usar el led de las placa Arduino. LED_BUILTIN

Parar la ejecución o finalizar un programa en Arduino

Usar el watchdog de Arduino como temporizador

Ejemplo de fragmentación de memoria con Arduino

Librería LowPower para Arduino

Leer datos de la memoria RAM, flash y EEPROM

Volcado de la memoria RAM, flash y EEPROM usando Dump

6.1. Generar números aleatorios

Generando números aleatorios en Arduino

Generador justo de números aleatorios en Arduino

6.2. Ruido

Reducir ruido usando umbrales

Reducir ruido usando la media

Reducir ruido usando la moda

Reducir ruido usando la mediana

Reducir ruido usando la media y la desviación típica

Histéresis

6.3. IoT

Alarma con nodeMCU y un radar HW-MS03

Guardar datos de nodeMCU (o arduino) en la nube usando IFTTT

Modificar la web embebida de ESP32-Cam CameraWebServer

Password de un solo uso (OTP) en Arduino (HMAC, HTOP, TOTP)

Como evitar ataques de repetición en tus proyectos de IoT con OTP (Arduino)

Trabajar con datos tipados de un dispositivo desde una página web

6.4. Estadística

Estadísticas básicas en Arduino

Error medio absoluto y error cuadrático medio en Arduino

Calcular la media aritmética, media geométrica, media armónica y media cuadrática en Arduino

6.5. Regresión Lineal en Arduino

Regresión Lineal en Arduino

Regresiones logarítmica, exponencial y potencial a partir de la regresión lineal en Arduino

De regresión lineal a regresión logística en Arduino

Regresión lineal segmentada en Arduino

Regresión lineal con pesos en Arduino

Regresión lineal con incertidumbre en Arduino

6.6. Raspberry Pi

Como apagar la salida HDMI en la Raspberry Pi

Jugando con los led de la Raspberry Pi

Raspberry Pi programar tareas con cron

Raspberry Pi programar el encendido, apagado y reinicio

Raspberry Pi, desactivar conexiones para ahorrar energía

Raspberry Pi, ejecutar una aplicación o script al inicio

Crear un kiosko digital con chromium o firefox en Raspberry Pi

7. Robótica

Elegir estructura (chasis) para un robot casero

7.1. Localización

Medir distancia al emisor WiFi

Trilateralización

Localización en interiores usando redes WiFi

7.2 Sensores

Leer temperatura y humedad con Arduino Nano 33 BLE Sense (sensor HTS221)

Leer iluminación ambiental con Arduino Nano 33 BLE Sense (sensor APDS9960)

Leer temperatura y presión atmosférica con Arduino Nano 33 BLE Sense (sensor LPS22HB)

Comparar temperaturas de los sensores en Arduino Nano 33 BLE Sense

Leer colores con Arduino Nano 33 BLE Sense (sensor APDS9960)

Leer gestos con Arduino Nano 33 BLE Sense (sensor APDS9960)

8. Autómatas Celulares 

Autómatas Celulares

Diagrama de Voronoi con autómatas celulares

Simular con autómatas celulares la propagación de una enfermedad

Cálculo de la frontera de Voronoi

Simular ideologías con autómatas celulares

El autómata celular Ulam-Warburton

Caminata aleatoria (random walk) en un autómata celular

Fenómeno de sincronización con autómatas celulares

9. Inteligencia artificial, singularidad y filosofía

Diferentes escenarios de la singularidad tecnológica

Libre albedrío e inteligencia artificial

¿Es inteligente todo lo que parece inteligente?

Comparar la inteligencia artificial con la humana

Ciborgs y control mental

Dinero como función de utilidad

Inteligencia Artificial y los límites de la razón

Requisitos para usar big data o I.A. para clasificar personas

El valor de tus datos

Inteligencia artificial, armas y ética.

¿Qué aporta el libre albedrío a los agentes racionales?

Razón y juegos de azar

La única información privada es la no guardada

La dificultad de usar algoritmos para controlar a las personas

9.1 Creatividad artificial

Crear un agente con creatividad artificial

Creatividad artificial. Generar imágenes para microcuentos con VQGAN+CLIP

Creatividad artificial. CLIP+GA. Pinturas minimalistas y conceptuales con CLIP y algoritmos genéticos

10. Cosas de matemáticas

Operaciones con el histograma

Optimizar la comparación de distancias entre varios puntos

Comprobar la aleatoriedad. Test de rachas.

11. Otras Cosas

Como convertir una aplicación de MS-DOS en una aplicación web

Comparar pantallas para encontrar errores visuales durante los test del software

Uso de memoization para mejorar el rendimiento

Memoization y persistencia

Memoization y recursividad

Memoization con tiempo de vida

Enviar datos desde el ordenador al móvil con KDEConnect

Usar KDEConnect para crear una botonera y controlar acciones en el PC desde el móvil

Eventos personalizados en javascript

Generador de código a partir de plantillas

Primeros pasos SDR. ¿Qué puedo hacer?

SDR. Usar rtl_433 para obtener los datos de las estaciones meteorológicas de tus vecinos

Como saber si un elemento HTML se ve en pantalla en una web con scroll. IntersectionObserver

Lanzar tareas en una web cuando el navegador está desocupado. RequestIdleCallback

Gamificación en el diseño del software