Obsah:

SOLÁRNA BEZDRÔTOVÁ SVETLÁ S MAGNETICKOU FLEXIBILNOU RAMENOU: 8 krokov (s obrázkami)
SOLÁRNA BEZDRÔTOVÁ SVETLÁ S MAGNETICKOU FLEXIBILNOU RAMENOU: 8 krokov (s obrázkami)

Video: SOLÁRNA BEZDRÔTOVÁ SVETLÁ S MAGNETICKOU FLEXIBILNOU RAMENOU: 8 krokov (s obrázkami)

Video: SOLÁRNA BEZDRÔTOVÁ SVETLÁ S MAGNETICKOU FLEXIBILNOU RAMENOU: 8 krokov (s obrázkami)
Video: Solárna pouličná lampa na stĺp SCL01 - 1000 lúmenov s diaľkovým ovládaním 2024, Júl
Anonim
SOLÁRNA BEZDRÔTOVÁ LAMPA S MAGNETICKOU FLEXIBILNOU RAMENOU
SOLÁRNA BEZDRÔTOVÁ LAMPA S MAGNETICKOU FLEXIBILNOU RAMENOU
SOLÁRNA BEZDRÔTOVÁ LAMPA S MAGNETICKOU FLEXIBILNOU RAMENOU
SOLÁRNA BEZDRÔTOVÁ LAMPA S MAGNETICKOU FLEXIBILNOU RAMENOU

Tento projekt bol vyrobený z rozbitej žiarovky a nodeMCU. Túto ozdobnú lampu je možné nastaviť v ľubovoľnom smere a pripevniť na magnetické materiály alebo položiť na stôl. Dá sa ovládať v dvoch režimoch nasledovne:

- Režim bezdrôtového ovládania, ako odkaz na YouTube nižšie:

- Interaktívny režim ovládania, ako odkaz na YouTube nižšie:

Krok 1: ZOZNAM MATERIÁLOV

Zoznam B. O. M:

Obrázok
Obrázok

V interaktívnom režime používam MPU6050 na získavanie údajov gyroskopu z NodeMCU na ovládanie farby žiarovky.

Materiál materiál pre tento projekt:

Obrázok
Obrázok

Krok 2: OBVOD

OKRUH
OKRUH

Je to veľmi jednoduchý obvod, ako je uvedené vyššie v schéme Fritzingu, s 1 RGB LED bežným typom anódy, tromi limitnými prúdovými odpormi R100 a MPU6050.

Reflektor sa používa z akýchkoľvek rozbitých žiaroviek a je pripojený k základni nodeMCU 2 skrutkami alebo ich prilepte silným lepidlom.

Inštalačné práce:

Obrázok
Obrázok
Obrázok
Obrázok

Schéma nižšie:

Obrázok
Obrázok

Krok 3: MAGNETICKÝ ZÁKLAD - FLEXIBILNÁ RAMENA

MAGNETICKÝ ZÁKLAD - FLEXIBILNÁ RAMENO
MAGNETICKÝ ZÁKLAD - FLEXIBILNÁ RAMENO

Flexibilné rameno je možné opätovne použiť z rozbitých flexibilných vodovodných kohútikov. Niečo také:

Obrázok
Obrázok

S niekoľkými tipmi sa ich pokúšame pripojiť k základni s permanentným magnetom v spodnej časti flexibilného ramena. Na vrchole sme vyvŕtali otvor na pripojenie k našej doske s plošnými spojmi a solárnej/nabíjačke batérií. S touto základňou môžeme umiestniť lampu na povrch ako stôl, podlahy …; alebo môže byť pripevnený k magnetickým materiálom, ako je oceľový stĺp, oceľová konštrukcia.

Krok 4: SOLÁRNA - NABÍJAČKA BATÉRIE

SOLÁRNA - NABÍJAČKA BATÉRIE
SOLÁRNA - NABÍJAČKA BATÉRIE

Pochádzalo to z poškodenej nabíjacej žiarovky. Do nodeMCU som pridal vypínač/napájanie a napájacie vodiče. Má tiež jednu zásuvku USB a jednu zástrčku pre nabíjačku batérií.

Krok 5: SPOJTE VŠETKO SPOLU

SPOJTE VŠETKO SPOLU
SPOJTE VŠETKO SPOLU

Spojenie všetkých častí: NodeMCU a reflektor, solárne a batériové články, flexibilné rameno dohromady.

SKONČIŤ

Obrázok
Obrázok

REŽIM NABÍJANIA

Obrázok
Obrázok

Krok 6: INTERAKTÍVNY KONTROLNÝ PROGRAM

Farba sa zmení, keď nastavíme flexibilné rameno alebo otočíme lampu.

INTERAKTÍVNA LAMPA

#zahrnúť
// Adresa podradeného zariadenia MPU6050
const uint8_t MPU6050SlaveAddress = 0x68;
// Vyberte piny SDA a SCL pre komunikáciu I2C - Predvolený pin v KNIŽNICI WIRE: SCL - D1 a SDA - D2 na NODEMCU
// const uint8_t SCL = D1;
// const uint8_t SDA = D2;
konšt. int R = 14;
konšt. int G = 12;
konšt. int B = 13;
// MPU6050 niekoľko adries konfiguračného registra
konšt uint8_t MPU6050_REGISTER_SMPLRT_DIV = 0x19;
const uint8_t MPU6050_REGISTER_USER_CTRL = 0x6A;
konšt uint8_t MPU6050_REGISTER_PWR_MGMT_1 = 0x6B;
konšt uint8_t MPU6050_REGISTER_PWR_MGMT_2 = 0x6C;
const uint8_t MPU6050_REGISTER_CONFIG = 0x1A;
const uint8_t MPU6050_REGISTER_GYRO_CONFIG = 0x1B;
konšt uint8_t MPU6050_REGISTER_ACCEL_CONFIG = 0x1C;
const uint8_t MPU6050_REGISTER_FIFO_EN = 0x23;
const uint8_t MPU6050_REGISTER_INT_ENABLE = 0x38;
konšt uint8_t MPU6050_REGISTER_ACCEL_XOUT_H = 0x3B;
const uint8_t MPU6050_REGISTER_SIGNAL_PATH_RESET = 0x68;
int16_t AccelX, AccelY, AccelZ, Temperature, GyroX, GyroY, GyroZ;
neplatné nastavenie () {
pinMode (R, VÝSTUP);
pinMode (G, VÝSTUP);
pinMode (B, VÝSTUP);
//Serial.begin(9600);
Wire.begin (SDA, SCL);
MPU6050_Init ();
}
prázdna slučka () {
uint16_t Ax, Ay, Az, T, Gx, Gy, Gz;
uint16_t červená, zelená, modrá;
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H);
// Vezmite absolútnu hodnotu
Ax = myAbs (AccelX);
Ay = myAbs (AccelY);
Az = myAbs (AccelZ);
// Mierka v rozsahu
Červená = mapa (Ax, 0, 16384, 0, 1023);
Zelená = mapa (Ay, 0, 16384, 0, 1023);
Modrá = mapa (Az, 0, 16384, 0, 1023);
// Sériová tlač na kontrolu
//Serial.print("Red: "); Serial.print (červený);
//Serial.print("Green: "); Serial.print (zelený);
//Serial.print("Blue: "); Serial.print (modrý);
// Zapisujte analógovo do LED
analogWrite (R, červený); // R.
analogWrite (G, zelený); // G
analogWrite (B, modrý); // B
oneskorenie (200);
}
neplatné I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) {
Wire.beginTransmission (deviceAddress);
Wire.write (regAddress);
Wire.write (údaje);
Wire.endTransmission ();
}
// Prečítajte si všetkých 14 registrov
neplatné 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 ());
Teplota = ((((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 ());
}
// Konfigurácia MPU6050
zrušiť MPU6050_Init () {
oneskorenie (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); // nastavenie +/- 250 stupňov/sekundu v plnom rozsahu
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);
}
// Absolútna hodnota
float myAbs (vplávať) {
návrat (v)> 0? (v):-(v);
}

pozrite si surový INTERAKTÍVNY PROGRAM LAMPY, ktorý hostil ❤ od GitHub

Krok 7: BEZDRÔTOVÝ PROGRAM A APLIKÁCIA ANDROID

BEZDRÁTOVÝ PROGRAM A APLIKÁCIA ANDROID
BEZDRÁTOVÝ PROGRAM A APLIKÁCIA ANDROID

Ďalším spôsobom môžeme použiť aplikáciu pre Android na ovládanie RGB LED s Androidom v sieti WiFi. Link Android App: NODEMCU control RGB LED APP

Pokiaľ ide o program Arduino, môžete sa obrátiť na:

microcontrollerkits.blogspot.com/2016/05/es…

Po nahraní programu na NodeMCU nám prvé spustenie poskytne IP adresu NodeMCU pri sériovej tlači. V mojom prípade je to: 192.164.1.39 na porte 80.

Obrázok
Obrázok

Teraz môžeme bezdrôtovú lampu ovládať pomocou prenosného počítača/ tabletu/ mobilného telefónu zadaním vyššie uvedenej adresy do programu Internet Explorer.

Obrázok
Obrázok

Alebo pomocou aplikácie pre Android:

Obrázok
Obrázok

Krok 8: NIEKTORÉ OBRÁZKY

Odporúča: