Você está no 3DFinder
Buscamos em Thingiverse, MakerWorld e Printables ao mesmo tempo para te dar o melhor de cada uma.
Descrição
Petit projet sur l'idée d'un pote.
Cube réalisé sous Fusion360, avec 4 faces utilsables. chaque face à sa fonction :
- Eteint les lumieres du salon
- Allume les lumières du salon
- Mode soirée (change les couleurs des lampes du salon toutes les 3 minutes avec transition)
- Mode Cinéma (basé sous le statut de plex)
A imprimer en 0.20 avec 15% de remplissage, activer les supports pour chacune des pièces.
Code ESPHome
esphome:
name: chambreami
platform: ESP8266
board: nodemcuv2
wifi:
ssid: "wifi SSID"
password: "*******"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Chambreami Fallback Hotspot"
password: "Ax48LmP4nlLxI"
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
password: "*******"
ota:
password: "*******"
i2c:
- sda: D5
scl: D3
scan: True
sensor:
- platform: wifi_signal
name: "Chambre ami WiFi Signal Sensor"
update_interval: 60s
- platform: uptime
name: 3D Uptime Sensor
- platform: mpu6050
address: 0x68
update_interval: 2s
accel_x:
id: accel_x
name: "MPU6050 Accel x"
accel_y:
id: accel_y
name: "MPU6050 Accel Y"
accel_z:
id: accel_z
name: "MPU6050 Accel z"
gyro_x:
name: "MPU6050 Gyro X"
gyro_y:
name: "MPU6050 Gyro Y"
gyro_z:
name: "MPU6050 Gyro z"
temperature:
name: "MPU6050 Temperature"
- platform: template
name: "AccelX"
id: accelx
lambda: |-
if ((id(accel_x).state) > 5) {
return 10;
}
else
{
if ((id(accel_x).state) > 0) {
return 1;
}
else {
return -1;
}
}
update_interval: 2s
- platform: template
name: "AccelY"
id: accely
lambda: |-
if ((id(accel_y).state) > 5) {
return 10;
}
else
{
if ((id(accel_y).state) > 0) {
return 1;
}
else {
return -1;
}
}
update_interval: 2s
- platform: template
name: "AccelZ"
id: accelz
lambda: |-
if ((id(accel_z).state) > 5) {
return 10;
}
else
{
if ((id(accel_z).state) > 0) {
return 1;
}
else {
return -1;
}
}
update_interval: 2s
text_sensor:
- platform: version
name: "ESPHome Version"
- platform: wifi_info
ip_address:
name: Chambre ami IP Address
- platform: template
update_interval: 2s
name: "Move"
lambda: |-
if ((((id(accelx).state) == -1.0) && ((id(accely).state) == -1.0) && ((id(accelz).state) == 1.0)) || (((id(accelx).state) == -1.0) && ((id(accely).state) == 1.0) && ((id(accelz).state) == 1.0))) {
return {"Eteint"};
}
else
{
if ((((id(accelx).state) == 1.0) && ((id(accely).state) == 10.0) && ((id(accelz).state) == 1.0)) || (((id(accelx).state) == 1.0) && ((id(accely).state) == 10.0) && ((id(accelz).state) == -1.0)) || (((id(accelx).state) == 1.0) && ((id(accely).state) == 10.0) && ((id(accelz).state) == -1.0)) || (((id(accelx).state) == -1.0) && ((id(accely).state) == 10.0) && ((id(accelz).state) == -1.0))) {
return {"Allume"};
}
else
{
if ((((id(accelx).state) == 10.0) && ((id(accely).state) == -1.0) && ((id(accelz).state) == -1.0)) || (((id(accelx).state) == 10.0) && ((id(accely).state) == 1.0) && ((id(accelz).state) == 1.0)) || (((id(accelx).state) == 10.0) && ((id(accely).state) == 1.0) && ((id(accelz).state) == -1.0))) {
return {"Cinema"};
}
else
{
if ((((id(accelx).state) == 1.0) && ((id(accely).state) == -1.0) && ((id(accelz).state) == -1.0)) || (((id(accelx).state) == 1.0) && ((id(accely).state) == -1.0) && ((id(accelz).state) == 1.0))) {
return {"Soiree"};
}
else
{
return {"Rien"};
}
}
}
}
Partie electronique
Brancher :
- la pin SDA du MPU6050 sur la pin 5 du NodeMCU
- la pin SCL du MPU6050(parfois SCK) sur la pin 3 du NodeMCU
- brancher l'alimentation sur 3V (ou VIN)
- brancher le GND
Exemple de configuration pourHome Assistant
- id: '1585155954250'
alias: CubeMotionLightOff
description: CubeMotionLightOff
trigger:
- entity_id: sensor.move
platform: state
to: Eteint
condition: []
action:
- scene: scene.eteint
- id: '1585155954251'
alias: CubeMotionLightOn
description: CubeMotionLightOn
trigger:
- entity_id: sensor.move
platform: state
to: Allume
condition: []
action:
- scene: scene.allume
A améliorer car le dispositif chez moi se déconnecte regulierement et se reconnecte. Son etat passe donc de Eteint à unknown,et inversement ce qui peut rappeler le script lancé si le cube est encore sur la même face.
EDIT: probleme corrigé ajouter a la balise wifi dans ESPHOME l'option suivante :
power_save_mode: none
Gostou deste modelo? Crie uma conta grátis para salvar seus favoritos e voltar a eles depois.
Criar conta