
Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:13


Ang proyektong ito ay ginawa mula sa isang sirang lampara at nodeMCU. Ang pandekorasyon na lampara na ito ay maaaring iakma sa anumang mga direksyon at nakakabit sa mga magnetikong materyales o ilagay sa mesa. Maaari itong makontrol sa dalawang mga mode tulad ng sumusunod:
- Wireless control mode, tulad ng link sa YouTube sa ibaba:
- Interactive control mode, tulad ng link sa YouTube sa ibaba:
Hakbang 1: BILL OF MATERIALS
Listahan ng B. O. M:

Para sa interactive mode, gumagamit ako ng MPU6050 upang makakuha ng data ng gyro mula sa NodeMCU upang makontrol ang kulay ng ilawan.
Larawan ng materyal para sa proyektong ito:

Hakbang 2: CIRCUIT

Ito ay napaka-simpleng circuit, tulad ng Fritzing eskematiko sa itaas, na may 1 RGB Led karaniwang uri ng anode, tatlong limitasyon kasalukuyang resistors R100 & MPU6050.
Ang reflector ay ginagamit mula sa anumang sirang lampara at konektado sa base ng nodeMCU ng 2 bolts o idikit ang mga ito gamit ang malakas na pandikit.
Trabaho sa pag-install:


Skema sa ibaba:

Hakbang 3: MAGNETIC BASE - FLEXIBLE ARM

Ang nababaluktot na braso ay maaaring magamit muli mula sa sirang nababaluktot na mga gripo ng tubig. Isang bagay na tulad nito:

Sa ilang mga tip, sinubukan naming ikonekta ang mga ito sa permanenteng base ng magnet sa ilalim ng kakayahang umangkop na braso. Sa tuktok, gumawa kami ng isang butas ng drill para sa pagkonekta sa aming circuit board at solar / baterya na charger. Sa batayang ito, maaari naming ilagay ang lampara sa ibabaw tulad ng mesa, sahig…. o maaari itong ikabit sa mga magnetikong materyales tulad ng steel pou, bakal na istraktura.
Hakbang 4: SOLAR - BATTERY CHARGER

Galing ito sa isang nasira na lampara ng singilin. Nagdagdag ako ng isang on / off switch at power wires supply sa nodeMCU. Mayroon din itong isang USB port outlet at isang plug para sa charger ng baterya.
Hakbang 5: Ikonekta ang LAHAT NG MAGKASAMA

Kumokonekta sa lahat ng mga bahagi: NodeMCU at reflector, solar at baterya na mga cell, nababaluktot na braso nang magkasama.
TAPOS

CHARGING MODE

Hakbang 6: PROGRAMA NG INTERACTIVE CONTROL
Ang kulay ay mababago kapag inaayos namin ang kakayahang umangkop braso o paikutin ang lampara.
INTERACTIVE LAMP
# isama |
// MPU6050 Slave Device Address |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Piliin ang mga pin ng SDA at SCL para sa komunikasyon ng I2C - Pin default sa WIRE LIBRARY: SCL - D1 & SDA - D2 sa NODEMCU |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 ilang mga rehistro sa rehistro ng pagsasaayos |
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, Temperatura, GyroX, GyroY, GyroZ; |
walang bisa ang pag-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 Pula, berde, Asul; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Kumuha ng ganap na halaga |
Ax = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Scale in range |
Pula = mapa (Ax, 0, 16384, 0, 1023); |
Green = mapa (Ay, 0, 16384, 0, 1023); |
Blue = mapa (Az, 0, 16384, 0, 1023); |
// Serial print upang suriin |
//Serial.print("Red: "); Serial.print (Pula); |
//Serial.print("Green: "); Serial.print (Green); |
//Serial.print("Blue: "); Serial.print (Blue); |
// Sumulat ng analog sa LED |
analogWrite (R, Red); // R |
analogWrite (G, Green); // G |
analogWrite (B, Blue); // B |
pagkaantala (200); |
} |
walang bisa ang I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) { |
Wire.beginTransmission (aparatoAddress); |
Wire.write (regAddress); |
Wire.write (data); |
Wire.endTransmission (); |
} |
// Basahin ang lahat ng 14 na rehistro |
walang bisa ang Read_RawValue (uint8_t deviceAddress, uint8_t regAddress) { |
Wire.beginTransmission (aparatoAddress); |
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 ()); |
Temperatura = ((((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 ()); |
} |
// I-configure ang MPU6050 |
walang bisa MPU6050_Init () { |
pagkaantala (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); // set +/- 250 degree / pangalawang buong sukat |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // set +/- 2g buong sukat |
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); |
} |
// Ganap na Halaga |
float myAbs (float in) { |
bumalik (sa)> 0? (sa):-(in); |
} |
tingnan ang RawINTERACTIVE LAMP PROGRAM na naka-host sa ❤ ng GitHub
Hakbang 7: WIRELESS CONTROL PROGRAM AT ANDROID APPLICATION

Ang isa pang paraan, maaari naming gamitin ang Android App upang makontrol ang RGB LED sa Android sa WiFi Network. I-link ang Android App: kontrol ng NODEMCU RGB LED APP
Para sa programa ng Arduino, maaari kang mag-refer sa:
microcontrollerkits.blogspot.com/2016/05/es…
Matapos ang pag-upload ng programa sa NodeMCU, ang unang pagtakbo ay magbibigay sa amin ng IP address ng NodeMCU sa serial print. Sa aking kaso, ito ay: 192.164.1.39 sa port 80.

Ngayon, makokontrol natin ang wireless lamp gamit ang laptop / tablet / mobile phone sa pamamagitan ng paglalagay ng address sa itaas sa internet explorer.

O gumagamit ng Android app:

Hakbang 8: ILANG LARAWAN
Inirerekumendang:
FLEXBALL - isang Daang Pixel Flexible PCB Ball Na May WiFi: 6 na Hakbang (na may Mga Larawan)

FLEXBALL - isang Daang Pixel Flexible PCB Ball Sa WiFi: Kamusta mga gumagawa, gumagawa ito ng moekoe! Ang Flexball ay batay sa isang nababaluktot na PCB na nilagyan ng 100 WS2812 2020 na direksyong LED. Kinokontrol ito ng isang ESP8285-01f - ang pinakamaliit na module na batay sa ESP ng Espressif. Bilang karagdagan mayroon itong ADXL345 acceleromete
Web Lamp Puzzle LED Lamp Na May ESP32: 5 Mga Hakbang (na may Mga Larawan)

WebApp Puzzle LED Lamp Sa ESP32: Naglalaro ako ng mga LED strip sa loob ng maraming taon, at kamakailan lamang lumipat sa lugar ng isang kaibigan kung saan hindi ako nakagawa ng malalaking pagbabago tulad ng pag-mount ng strip sa mga dingding, kaya pinagsama ko ang lampara na ito isang solong kawad na lalabas para sa lakas at maaaring maging plac
Low-tech Solar Lamp Na May Gumamit na Baterya: 9 Mga Hakbang (na may Mga Larawan)

Low-tech Solar Lamp Na May Gamit Nang Baterya: Pinapayagan ka ng tutorial na ito na gumawa ng isang solar lamp na nilagyan ng isang USB charger. Gumagamit ito ng mga lithium cell na muling ginagamit mula sa isang luma o nasirang laptop. Ang sistemang ito, na may isang araw ng sikat ng araw, ay maaaring ganap na singilin ang isang smartphone at magkaroon ng 4 na oras na ilaw. Ang teknolohiyang ito
Malaking Flexible Transparent LED Matrix Sa ilalim ng $ 150. Madaling Gawin .: 8 Mga Hakbang (na may Mga Larawan)

Malaking Flexible Transparent LED Matrix Sa ilalim ng $ 150. Madaling Gumawa .: Gusto kong magsimula sa pagsasabi na hindi ako isang propesyonal, wala akong anumang degree sa electronics. Nasiyahan lamang ako sa pagtatrabaho sa aking mga kamay at pag-alam sa mga bagay. Sinasabi ko iyon upang maging pampatibay-loob sa lahat ninyong mga hindi nagtuturo tulad ko. May kakayahan kang
Magnetic Camera Arm: 5 Hakbang (na may Mga Larawan)

Magnetic Camera Arm: Ginawa ko ang mounting magnetic camera na ito upang tulungan ako sa paggawa ng aking mga video sa Youtube. Ito ay isang madaling proyekto upang makumpleto. Ang lahat ng mga bahagi ay madaling matagpuan mula sa Amazon at sa iyong lokal na tindahan ng hardware