Cuprins:
- Pasul 1: FACTURA DE MATERIALE
- Pasul 2: CIRCUIT
- Pasul 3: BAZĂ MAGNETICĂ - BRAT FLEXIBIL
- Pasul 4: SOLAR - ÎNCĂRCĂTOR DE BATERIE
- Pasul 5: CONECTAȚI TOȚI ÎMPREUNĂ
- Pasul 6: PROGRAM DE CONTROL INTERACTIV
- Pasul 7: PROGRAM DE CONTROL WIRELESS ȘI APLICAȚIE ANDROID
- Pasul 8: UNELE IMAGINI
Video: LAMPĂ SOLARĂ FĂRĂ FĂRĂ CU BRAȚ MAGNETIC FLEXIBIL: 8 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Acest proiect a fost realizat dintr-o lampă spartă & nodeMCU. Această lampă decorativă poate fi reglată în orice direcție și atașată pe materiale magnetice sau pusă pe masă. Poate fi controlat în două moduri după cum urmează:
- Mod de control wireless, ca link YouTube mai jos:
- Mod de control interactiv, ca link YouTube mai jos:
Pasul 1: FACTURA DE MATERIALE
Lista B. O. M:
Pentru modul interactiv, folosesc MPU6050 pentru a obține date giroscopice de la NodeMCU pentru a controla culoarea lămpii.
Imaginea materialelor pentru acest proiect:
Pasul 2: CIRCUIT
Acesta este un circuit foarte simplu, după cum arată schema Fritzing de mai sus, cu un tip de anod comun cu LED RGB, trei rezistențe de curent limită R100 și MPU6050.
Reflectorul este utilizat de la orice lămpi sparte și conectat la baza nodului MCU prin 2 șuruburi sau lipiți-le cu adeziv puternic.
Lucrări de instalare:
Schema de mai jos:
Pasul 3: BAZĂ MAGNETICĂ - BRAT FLEXIBIL
Brațul flexibil poate fi reutilizat din robinete de apă flexibile rupte. Ceva de genul:
Cu câteva sfaturi, încercăm să le conectăm la baza magnetului permanent din partea inferioară a brațului flexibil. Deasupra, am făcut o gaură pentru conectarea la placa noastră de circuit și la încărcătorul solar / baterie. Cu această bază, putem pune lampa pe suprafață, cum ar fi masa, podelele …; sau poate fi atașat pe materiale magnetice precum stâlp de oțel, structură din oțel.
Pasul 4: SOLAR - ÎNCĂRCĂTOR DE BATERIE
A venit de la o lampă de încărcare deteriorată. Am adăugat un comutator de pornire / oprire și alimentare cu fire de alimentare la nodeMCU. De asemenea, are o priză de port USB și o priză pentru încărcătorul de baterie.
Pasul 5: CONECTAȚI TOȚI ÎMPREUNĂ
Conectarea tuturor pieselor: NodeMCU și reflector, celule solare și baterii, braț flexibil împreună.
FINALIZAREA
MOD DE ÎNCĂRCARE
Pasul 6: PROGRAM DE CONTROL INTERACTIV
Culoarea se va schimba atunci când reglăm brațul flexibil sau rotim lampa.
LAMPĂ INTERACTIVĂ
#include |
// Adresa dispozitivului sclav MPU6050 |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Selectați pinii SDA și SCL pentru comunicația I2C - Pin implicit în BIBLIOTECĂ WIRE: SCL - D1 și SDA - D2 pe NODEMCU |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 câteva adrese de registru de configurare |
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; |
configurare nulă () { |
pinMode (R, OUTPUT); |
pinMode (G, OUTPUT); |
pinMode (B, OUTPUT); |
//Serial.begin(9600); |
Wire.begin (SDA, SCL); |
MPU6050_Init (); |
} |
bucla nulă () { |
uint16_t Ax, Ay, Az, T, Gx, Gy, Gz; |
uint16_t Roșu, verde, albastru; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Ia valoare absolută |
Ax = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Scară în interval |
Roșu = hartă (Ax, 0, 16384, 0, 1023); |
Verde = hartă (Ay, 0, 16384, 0, 1023); |
Albastru = hartă (Az, 0, 16384, 0, 1023); |
// Tipărire în serie pentru verificare |
//Serial.print("Red: "); Serial.print (roșu); |
//Serial.print("Green: "); Serial.print (verde); |
//Serial.print("Blue: "); Serial.print (Albastru); |
// Scrie analog pe LED |
analogWrite (R, Roșu); // R |
analogWrite (G, Verde); // G |
analogWrite (B, Albastru); // B |
întârziere (200); |
} |
void I2C_Write (uint8_t DeviceAddress, uint8_t regAddress, uint8_t data) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (date); |
Wire.endTransmission (); |
} |
// Citiți toate cele 14 registre |
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 ()); |
} |
// Configurați MPU6050 |
void MPU6050_Init () { |
întârziere (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 grade / second full scale |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // set +/- 2g full scale |
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); |
} |
// Valoare absolută |
float myAbs (float in) { |
return (in)> 0? (in):-(in); |
} |
vizualizați PROGRAMUL LAMPĂ INTERACTIVĂ găzduit cu ❤ de GitHub
Pasul 7: PROGRAM DE CONTROL WIRELESS ȘI APLICAȚIE ANDROID
O altă modalitate, putem folosi aplicația Android pentru a controla LED-ul RGB cu Android în rețeaua WiFi. Link Android App: NODEMCU control RGB LED APP
Pentru programul Arduino, puteți face referire la:
microcontrollerkits.blogspot.com/2016/05/es…
După încărcarea programului pe NodeMCU, prima rundă ne va oferi adresa IP a NodeMCU pe tipărire în serie. În cazul meu, este: 192.164.1.39 la portul 80.
Acum, putem controla lampa wireless cu laptop / tabletă / telefon mobil introducând adresa de mai sus în Internet Explorer.
Sau folosind aplicația Android:
Pasul 8: UNELE IMAGINI
Recomandat:
Contor de umiditate solară solară cu ESP8266: 10 pași (cu imagini)
Contor de umiditate solară solară cu ESP8266: În acest instructabil, realizăm un monitor de umiditate a solului alimentat cu energie solară. Folosește un microcontroler wifi ESP8266 care rulează cod de consum redus și totul este rezistent la apă, astfel încât să poată fi lăsat afară. Puteți urma exact această rețetă sau puteți lua din ea
Lumina solară fără baterie sau lumina solară De ce nu ?: 3 pași
Lumina solară fără baterie sau lumina solară … De ce nu?: Bine ați venit. Îmi pare rău pentru engleza mea? Solar? De ce? Am o cameră ușor întunecată în timpul zilei și trebuie să aprind luminile când sunt folosită. Instalați lumina soarelui pentru zi și noapte (1 cameră): (în Chile) -Panou solar 20w: 42 USD-Baterie: 15 USD-Solar incarcare contr
CUM SĂ ASAMBLAȚI UN BRAT IMPRESIONANT DE ROBOT DIN LEMN (PARTEA 3: BRAT ROBOT) - PE BAZĂ PE MICRO: BITN: 8 pași
CUM SĂ ASAMBLAȚI UN BRAT IMPRESIONANT DE ROBOT DIN LEMN (PARTEA 3: BRAȚ ROBOT) - PE BAZĂ PE MICRO: BITN: Următorul proces de instalare se bazează pe finalizarea modului de evitare a obstacolelor. Procesul de instalare din secțiunea anterioară este același cu procesul de instalare în modul de urmărire a liniei. Atunci să aruncăm o privire la forma finală a lui A
Braț magnetic pentru cameră: 5 pași (cu imagini)
Braț pentru cameră magnetică: am realizat această montură pentru cameră magnetică pentru a mă ajuta să realizez videoclipurile mele de pe Youtube. Acesta este un proiect ușor de finalizat. Toate piesele sunt ușor de găsit de la Amazon și magazinul dvs. local de hardware
Răcitor / suport pentru laptop cu cost zero (fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): 3 pași
Zero Cost Laptop Cooler / Stand (Fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): ACTUALIZARE: VĂ RUGĂM VOTĂ PENTRU MEA MEA MEA INTRAREA PE www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ SAU POATE VOTA PENTRU CEL MAI BUN PRIETEN AL MEU