Skip to content

Commit

Permalink
update info para charrear con las palcas
Browse files Browse the repository at this point in the history
  • Loading branch information
crisconru committed Apr 20, 2024
1 parent 252cfb3 commit 1f0d58f
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 15 deletions.
33 changes: 32 additions & 1 deletion website/docs/electronica.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,34 @@
# Eletrónica

TODO:
- Tiras de LEDs de 20m -> [link](https://es.aliexpress.com/item/1005003741393424.html)
- Placas ESP32 C3 Super Mini + Shield expansion board -> [link](https://es.aliexpress.com/item/1005006345128364.html)

## LEDs - Alimentación

- Se han pedido 4 tiras de leds de 20m -> 80m de tiras
- Cada metro de tira contiene 10 leds -> 1 led cada 10cm
- Cada led consume 0.1 - 0.3 W
- Cada 1m leds === 1 - 3 W
- Tira de 20m leds === 20 - 60 W
- Las tiras se pueden cortar y empalmar a nuestro antojo

Para calcular la potencia también WLED nos provee de un recursos para eso

- Calculador de potencia para los leds con WLED => [link](https://wled-calculator.github.io/)

## Placas ESP32 C3 Super Mini

Usamos las placas ESP32 C3 Super Mini porque son bastante pequeñas, tienen todas las ventajas de las placas ESP32 (WiFi, Bluetooth, etc) y además tienen USB-C.

### Flashear placas con WLED

Para poder usar estas placas primero hay que flashearlas con el software WLED

1. Conecta la placa a tu ordenador con un cable USB-C
2. Abre Google Chrome (no vale otro navegador)
3. Entra en la web [https://install.wled.me/](https://install.wled.me/)
4. Selecciona la versión del firmware a cargar
5. Seleccion "Plain" y luego dale a "Install"
6. Deberás elegir el puerto USB donde está conectada la placa
7. Configurale el WiFi y demas
8. Luego te dirá en que IP está, entra en ella, vete a "Config" y termina de configurar toda la parte de red.
16 changes: 3 additions & 13 deletions website/docs/materiales.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,6 @@

- Tiras de LEDs de 20m -> [link](https://es.aliexpress.com/item/1005003741393424.html)
- Placas ESP32 C3 Super Mini + Shield expansion board -> [link](https://es.aliexpress.com/item/1005006345128364.html)

Libreria para usar los leds, WLED -> [link](https://kno.wled.ge/)

- Calculador de potencia para los leds con WLED => [link](https://wled-calculator.github.io/)

## LEDs

- Se han pedido 4 tiras de leds de 20m -> 80m de tiras
- Cada metro de tira contiene 10 leds -> 1 led cada 10cm
- Cada led consume 0.1 - 0.3 W
- Cada 1m leds = 1 - 3 W
- Tira de 20m leds = 20 - 60 W
- Las tiras se pueden cortar y empalmar a nuestro antojo
- Estructura de madera
- Telas
- ...
69 changes: 68 additions & 1 deletion website/docs/software.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,70 @@
# Software

TODO:
Libreria para usar los leds, WLED -> [link](https://kno.wled.ge/)

## Como empezar

Primero deberás tener las placas ESP32 C3 flasheadas -> [mira aquí](electronica.md#flashear-placas-con-wled)

En este repositorio tienes una carpeta `src` que contiene un programa Node-Red dockerizado para poder levantar el programa.

## Interactuar con los LEDS

Se recomienda entrar en la pagina web del propio cacharro y fijar en la config la parte técnica de:

- Wifi, ip statica, etc
- Modelos de Leds usados, potencia, rgb, etc
- Definir cuantos leds hay (200s por tira de 20m) y en que patilla estan (normalmente usamos GPIO2)

Para mandarles ordenes tiene una API Rest a partir del endpoint /json

GET -> IP/json => Devuelve un JSON con 4 campos, 3 de ellos son readonly y solo uno sirve para interactuar:

- state -> Unico campo para interactuar
- effects -> Array de nombres de los efectos
- palettes -> Array de nombres de las paletas
- info -> Información física de la placa (IP, nivel de señal wifi, version firmware, etc)

Se pueden obtener cada uno por separado haciendo una peticion GET

- state -> GET IP/json/state
- effects -> GET IP/json/effects
- palettes -> GET IP/json/palettes
- info -> GET IP/json/info

### Mandar cosas a las tiras de leds

Hay que mandar un json con el state que tiene que tener toda la tira

POST IP/json/state

Ese json es de esta forma

```typescript
type state = {
// Para toda la tira -> Enciende true | Apaga false | Toggle "t",
on: boolean | "t",
// Para toda la tira -> Brillo de 0 a 255
bri: int8,
// Para cada segmento -> Array con los estados de cada segment
seg: Array<{
// El led donde empieza, el mas pequeño es 0
start: int,
// El led donde acaba, se puede omitir si se manda len
end: int,
// Longitud del segmente, se puede omitir si se manda end
len: int,
// Array con los colores
// Tiene 3 elementos: color primario, secundario y terciario
// Solo importa el primero
// Cada elemento a su vez es un array de 3 elementos -> RGB de 0 a 255
col: Array<[red: int8, green: int8, blue: int8]>[3]
// Efecto del segmento -> Es el índice (numero) del array de /json/effects
fx: int,
// Encender apagar el segmento -> Enciende true | Apaga false | Toggle "t",
on: boolean | "t",
// Brillo sel segment -> Brillo de 0 a 255
bri: int8,
}>
}
```

0 comments on commit 1f0d58f

Please sign in to comment.