Tartalomjegyzék:

NAPVEZETÉKES LÁMPA MAGNETIKUS RUGALMAS KARBAL: 8 lépés (képekkel)
NAPVEZETÉKES LÁMPA MAGNETIKUS RUGALMAS KARBAL: 8 lépés (képekkel)

Videó: NAPVEZETÉKES LÁMPA MAGNETIKUS RUGALMAS KARBAL: 8 lépés (képekkel)

Videó: NAPVEZETÉKES LÁMPA MAGNETIKUS RUGALMAS KARBAL: 8 lépés (képekkel)
Videó: Part 03 - Moby Dick Audiobook by Herman Melville (Chs 026-040) 2024, Július
Anonim
NAPVEZETÉKES LÁMPA MAGNETIKUS RUGALMAS KARral
NAPVEZETÉKES LÁMPA MAGNETIKUS RUGALMAS KARral
NAPOS VEZETÉKLÁMPA MAGNETIKUS RUGALMAS KARral
NAPOS VEZETÉKLÁMPA MAGNETIKUS RUGALMAS KARral

Ez a projekt egy törött lámpából és nodeMCU -ból készült. Ez a dekoratív lámpa bármilyen irányba állítható, és mágneses anyagokra rögzíthető, vagy az asztalra helyezhető. Két módban vezérelhető az alábbiak szerint:

- Vezeték nélküli vezérlési mód, a YouTube alábbi linkjével:

- Interaktív vezérlési mód, a YouTube alábbi linkje:

1. lépés: ANYAGSZÁMLA

B. O. M lista:

Kép
Kép

Interaktív módban az MPU6050 -et használom a giroszkóp adatok lekérésére a NodeMCU -ról a lámpa színének szabályozására.

Anyagkép ehhez a projekthez:

Kép
Kép

2. lépés: ÁRAMKÖR

ÁRAMKÖR
ÁRAMKÖR

Ez egy nagyon egyszerű áramkör, mint a fenti Fritzing sematikus, 1 RGB Led közös anódtípussal, három határáram ellenállással R100 és MPU6050.

A reflektor bármilyen törött lámpából készül, és 2 csavarral csatlakozik a nodeMCU alaphoz, vagy erős ragasztóval ragasztja őket.

Telepítési munka:

Kép
Kép
Kép
Kép

Vázlat az alábbiakban:

Kép
Kép

3. lépés: MAGNETIC BASE - FLEXIBLE ARM

MAGNETIKUS ALAP - RUGALMAS KAR
MAGNETIKUS ALAP - RUGALMAS KAR

A rugalmas kar újra felhasználható a törött hajlékony vízcsapokból. Valami hasonló:

Kép
Kép

Néhány tipp segítségével megpróbáljuk csatlakoztatni őket a rugalmas kar alján lévő állandó mágneses alaphoz. A tetején fúrólyukat készítettünk az áramköri lapunkhoz és a szolár/akkumulátortöltőhöz való csatlakoztatáshoz. Ezzel az alappal lámpát helyezhetünk olyan felületre, mint asztal, padló…; vagy rögzíthető mágneses anyagokra, például acéloszlopra, acélszerkezetre.

4. lépés: SOLAR - AKKUMULÁTOR TÖLTŐ

SOLAR - AKKUMULÁTOR TÖLTŐ
SOLAR - AKKUMULÁTOR TÖLTŐ

Sérült töltőlámpából származik. Hozzáadtam egy be/ki kapcsolót és tápkábeleket a nodeMCU -hoz. Ezenkívül egy USB -csatlakozóaljzatot és egy akkumulátortöltő csatlakozót tartalmaz.

5. lépés: CSATLAKOZZON EGYÜTT

CSATLAKOZZON EGYÜTT
CSATLAKOZZON EGYÜTT

Az összes alkatrész csatlakoztatása: NodeMCU és reflektor, napelem- és elemcellák, rugalmas kar együtt.

BEFEJEZ

Kép
Kép

TÖLTÉSI MÓD

Kép
Kép

6. lépés: INTERAKTÍV VEZÉRLÉSI PROGRAM

A szín megváltozik, ha rugalmas karot állítunk be vagy elforgatjuk a lámpát.

INTERAKTÍV LÁMPA

#befoglalni
// MPU6050 slave eszköz címe
const uint8_t MPU6050SlaveAddress = 0x68;
// SDA és SCL csapok kiválasztása az I2C kommunikációhoz - Alapértelmezett tű a WIRE LIBRARY -ben: SCL - D1 & SDA - D2 a NODEMCU -n
// const uint8_t SCL = D1;
// const uint8_t SDA = D2;
const int R = 14;
const int G = 12;
const int B = 13;
// MPU6050 kevés konfigurációs regisztercím
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, hőmérséklet, GyroX, GyroY, GyroZ;
void setup () {
pinMode (R, OUTPUT);
pinMode (G, OUTPUT);
pinMode (B, OUTPUT);
//Serial.begin(9600);
Wire.begin (SDA, SCL);
MPU6050_Init ();
}
void loop () {
uint16_t Axe, Ay, Az, T, Gx, Gy, Gz;
uint16_t Piros, Zöld, Kék;
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H);
// Vegyük az abszolút értéket
Axe = myAbs (AccelX);
Ay = myAbs (AccelY);
Az = myAbs (AccelZ);
// Scale in range
Piros = térkép (Ax, 0, 16384, 0, 1023);
Zöld = térkép (Ay, 0, 16384, 0, 1023);
Kék = térkép (Az, 0, 16384, 0, 1023);
// Soros nyomtatás ellenőrzésre
// Sorozat.nyom ("Red: "); Sorozatnyomat (piros);
// Sorozat.nyom ("Zöld: "); Sorozatnyomat (zöld);
// Sorozat.nyom ("Kék: "); Sorozatnyomat (kék);
// Analóg írása LED -re
analogWrite (R, piros); R
analogWrite (G, zöld); G
analogWrite (B, kék); B
késleltetés (200);
}
void I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) {
Wire.beginTransmission (deviceAddress);
Wire.write (regAddress);
Wire.write (adatok);
Wire.endTransmission ();
}
// Olvassa el mind a 14 regisztert
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 ());
Hőmérséklet = ((((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 ());
}
// Az MPU6050 konfigurálása
void MPU6050_Init () {
késleltetés (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); // beállítás +/- 250 fok/másodperc teljes skála
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);
}
// Abszolút érték
float myAbs (float in) {
visszatérés (be)> 0? (in):-(in);
}

Tekintse meg a rawINTERAKTÍV LÁMPAPROGRAMot, amelyet a GitHub ❤ üzemeltet

7. lépés: VEZETÉKES VEZÉRLÉSI PROGRAM ÉS ANDROID ALKALMAZÁS

VEZETÉKES VEZÉRLÉSI PROGRAM ÉS ANDROID ALKALMAZÁS
VEZETÉKES VEZÉRLÉSI PROGRAM ÉS ANDROID ALKALMAZÁS

Egy másik módja, hogy Android -alkalmazással vezérelhetjük az RGB LED -et Androiddal a WiFi hálózatban. Link Android -alkalmazás: NODEMCU vezérlő RGB LED APP

Az Arduino programhoz a következőkre hivatkozhat:

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

A program NodeMCU -ba való feltöltése után az első futtatás megadja a NodeMCU IP -címét soros nyomtatáskor. Esetemben ez: 192.164.1.39 a 80 -as porton.

Kép
Kép

Most vezérelhetjük a vezeték nélküli lámpát laptoppal/ táblagéppel/ mobiltelefonnal, ha beírjuk a fenti címet az Internet Explorerbe.

Kép
Kép

Vagy az Android alkalmazás használatával:

Kép
Kép

8. lépés: Néhány kép

Ajánlott: