Taula de continguts:
- Pas 1: FACTURA DE MATERIALS
- Pas 2: CIRCUIT
- Pas 3: BASE MAGNÈTICA: BRAÇ FLEXIBLE
- Pas 4: SOLAR - CARREGADOR DE BATERIA
- Pas 5: CONNEXEU TOTS Junts
- Pas 6: PROGRAMA DE CONTROL INTERACTIU
- Pas 7: PROGRAMA DE CONTROL SENSE FIL I APLICACIÓ ANDROID
- Pas 8: ALGUNES FOTOS
Vídeo: LÀMPARA SOLAR SENSE FILS AMB BRAÇ FLEXIBLE MAGNÈTIC: 8 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Aquest projecte es va fer a partir d’un llum trencat & nodeMCU. Aquesta làmpada decorativa es pot ajustar en qualsevol direcció i col·locar-la en materials magnètics o posar-la sobre la taula. Es pot controlar en dos modes de la següent manera:
- Mode de control sense fils, com a enllaç de YouTube següent:
- Mode de control interactiu, com a enllaç de YouTube següent:
Pas 1: FACTURA DE MATERIALS
Llista B. O. M:
Per al mode interactiu, faig servir MPU6050 per obtenir dades giroscòpiques de NodeMCU per controlar el color de la làmpada.
Imatge dels materials per a aquest projecte:
Pas 2: CIRCUIT
Es tracta d’un circuit molt senzill, com esmenta anteriorment amb l’esquema de Fritzing, amb un tipus d’ànode comú LED RGB, tres resistències de corrent límit R100 i MPU6050.
El reflector s’utilitza a partir de qualsevol làmpada trencada i es connecta a la base nodeMCU mitjançant 2 perns o s’enganxa amb una cola forta.
Treballs d'instal·lació:
Esquema següent:
Pas 3: BASE MAGNÈTICA: BRAÇ FLEXIBLE
El braç flexible es pot reutilitzar a partir d’aixetes d’aigua flexibles trencades. Alguna cosa així:
Amb alguns consells, intentem connectar-los a la base de l’imant permanent a la part inferior del braç flexible. A la part superior, vam fer un forat per connectar-nos a la nostra placa de circuit i al carregador solar / de bateria. Amb aquesta base, podem posar làmpada a la superfície com a taula, terres …; o es pot fixar en materials magnètics com pilar d'acer, estructura d'acer.
Pas 4: SOLAR - CARREGADOR DE BATERIA
Provenia d’un llum de càrrega malmès. He afegit un interruptor d’encesa / apagat i subministrament de cables d’alimentació a nodeMCU. També té una presa de port USB i un endoll per al carregador de bateria.
Pas 5: CONNEXEU TOTS Junts
Connectant totes les parts: NodeMCU i reflector, cel·les solars i de bateria, braç flexible junt.
ACABAR
MODE DE CÀRREGA
Pas 6: PROGRAMA DE CONTROL INTERACTIU
El color es canviarà quan ajustem el braç flexible o girem el llum.
LÀMPARA INTERACTIVA
#incloure |
// Adreça del dispositiu esclau MPU6050 |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Seleccioneu pins SDA i SCL per a la comunicació I2C - Pin predeterminat a WIRE LIBRARY: SCL - D1 i SDA - D2 a NODEMCU |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 poques adreces de registre de configuració |
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; |
configuració nul·la () { |
pinMode (R, OUTPUT); |
pinMode (G, OUTPUT); |
pinMode (B, OUTPUT); |
//Serial.begin(9600); |
Wire.begin (SDA, SCL); |
MPU6050_Init (); |
} |
bucle buit () { |
uint16_t Ax, Ay, Az, T, Gx, Gy, Gz; |
uint16_t Vermell, verd, blau; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Agafeu un valor absolut |
Ax = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Escala a l'abast |
Vermell = mapa (Ax, 0, 16384, 0, 1023); |
Verd = mapa (Ay, 0, 16384, 0, 1023); |
Blau = mapa (Az, 0, 16384, 0, 1023); |
// Impressió en sèrie per comprovar |
//Serial.print("Red: "); Serial.print (vermell); |
//Serial.print("Green: "); Serial.print (verd); |
//Serial.print("Blue: "); Serial.print (Blau); |
// Escriu analògic a LED |
analogWrite (R, vermell); // R |
analogWrite (G, Verd); // G |
analogWrite (B, Blau); // B |
retard (200); |
} |
void I2C_Write (uint8_t DeviceAddress, uint8_t regAddress, uint8_t data) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (dades); |
Wire.endTransmission (); |
} |
// Llegiu els 14 registres |
void Read_RawValue (uint8_t adreça del dispositiu, 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 ()); |
Giroscopi = (((int16_t) Wire.read () << 8) | Wire.read ()); |
GyroZ = (((int16_t) Wire.read () << 8) | Wire.read ()); |
} |
// Configureu MPU6050 |
void MPU6050_Init () { |
retard (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); // set +/- 250 graus / segon escala completa |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // set +/- 2g a 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 absolut |
float myAbs (float in) { |
return (in)> 0? (in):-(in); |
} |
visualitzeu el PROGRAMA LÀMPARA INTERACTIVA raw allotjat amb ❤ per GitHub
Pas 7: PROGRAMA DE CONTROL SENSE FIL I APLICACIÓ ANDROID
Una altra manera, podem utilitzar l'aplicació Android per controlar LED RGB amb Android a la xarxa WiFi. Enllaça l'aplicació Android: aplicació LED RGB de control NODEMCU
Per al programa Arduino, podeu consultar:
microcontrollerkits.blogspot.com/2016/05/es…
Després de carregar el programa a NodeMCU, la primera execució ens donarà l'adreça IP del NodeMCU en impressió en sèrie. En el meu cas, és: 192.164.1.39 al port 80.
Ara podem controlar la làmpada sense fils amb un ordinador portàtil / tauleta / telèfon mòbil introduint l’adreça superior a Internet Explorer.
O bé mitjançant l’aplicació Android:
Pas 8: ALGUNES FOTOS
Recomanat:
Shelly Sense: alimentació sense fils (WPC Qi Standard): 5 passos (amb imatges)
Shelly Sense: alimentació sense fils (WPC Qi Standard): ATENCIÓ: després d’aquest tutorial perdreu la garantia i també corre el risc de trencar el vostre Shelly Sense. Feu-ho només si sabeu què feu i si sou conscients dels riscos. El Shelly Sense és un producte increïble per percebre tots els
Com fer un braç robòtic sense fils amb bales Airsoft: 9 passos
Com fer un braç robòtic sense fils amb bales Airsoft: Hola amics, en aquest instructiu us mostraré com fer un braç robot sense fils que es pugui balancejar, moure en direcció amunt i avall i disparar bales airsoft amb el control del comandament a distància sense fils
Carregador solar sense fils: 5 passos (amb imatges)
Carregador solar sense fils: tots els estudiants coneixen la lluita de trobar una presa de corrent per carregar el telèfon. Aquesta nostra lluita diària ens va motivar a buscar una solució creativa. Volíem crear un dispositiu de càrrega que no requereixi cap presa de corrent en cap cas i que també tingués
Refredador / suport per a portàtils de cost zero (sense cola, sense perforació, sense femelles i cargols, sense cargols): 3 passos
Refredador / suport per a portàtils de cost zero (sense cola, sense perforació, sense femelles i cargols, sense cargols): ACTUALITZACIÓ: SI US PLAU VOT PER EL MEU INSTRUCTABLE, GRÀCIES ^ _ ^ TAMBÉ POTS AGRADAR-ME ENTRADA A www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ O POTS VOTAR ELS MEUS MILLORS AMICS
Introduïu un timbre sense fils en un interruptor d'alarma sense fils o un interruptor d'encesa / apagat: 4 passos
Introduïu un timbre sense fils en un interruptor d'alarma sense fils o en un interruptor d'encès / apagat: recentment he construït un sistema d'alarma i l'he instal·lat a casa. Vaig fer servir interruptors magnètics a les portes i els vaig connectar a través de les golfes: les finestres eren una altra història i el cablejat dur no era una opció. Necessitava una solució sense fils i això és