Obsah:

SOLÁRNÍ BEZDRÁTOVÁ SVĚTLO S MAGNETICKOU FLEXIBILNÍ RAMENOU: 8 kroků (s obrázky)
SOLÁRNÍ BEZDRÁTOVÁ SVĚTLO S MAGNETICKOU FLEXIBILNÍ RAMENOU: 8 kroků (s obrázky)

Video: SOLÁRNÍ BEZDRÁTOVÁ SVĚTLO S MAGNETICKOU FLEXIBILNÍ RAMENOU: 8 kroků (s obrázky)

Video: SOLÁRNÍ BEZDRÁTOVÁ SVĚTLO S MAGNETICKOU FLEXIBILNÍ RAMENOU: 8 kroků (s obrázky)
Video: LEDSOLAR 42 SOLÁRNÍ VENKOVNÍ SVĚTLO SVÍTIDLO DO ZEMĚ - https://www.bezdoteku.cz/venkovni-osvetleni/ 2024, Listopad
Anonim
SOLÁRNÍ BEZDRÁTOVÁ SVĚTLO S MAGNETICKOU FLEXIBILNÍ RAMENOU
SOLÁRNÍ BEZDRÁTOVÁ SVĚTLO S MAGNETICKOU FLEXIBILNÍ RAMENOU
SOLÁRNÍ BEZDRÁTOVÁ SVĚTLO S MAGNETICKOU FLEXIBILNÍ RAMENOU
SOLÁRNÍ BEZDRÁTOVÁ SVĚTLO S MAGNETICKOU FLEXIBILNÍ RAMENOU

Tento projekt byl vytvořen z rozbité lampy a nodeMCU. Tuto dekorativní lampu lze nastavit v libovolném směru a připevnit na magnetické materiály nebo položit na stůl. Lze jej ovládat ve dvou režimech následovně:

- Režim bezdrátového ovládání, jako odkaz na YouTube níže:

- Interaktivní režim ovládání, jako odkaz na YouTube níže:

Krok 1: BILL OF MATERIALS

Seznam B. O. M:

obraz
obraz

Pro interaktivní režim používám MPU6050 k získání gyro dat z NodeMCU pro ovládání barvy lampy.

Materiálový obrázek pro tento projekt:

obraz
obraz

Krok 2: OBVOD

OBVOD
OBVOD

Jedná se o velmi jednoduchý obvod, jak je uvedeno výše ve schématu Fritzingu, s 1 RGB LED běžným typem anody, třemi limitními proudovými odpory R100 a MPU6050.

Reflektor se používá z jakýchkoli rozbitých lamp a je připojen k základně nodeMCU 2 šrouby nebo je přilepte silným lepidlem.

Instalační práce:

obraz
obraz
obraz
obraz

Schéma níže:

obraz
obraz

Krok 3: MAGNETICKÝ ZÁKLAD - FLEXIBILNÍ RAMENO

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

Flexibilní rameno lze znovu použít z rozbitých flexibilních vodovodních kohoutků. Něco takového:

obraz
obraz

S několika tipy se je snažíme připojit k základně permanentních magnetů ve spodní části pružného ramene. Nahoře jsme vytvořili vyvrtaný otvor pro připojení k naší desce s obvody a solární/bateriové nabíječce. S touto základnou můžeme umístit lampu na povrch, jako je stůl, podlahy …; nebo může být připevněn k magnetickým materiálům, jako je ocelový sloup, ocelová konstrukce.

Krok 4: SOLÁRNÍ - NABÍJEČ BATERIÍ

SOLÁRNÍ - NABÍJEČ BATERIÍ
SOLÁRNÍ - NABÍJEČ BATERIÍ

Přišlo to z poškozené nabíjecí lampy. Do nodeMCU jsem přidal vypínač/napájení a napájecí vodiče. Má také jednu zásuvku USB a jednu zástrčku pro nabíječku baterií.

Krok 5: SPOJTE VŠECHNY SPOLEČNĚ

SPOJTE VŠECHNY SPOLEČNĚ
SPOJTE VŠECHNY SPOLEČNĚ

Spojení všech částí: NodeMCU a reflektor, solární a bateriové články, pružné rameno dohromady.

DOKONČIT

obraz
obraz

REŽIM NABÍJENÍ

obraz
obraz

Krok 6: INTERAKTIVNÍ ŘÍDÍCÍ PROGRAM

Barva se změní, když upravíme ohebné rameno nebo otočíme lampu.

INTERAKTIVNÍ LAMPA

#zahrnout
// Adresa podřízeného zařízení MPU6050
konst uint8_t MPU6050SlaveAddress = 0x68;
// Vyberte piny SDA a SCL pro komunikaci I2C - Výchozí pin v knihovně WIRE LIBRARY: SCL - D1 a SDA - D2 na NODEMCU
// konst uint8_t SCL = D1;
// konst uint8_t SDA = D2;
konst. int R = 14;
const int G = 12;
const int B = 13;
// MPU6050 několik adres konfiguračního registru
konst uint8_t MPU6050_REGISTER_SMPLRT_DIV = 0x19;
konst uint8_t MPU6050_REGISTER_USER_CTRL = 0x6A;
konst uint8_t MPU6050_REGISTER_PWR_MGMT_1 = 0x6B;
konst uint8_t MPU6050_REGISTER_PWR_MGMT_2 = 0x6C;
konst uint8_t MPU6050_REGISTER_CONFIG = 0x1A;
konst uint8_t MPU6050_REGISTER_GYRO_CONFIG = 0x1B;
konst uint8_t MPU6050_REGISTER_ACCEL_CONFIG = 0x1C;
konst uint8_t MPU6050_REGISTER_FIFO_EN = 0x23;
konst uint8_t MPU6050_REGISTER_INT_ENABLE = 0x38;
konst uint8_t MPU6050_REGISTER_ACCEL_XOUT_H = 0x3B;
konst uint8_t MPU6050_REGISTER_SIGNAL_PATH_RESET = 0x68;
int16_t AccelX, AccelY, AccelZ, Temperature, GyroX, GyroY, GyroZ;
neplatné nastavení () {
pinMode (R, VÝSTUP);
pinMode (G, VÝSTUP);
pinMode (B, VÝSTUP);
//Serial.begin(9600);
Wire.begin (SDA, SCL);
MPU6050_Init ();
}
prázdná smyčka () {
uint16_t Ax, Ay, Az, T, Gx, Gy, Gz;
uint16_t Červená, Zelená, Modrá;
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H);
// Vezměte absolutní hodnotu
Ax = myAbs (AccelX);
Ay = myAbs (AccelY);
Az = myAbs (AccelZ);
// Měřítko 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ý tisk ke kontrole
//Serial.print("Red: "); Serial.print (červený);
//Serial.print("Green: "); Serial.print (zelený);
//Serial.print("Blue: "); Serial.print (modrý);
// Zápis analogově na LED
analogWrite (R, červený); // R.
analogWrite (G, zelený); // G
analogWrite (B, modrý); // B
zpoždění (200);
}
neplatné I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) {
Wire.beginTransmission (deviceAddress);
Wire.write (regAddress);
Wire.write (data);
Wire.endTransmission ();
}
// Přečíst všech 14 registrů
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 ());
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 ());
}
// Konfigurace MPU6050
neplatné MPU6050_Init () {
zpoždění (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); // nastavení +/- 250 stupňů/sekundu plné stupnice
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);
}
// Absolutní hodnota
float myAbs (float in) {
return (in)> 0? (in):-(in);
}

zobrazit rawINTERACTIVE LAMP PROGRAM hostovaný s ❤ od GitHub

Krok 7: BEZDRÁTOVÝ PROGRAM A APLIKACE ANDROID

BEZDRÁTOVÝ PROGRAM A APLIKACE ANDROID
BEZDRÁTOVÝ PROGRAM A APLIKACE ANDROID

Jiným způsobem můžeme pomocí aplikace pro Android ovládat RGB LED s Androidem v WiFi síti. Link Android App: NODEMCU control RGB LED APP

Pro program Arduino můžete odkazovat na:

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

Po nahrání programu na NodeMCU nám první spuštění poskytne IP adresu NodeMCU při sériovém tisku. V mém případě je to: 192.164.1.39 na portu 80.

obraz
obraz

Nyní můžeme bezdrátovou lampu ovládat pomocí notebooku/ tabletu/ mobilního telefonu zadáním výše uvedené adresy do aplikace Internet Explorer.

obraz
obraz

Nebo pomocí aplikace pro Android:

obraz
obraz

Krok 8: NĚKTERÉ OBRÁZKY

Doporučuje: