Índice:
- Etapa 1: CONTA DE MATERIAIS
- Etapa 2: CIRCUITO
- Etapa 3: BASE MAGNÉTICA - BRAÇO FLEXÍVEL
- Etapa 4: SOLAR - CARREGADOR DE BATERIA
- Etapa 5: CONECTE TODOS JUNTOS
- Etapa 6: PROGRAMA DE CONTROLE INTERATIVO
- Etapa 7: PROGRAMA DE CONTROLE SEM FIO E APLICAÇÃO ANDROID
- Etapa 8: ALGUMAS IMAGENS
Vídeo: LÂMPADA SOLAR SEM FIO COM BRAÇO MAGNÉTICO FLEXÍVEL: 8 etapas (com fotos)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Este projeto foi feito a partir de uma lâmpada quebrada e nodeMCU. Esta lâmpada decorativa pode ser ajustada em qualquer direção e fixada em materiais magnéticos ou colocada na mesa. Pode ser controlado em dois modos da seguinte forma:
- Modo de controle sem fio, conforme link do YouTube abaixo:
- Modo de controle interativo, conforme link do YouTube abaixo:
Etapa 1: CONTA DE MATERIAIS
Lista B. O. M:
Para o modo interativo, eu uso o MPU6050 para obter dados do giroscópio do NodeMCU para controlar a cor da lâmpada.
Imagem dos materiais para este projeto:
Etapa 2: CIRCUITO
Este é um circuito muito simples, como o esquema de Fritzing acima, com 1 tipo de ânodo comum LED RGB, três resistores de corrente limite R100 e MPU6050.
O refletor é usado em qualquer lâmpada quebrada e conectado à base do nodeMCU por 2 parafusos ou cole-os com cola forte.
Trabalho de instalação:
Esquema abaixo:
Etapa 3: BASE MAGNÉTICA - BRAÇO FLEXÍVEL
O braço flexível pode ser reutilizado em torneiras de água flexíveis quebradas. Algo parecido:
Com algumas dicas, tentamos conectá-los à base do ímã permanente na parte inferior do braço flexível. No topo, fizemos um furo para conectar a nossa placa de circuito e carregador solar / bateria. Com esta base, podemos colocar a lâmpada na superfície como uma mesa, piso …; ou pode ser fixado em materiais magnéticos como pilar de aço, estrutura de aço.
Etapa 4: SOLAR - CARREGADOR DE BATERIA
Veio de uma lâmpada de carregamento danificada. Eu adicionei um interruptor liga / desliga e fonte de fios de energia para nodeMCU. Ele também possui uma saída de porta USB e um plugue para carregador de bateria.
Etapa 5: CONECTE TODOS JUNTOS
Conectando todas as peças: NodeMCU e refletor, células solares e de bateria, braço flexível juntos.
FINALIZAR
MODO DE CARREGAMENTO
Etapa 6: PROGRAMA DE CONTROLE INTERATIVO
A cor será alterada quando ajustamos o braço flexível ou giramos a lâmpada.
LÂMPADA INTERATIVA
#incluir |
// Endereço do dispositivo escravo MPU6050 |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Selecione os pinos SDA e SCL para comunicação I2C - Pino padrão na BIBLIOTECA DE ARAME: SCL - D1 & SDA - D2 em NODEMCU |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 alguns endereços de registro de configuração |
const uint8_t MPU6050_REGISTER_SMPLRT_DIV = 0x19; |
const uint8_t MPU6050_REGISTER_USER_CTRL = 0x6A; |
const uint8_t MPU6050_REGISTER_PWR_MGMT_1 = 0x6B; |
const uint8_t MPU6050_REGISTER_PWR_MGMT_2 = 0x6C; |
const uint8_t MPU6050_REGISTER_CONFIG = 0x1A; |
const uint8_t MPU6050_REGISTER_GYRO_CONFIG = 0x1B; |
const uint8_t MPU6050_REGISTER_ACCEL_CONFIG = 0x1C; |
const uint8_t MPU6050_REGISTER_FIFO_EN = 0x23; |
const uint8_t MPU6050_REGISTER_INT_ENABLE = 0x38; |
const uint8_t MPU6050_REGISTER_ACCEL_XOUT_H = 0x3B; |
const uint8_t MPU6050_REGISTER_SIGNAL_PATH_RESET = 0x68; |
int16_t AccelX, AccelY, AccelZ, Temperatura, GyroX, GyroY, GyroZ; |
void setup () { |
pinMode (R, OUTPUT); |
pinMode (G, SAÍDA); |
pinMode (B, OUTPUT); |
//Serial.begin(9600); |
Wire.begin (SDA, SCL); |
MPU6050_Init (); |
} |
void loop () { |
uint16_t Ax, Ay, Az, T, Gx, Gy, Gz; |
uint16_t Vermelho, Verde, Azul; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Pega valor absoluto |
Ax = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Escala no alcance |
Vermelho = mapa (Ax, 0, 16384, 0, 1023); |
Verde = mapa (Ay, 0, 16384, 0, 1023); |
Azul = mapa (Az, 0, 16384, 0, 1023); |
// Impressão serial para verificar |
//Serial.print("Red: "); Serial.print (vermelho); |
//Serial.print("Green: "); Serial.print (Verde); |
//Serial.print("Blue: "); Serial.print (azul); |
// Escreva analógico para LED |
analogWrite (R, vermelho); // R |
analogWrite (G, Verde); // G |
analogWrite (B, Azul); // B |
atraso (200); |
} |
void I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (dados); |
Wire.endTransmission (); |
} |
// Lê todos os 14 registros |
void Read_RawValue (uint8_t deviceAddress, uint8_t regAddress) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.endTransmission (); |
Wire.requestFrom (deviceAddress, (uint8_t) 14); |
AccelX = (((int16_t) Wire.read () << 8) | Wire.read ()); |
AccelY = (((int16_t) Wire.read () << 8) | Wire.read ()); |
AccelZ = (((int16_t) Wire.read () << 8) | Wire.read ()); |
Temperatura = (((int16_t) Wire.read () << 8) | Wire.read ()); |
GyroX = (((int16_t) Wire.read () << 8) | Wire.read ()); |
GyroY = (((int16_t) Wire.read () << 8) | Wire.read ()); |
GyroZ = (((int16_t) Wire.read () << 8) | Wire.read ()); |
} |
// Configure MPU6050 |
void MPU6050_Init () { |
atraso (150); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_SMPLRT_DIV, 0x07); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_PWR_MGMT_1, 0x01); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_PWR_MGMT_2, 0x00); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_CONFIG, 0x00); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_GYRO_CONFIG, 0x00); // definir +/- 250 graus / segundo escala completa |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // definir +/- 2g escala completa |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_FIFO_EN, 0x00); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_INT_ENABLE, 0x01); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_SIGNAL_PATH_RESET, 0x00); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_USER_CTRL, 0x00); |
} |
// Valor absoluto |
float myAbs (float in) { |
return (in)> 0? (in):-(in); |
} |
ver rawINTERACTIVE LAMP PROGRAM hospedado com ❤ pelo GitHub
Etapa 7: PROGRAMA DE CONTROLE SEM FIO E APLICAÇÃO ANDROID
Outra forma, podemos usar o aplicativo Android para controlar LED RGB com Android na rede WiFi. Link Android App: NODEMCU control RGB LED APP
Para o programa Arduino, você pode consultar:
microcontrollerkits.blogspot.com/2016/05/es…
Após fazer o upload do programa para o NodeMCU, a primeira execução nos dará o endereço IP do NodeMCU na impressão serial. No meu caso, é: 192.164.1.39 na porta 80.
Agora, podemos controlar a lâmpada sem fio com laptop / tablet / celular digitando o endereço acima no Internet Explorer.
Ou usando o aplicativo Android:
Etapa 8: ALGUMAS IMAGENS
Recomendado:
Robô Arduino sem fio usando módulo sem fio HC12: 7 etapas
Robô Arduino sem fio usando módulo sem fio HC12: Olá pessoal, bem-vindos de volta. Em meu post anterior, eu expliquei o que é um circuito de ponte H, L293D motor driver IC, pegando carona L293D Motor driver IC para dirigir drivers de motor de alta corrente e como você pode projetar e fazer sua própria placa de driver de motor L293D
Ponto de acesso sem fio com alcance de cinquenta metros com adaptador sem fio TP Link WN7200ND USB no trecho Raspbian: 6 etapas
Ponto de acesso sem fio com alcance de cinquenta metros com adaptador sem fio USB TP Link WN7200ND no Raspbian Stretch: Raspberry Pi é ótimo para criar pontos de acesso sem fio seguros, mas não tem um bom alcance, usei um adaptador sem fio USB TP Link WN7200ND para estendê-lo. Quero compartilhar como fazer por que quero usar um pi de framboesa em vez de um roteador?
Faça você mesmo de microfone sem fio para sistema de guitarra sem fio: 4 etapas
Faça você mesmo de microfone sem fio para sistema de guitarra sem fio: Tenho assistido a alguns vídeos e bandas e quase todas usam um sistema sem fio na guitarra. Enlouquecer, mover-se, caminhar e fazer o que quiserem sem o cabo, então sonho em ter um .. Mas .. para mim agora é muito caro então eu vim para isso
Transforme uma campainha sem fio em um interruptor de alarme sem fio ou botão liga / desliga: 4 etapas
Transforme uma campainha sem fio em um interruptor de alarme sem fio ou botão liga / desliga: recentemente construí um sistema de alarme e o instalei em minha casa. Usei interruptores magnéticos nas portas e os conectei através do sótão. As janelas eram outra história e fiação direta não era uma opção. Eu precisava de uma solução sem fio e isso é
Converter roteador sem fio em ponto de acesso 2x do extensor sem fio: 5 etapas
Converter Roteador Wireless em Ponto de Acesso Wireless Extender 2x: Eu tinha uma conexão de internet wireless ruim em minha casa devido a um RSJ (viga de suporte de metal no teto) e queria aumentar o sinal ou adicionar um extensor extra para o resto da casa. Eu tinha visto extensores por cerca de £ 50 em um eletro