
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48


Այս նախագիծը պատրաստված էր կոտրված լամպից և nodeMCU- ից: Այս դեկորատիվ լամպը կարող է ճշգրտվել ցանկացած ուղղությամբ և կցվել մագնիսական նյութերին կամ դրվել սեղանին: Այն կարող է վերահսկվել երկու ռեժիմով ՝ հետևյալ կերպ.
- Անլար կառավարման ռեժիմ, ինչպես ստորև բերված YouTube հղումը.
- Ինտերակտիվ կառավարման ռեժիմ, ինչպես YouTube- ի ստորև բերված հղումը.
Քայլ 1. ՆՅՈԹԵՐԻ ՀԱՇՎԵՏՎՈԹՅՈՆ
B. O. M ցուցակ

Ինտերակտիվ ռեժիմի համար ես օգտագործում եմ MPU6050- ը `NodeMCU- ից գիրոյի տվյալներ ստանալու համար` լամպի գույնը վերահսկելու համար:
Այս նախագծի նյութերի պատկերը

Քայլ 2. ՇՐIRԱՆ

Սա շատ պարզ միացում է, ինչպես վերը նշված է Fritzing- ում, 1 RGB Led ընդհանուր անոդի տեսքով, երեք սահմանափակ ընթացիկ դիմադրող R100 և MPU6050:
Ռեֆլեկտորը օգտագործվում է ցանկացած կոտրված լամպերից և միացված է nodeMCU բազային 2 պտուտակով կամ կպցրեք դրանք ամուր սոսինձով:
Տեղադրման աշխատանքներ


Ստորև ներկայացված սխեմատիկ պատկերը

Քայլ 3. ՄԱԳՆԵՏԻԿԱԿԱՆ ՀԻՄՆԱ - LEԱՌԻԿ ԲԱՆԿ

Brokenկուն ձեռքը կարող է կրկին օգտագործվել կոտրված ճկուն ջրի ծորակներից: Նման մի բան:

Որոշ խորհուրդներով մենք փորձում ենք դրանք միացնել ճկուն թևի ներքևի մասում գտնվող մշտական մագնիսի հիմքին: Վերևում մենք պատրաստեցինք անցք `մեր տպատախտակին և արևային/մարտկոցի լիցքավորիչին միանալու համար: Այս հիմքով մենք կարող ենք լամպ դնել մակերևույթի վրա, ինչպես սեղանը, հատակը …: կամ այն կարող է կցվել մագնիսական նյութերի վրա, ինչպիսիք են պողպատե սյունը, պողպատե կառուցվածքը:
Քայլ 4: Արևային - մարտկոցի լիցքավորիչ

Այն եկել է վնասված լիցքավորման լամպից: NodeMCU- ին ավելացրեցի անջատիչ/անջատիչ և հոսանքի լարերի մատակարարում: Այն ունի նաև մեկ USB պորտի ելք և մեկ վարդակ մարտկոցի լիցքավորիչի համար:
Քայլ 5. ԲՈԼՈՐԻՆ ՄԻԱԵԼ

Բոլոր մասերի միացում. NodeMCU և ռեֆլեկտոր, արևային և մարտկոցային բջիջներ, ճկուն բազուկ միասին:
ԱՎԱՐՏՎԵԼ

Լիցքավորման ռեժիմ

Քայլ 6. ՄԻTERԱACԳԱՅԻՆ ՎԵՐԱՀՍԿՈ ՐԱԳԻՐ
Գույնը կփոխվի, երբ մենք կարգավորենք ճկուն թևը կամ պտտենք լամպը:
INTERACTIVE LAMP
#ներառում |
// MPU6050 Ստրուկի սարքի հասցե |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Ընտրեք SDA և SCL կապեր I2C հաղորդակցության համար - Պին լռելյայն WIRE GIBRARY- ում. SCL - D1 & SDA - D2 NODEMCU- ում |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 կոնֆիգուրացիայի գրանցման մի քանի հասցե |
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, ջերմաստիճան, GyroX, GyroY, GyroZ; |
void setup () { |
pinMode (R, OUTPUT); |
pinMode (G, OUTPUT); |
pinMode (B, OUTPUT); |
//Serial.begin(9600); |
Wire.begin (SDA, SCL); |
MPU6050_Init (); |
} |
դատարկ շրջան () { |
uint16_t Ax, Ay, Az, T, Gx, Gy, Gz; |
uint16_t Կարմիր, Կանաչ, Կապույտ; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Վերցրեք բացարձակ արժեք |
Ax = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Սանդղակ միջակայքում |
Կարմիր = քարտեզ (Կացին, 0, 16384, 0, 1023); |
Կանաչ = քարտեզ (Այ, 0, 16384, 0, 1023); |
Կապույտ = քարտեզ (Az, 0, 16384, 0, 1023); |
// Սերիական տպում `ստուգելու համար |
//Serial.print("Կարմիր ՝ "); Serial.print (Կարմիր); |
//Serial.print("Green: "); Serial.print (Կանաչ); |
//Serial.print(" Կապույտ. "); Serial.print (Կապույտ); |
// Անալոգային գրել LED- ին |
analogWrite (R, Red); // Ռ |
analogWrite (G, Կանաչ); // Գ |
analogWrite (B, Blue); // Բ |
ուշացում (200); |
} |
անվավեր I2C_Write (uint8_t սարքի հասցե, uint8_t regAddress, uint8_t տվյալներ) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (տվյալներ); |
Wire.endTransmission (); |
} |
// Կարդացեք բոլոր 14 գրանցամատյանները |
դատարկ Read_RawValue (uint8_t սարքի հասցե, uint8_t regAddress) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.endTransmission (); |
Մետաղալար. Խնդրում ենք (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 ()); |
Peratերմաստիճան = ((((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- ը |
անվավեր MPU6050_Init () { |
ուշացում (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); // սահմանել +/- 250 աստիճան/վայրկյան լրիվ մասշտաբով |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // սահմանել +/- 2 գ ամբողջական մասշտաբով |
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); |
} |
// Բացարձակ արժեք |
float myAbs (float in) { |
վերադարձ (in)> 0? (in):-(in); |
} |
դիտել raw INTERACTIVE LAMP GRՐԱԳԻՐ, որը տեղակայված է it -ի կողմից GitHub- ի կողմից
Քայլ 7: ԱՆIՐԱՅԻՆ ՎԵՐԱՀՍԿՈՈԹՅԱՆ ANDՐԱԳԻՐ ԵՎ ANDROID APՐՈՅ

Մեկ այլ եղանակ ՝ մենք կարող ենք օգտագործել Android հավելվածը ՝ RGB LED- ը Android- ով WiFi ցանցում վերահսկելու համար: Հղում Android հավելվածին. NODEMCU հսկողության RGB LED APP
Arduino ծրագրի համար կարող եք վերաբերել ՝
microcontrollerkits.blogspot.com/2016/05/es…
NodeMCU- ում ծրագիրը վերբեռնելուց հետո առաջին գործարկումը մեզ կտա NodeMCU- ի IP հասցեն սերիական տպման վրա: Իմ դեպքում, դա ՝ 192.164.1.39, 80 նավահանգստում:

Այժմ մենք կարող ենք վերահսկել անլար լամպը նոթբուքով/ պլանշետով/ բջջային հեռախոսով `վերը նշված հասցեն մուտքագրելով Internet Explorer:

Կամ օգտագործելով Android ծրագիրը.

Քայլ 8: ՈՐՈՇ ՆԿԱՐՆԵՐ
Խորհուրդ ենք տալիս:
Ինչպես. Raspberry PI 4 Headless (VNC) տեղադրելը Rpi- պատկերիչով և նկարներով. 7 քայլ (նկարներով)

Ինչպես. Raspberry PI 4 Headless (VNC) տեղադրելը Rpi-imager- ով և նկարներով. Ես պլանավորում եմ օգտագործել այս Rapsberry PI- ն իմ բլոգում զվարճալի նախագծերի փունջում: Ազատորեն ստուգեք այն: Ես ուզում էի նորից օգտագործել իմ Raspberry PI- ն, բայց իմ նոր վայրում Ստեղնաշար կամ մկնիկ չկար: Որոշ ժամանակ անց ես ստեղծեցի ազնվամորի
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ

Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)
Ինչպես ապամոնտաժել համակարգիչը հեշտ քայլերով և նկարներով. 13 քայլ (նկարներով)

Ինչպես ապամոնտաժել համակարգիչը հեշտ քայլերով և նկարներով. Սա հրահանգ է, թե ինչպես ապամոնտաժել համակարգիչը: Հիմնական բաղադրիչների մեծ մասը մոդուլային են և հեշտությամբ հանվում են: Այնուամենայնիվ, կարևոր է, որ դուք կազմակերպված լինեք դրա վերաբերյալ: Սա կօգնի ձեզ զերծ պահել մասերի կորստից, ինչպես նաև նորից հավաքելիս
Ciclop 3D Scanner My Way Քայլ առ քայլ ՝ 16 քայլ (նկարներով)

Ciclop 3D Scanner My Way Քայլ առ քայլ. Ողջույն, ես գիտակցելու եմ հանրահայտ Ciclop 3D սկաները: Բոլոր այն քայլերը, որոնք լավ բացատրված են սկզբնական նախագծում, ներկա չեն: Ես որոշ շտկումներ կատարեցի ՝ գործընթացը պարզեցնելու համար, նախ Ես տպում եմ հիմքը, իսկ հետո վերականգնում եմ PCB- ն, բայց շարունակում եմ
IOT123 - ԱՐԵՎԱԿԱՅԻՆ ԹԵՈՄ - ԹԻԼՏ/ՊԱՆ, ՊԱՆԵԼԻ ՇՐԱՆ, LDR MOUNTS RIG: 9 Քայլ (նկարներով)

IOT123 - SOLAR TRACKER - TILT/PAN, PANEL FRAME, LDR MOUNTS RIG. DIY նախագծերի մեծ մասը երկակի առանցքի արևային հետագծիչների համար " այնտեղ " հիմնված են 9G Micro Servo- ի վրա, որոնք իրոք թերագնահատված են մի քանի արևային բջիջների, միկրոկառավարիչի, մարտկոցի և պատյանների շուրջը մղելու համար: Կարող եք ձևավորել շուրջ