Sisukord:

MAGNETILISE PAINDLIKU SÄRGIGA PÄIKESE JUHTMATU LAMP: 8 sammu (koos piltidega)
MAGNETILISE PAINDLIKU SÄRGIGA PÄIKESE JUHTMATU LAMP: 8 sammu (koos piltidega)
Anonim
MAGNETILISE PAINDLIKU RÕVAGA PÄIKESE JUHTMATU LAMP
MAGNETILISE PAINDLIKU RÕVAGA PÄIKESE JUHTMATU LAMP
MAGNETILISE PAINDLIKU RÕVAGA PÄIKESE JUHTMATU LAMP
MAGNETILISE PAINDLIKU RÕVAGA PÄIKESE JUHTMATU LAMP

See projekt tehti katkisest lambist ja nodeMCU -st. Seda dekoratiivlampi saab reguleerida mis tahes suunas ja kinnitada magnetmaterjalidele või panna lauale. Seda saab juhtida kahes režiimis järgmiselt:

- Juhtmevaba juhtimisrežiim, nagu YouTube'i link allpool:

- Interaktiivne juhtimisrežiim, nagu YouTube'i link allpool:

1. samm: ARVE MATERJALID

B. O. M nimekiri:

Pilt
Pilt

Interaktiivse režiimi jaoks kasutan MPU6050, et saada NodeMCU -lt güroskoopilisi andmeid lambi värvi juhtimiseks.

Selle projekti materjalide pilt:

Pilt
Pilt

2. etapp: Ahel

AHTE
AHTE

See on väga lihtne vooluahel, nagu ülaltoodud Fritzingi skeemil, 1 RGB Led ühise anooditüübiga, kolme piirvoolutakistiga R100 ja MPU6050.

Helkurit kasutatakse purunenud lampidest ja see on ühendatud 2 poldiga sõlme MCU alusega või kleepige need tugeva liimiga.

Paigaldustööd:

Pilt
Pilt
Pilt
Pilt

Skeem allpool:

Pilt
Pilt

3. samm: MAGNEETILINE ALUS - PAINDLIK ARM

MAGNETILINE ALUS - PAINDLIK ARM
MAGNETILINE ALUS - PAINDLIK ARM

Painduvat kätt saab katkistest painduvatest veekraanidest uuesti kasutada. Midagi sellist:

Pilt
Pilt

Mõne näpunäite abil proovime need ühendada painduva õla allosas oleva püsimagneti alusega. Peale selle tegime puuraugu, et ühendada meie trükkplaat ja päikeseenergia/akulaadija. Selle aluse abil saame lambi panna lauale, põrandale…; või seda saab kinnitada magnetmaterjalidele nagu terasest sammas, teraskonstruktsioon.

4. samm: PÄIKESEPÄEV - AKULAADIJA

PÄIKESEPÄEV - AKULAADIJA
PÄIKESEPÄEV - AKULAADIJA

See tuli kahjustatud laadimislambist. Lisasin nodeMCU -le sisse/välja lüliti ja toitejuhtmete toite. Sellel on ka üks USB -pistikupesa ja üks pistik akulaadija jaoks.

Samm: Ühendage kõik koos

ÜHENDA KÕIK KOOS
ÜHENDA KÕIK KOOS

Kõikide osade ühendamine: NodeMCU ja reflektor, päikesepatareid ja akupatareid, painduv õlg koos.

LÕPETAMA

Pilt
Pilt

LAADIMISREŽIIM

Pilt
Pilt

6. samm: interaktiivne juhtimisprogramm

Värv muutub, kui reguleerime painduvat kätt või pöörame lampi.

INTERAKTIIVNE LAMP

#kaasake
// MPU6050 Alamseadme aadress
const uint8_t MPU6050SlaveAddress = 0x68;
// Valige SDA- ja SCL -tihvtid I2C -side jaoks - PIN -koodi vaikimisi juhtmeraamatukogus: SCL - D1 & SDA - D2 NODEMCU -s
// const uint8_t SCL = D1;
// const uint8_t SDA = D2;
const int R = 14;
const int G = 12;
const int B = 13;
// MPU6050 vähe konfiguratsiooniregistri aadresse
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_ET = 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, temperatuur, GyroX, GyroY, GyroZ;
tühine seadistus () {
pinMode (R, VÄLJUND);
pinMode (G, VÄLJUND);
pinMode (B, VÄLJUND);
//Seriaalne.algus (9600);
Wire.begin (SDA, SCL);
MPU6050_Init ();
}
void loop () {
uint16_t Axe, Ay, Az, T, Gx, Gy, Gz;
uint16_t punane, roheline, sinine;
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H);
// Võtke absoluutväärtus
Kirves = myAbs (AccelX);
Ay = myAbs (AccelY);
Az = myAbs (AccelZ);
// Skaala vahemikus
Punane = kaart (Axe, 0, 16384, 0, 1023);
Roheline = kaart (Ay, 0, 16384, 0, 1023);
Sinine = kaart (Az, 0, 16384, 0, 1023);
// Seeriatrükk kontrollimiseks
//Sarja.print ("Red: "); Serial.print (punane);
//Sarja.print ("Green: "); Serial.print (roheline);
//Sarja.print ("Sinine: "); Serial.print (sinine);
// Kirjutage analoog LED -i
analogWrite (R, punane); R
analogWrite (G, roheline); // G
analogWrite (B, sinine); // B
viivitus (200);
}
tühine I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) {
Wire.beginTransmission (deviceAddress);
Wire.write (regAddress);
Wire.write (andmed);
Wire.endTransmission ();
}
// Loe kõiki 14 registrit
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 ());
Temperatuur = ((((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 ());
}
// MPU6050 seadistamine
tühine MPU6050_Init () {
viivitus (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); // seatud +/- 250 kraadi/sekund täisskaala
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // komplekt +/- 2 g täisskaala
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);
}
// Absoluutne väärtus
float myAbs (hõlju sisse) {
tagasitulek (sisse)> 0? (sisse):-(sisse);
}

vaata tooresINTERAKTIIVSET LAMPPROGRAMMI, mille hostiks on GitHub ❤

7. toiming: traadita juhtimise programm ja androidi rakendus

Traadita juhtimise programm ja androidi rakendus
Traadita juhtimise programm ja androidi rakendus

Teine võimalus on kasutada Androidi rakendust, et juhtida WiFi võrgus Androidiga RGB LED -i. Linkige Androidi rakendus: NODEMCU juhtimis -RGB LED -APP

Arduino programmi jaoks võite viidata:

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

Pärast programmi NodeMCU -sse üleslaadimist annab esimene kord meile seeriaprintimisel NodeMCU IP -aadressi. Minu puhul on see: 192.164.1.39 sadamas 80.

Pilt
Pilt

Nüüd saame juhtmevaba lampi sülearvuti/ tahvelarvuti/ mobiiltelefoniga juhtida, sisestades Internet Explorerisse ülaltoodud aadressi.

Pilt
Pilt

Või kasutades Androidi rakendust:

Pilt
Pilt

8. samm: MÕNED PILDID

Soovitan: