-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
update info para charrear con las palcas
- Loading branch information
Showing
3 changed files
with
103 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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, | ||
}> | ||
} | ||
``` |