Përmbajtje:

Llambë diellore pa tel me krah MAGNETIK FLEKSIBLE: 8 hapa (me fotografi)
Llambë diellore pa tel me krah MAGNETIK FLEKSIBLE: 8 hapa (me fotografi)

Video: Llambë diellore pa tel me krah MAGNETIK FLEKSIBLE: 8 hapa (me fotografi)

Video: Llambë diellore pa tel me krah MAGNETIK FLEKSIBLE: 8 hapa (me fotografi)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Korrik
Anonim
Llambë diellore pa tel me ARM MAGNETIK FLEKSIBLE
Llambë diellore pa tel me ARM MAGNETIK FLEKSIBLE
Llambë diellore pa tel me ARM MAGNETIK FLEKSIBLE
Llambë diellore pa tel me ARM MAGNETIK FLEKSIBLE

Ky projekt është bërë nga një llambë e thyer & nodeMCU. Kjo llambë dekorative mund të rregullohet në çdo drejtim dhe të ngjitet në materiale magnetike ose të vendoset në tryezë. Mund të kontrollohet në dy mënyra si më poshtë:

- Mënyra e kontrollit pa tel, si lidhja e YouTube më poshtë:

- Mënyra e kontrollit interaktiv, si lidhja e YouTube më poshtë:

Hapi 1: Fatura e materialeve

Lista e B. O. M:

Imazhi
Imazhi

Për modalitetin interaktiv, unë përdor MPU6050 për të marrë të dhëna xhiro nga NodeMCU për të kontrolluar ngjyrën e llambës.

Fotografia e materialeve për këtë projekt:

Imazhi
Imazhi

Hapi 2: QARKU

QARKU
QARKU

Ky është një qark shumë i thjeshtë, sipas skemës Fritzing më lart, me 1 lloj anode të zakonshme RGB Led, tre rezistorë të rrymës kufitare R100 & MPU6050.

Reflektori përdoret nga çdo llambë e thyer dhe lidhet me bazën nodeMCU me 2 bulona ose ngjitini ato me zam të fortë.

Puna e instalimit:

Imazhi
Imazhi
Imazhi
Imazhi

Skema më poshtë:

Imazhi
Imazhi

Hapi 3: BAZA MAGNETIKE - ARM FLEKSIBLE

BAZA MAGNETIKE - ARM FLEKSIBLE
BAZA MAGNETIKE - ARM FLEKSIBLE

Krahu fleksibël mund të ripërdoret nga çezmat fleksibël të thyer të ujit. Diçka e tillë:

Imazhi
Imazhi

Me disa këshilla, ne përpiqemi t'i lidhim ato me bazën e magnetit të përhershëm në fund të krahut fleksibël. Në krye, ne bëmë një vrimë stërvitore për t'u lidhur me tabelën tonë të qarkut dhe ngarkuesin diellor/bateri. Me këtë bazë, ne mund të vendosim llambë në sipërfaqe si tavolina, dysheme ….; ose mund të ngjitet në materiale magnetike si shtylla çeliku, strukturë çeliku.

Hapi 4: NGA NGARKIMI I BOTTERRIS S SOLAR

SOLAR - Ngarkues baterie
SOLAR - Ngarkues baterie

Ajo erdhi nga një llambë karikimi e dëmtuar. Shtova një ndërprerës ndezës/fikur dhe furnizim me tela të energjisë në nodeMCU. Gjithashtu ka një prizë USB dhe një prizë për karikuesin e baterisë.

Hapi 5: LIDHUNI T ALL GJITH BASHKU

LIDHUNI T ALL GJITH BASHKU
LIDHUNI T ALL GJITH BASHKU

Lidhja e të gjitha pjesëve: NodeMCU & reflektor, qeliza diellore dhe bateri, krah fleksibël së bashku.

P FRFUNDIM

Imazhi
Imazhi

MDNYRA E NGARKIMIT

Imazhi
Imazhi

Hapi 6: PROGRAMI I KONTROLLIT INTERAKTIV

Ngjyra do të ndryshojë kur rregullojmë krahun fleksibël ose rrotullojmë llambën.

LAMP INTERAKTIVE

#përfshi
// Adresa e pajisjes së skllevërve MPU6050
const uint8_t MPU6050SlaveAdresa = 0x68;
// Përzgjidhni kunjat SDA dhe SCL për komunikimin I2C - Parazgjedhja e pinit në WIRE LIBRITARE: SCL - D1 & SDA - D2 në NODEMCU
// const uint8_t SCL = D1;
// const uint8_t SDA = D2;
const int R = 14;
const int G = 12;
const int B = 13;
// MPU6050 pak adresa të regjistrit të konfigurimit
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;
void setup () {
pinMode (R, OUTPUT);
pinMode (G, OUTPUT);
pinMode (B, OUTPUT);
//Serial.fillo (9600);
Wire.begin (SDA, SCL);
MPU6050_Init ();
}
lak void () {
uint16_t Ax, Ay, Az, T, Gx, Gy, Gz;
uint16_t E kuqe, jeshile, blu;
Read_RawValue (MPU6050SlaveAdresa, MPU6050_REGISTER_ACCEL_XOUT_H);
// Merrni vlerën absolute
Ax = myAbs (AccelX);
Ay = myAbs (AccelY);
Az = myAbs (AccelZ);
// Shkalla në rang
E kuqe = harta (Axe, 0, 16384, 0, 1023);
E gjelbër = harta (Ay, 0, 16384, 0, 1023);
Blu = hartë (Az, 0, 16384, 0, 1023);
// Shtypja serike për tu kontrolluar
//Serial.print("E kuqe: "); Serial.print (E kuqe);
//Serial.print("Green: "); Serial.print (Green);
//Serial.print("Blu: "); Serial.print (Blu);
// Shkruani analog me LED
analogWrite (R, Kuq); // R
analogWrite (G, Green); // G
analogWrite (B, Blu); // B
vonesë (200);
}
i pavlefshëm I2C_Write (uint8_t adresa Adresa, uint8_t regAdresa, uint8_t të dhëna) {
Wire.beginTransmission (pajisje Adresa);
Wire.write (regAdresa);
Wire.write (të dhënat);
Wire.endTransmission ();
}
// Lexoni të 14 regjistrat
pavlefshme Read_RawValue (uint8_t pajisje Adresa, uint8_t regAdresa) {
Wire.beginTransmission (pajisje Adresa);
Wire.write (regAdresa);
Wire.endTransmission ();
Tela. Kërkohet Nga (pajisja Adresa, (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 ());
}
// Konfiguro MPU6050
void MPU6050_Init () {
vonesa (150);
I2C_Write (MPU6050SlaveAdresa, MPU6050_REGISTER_SMPLRT_DIV, 0x07);
I2C_Write (MPU6050SlaveAdresa, MPU6050_REGISTER_PWR_MGMT_1, 0x01);
I2C_Write (MPU6050SlaveAdresa, MPU6050_REGISTER_PWR_MGMT_2, 0x00);
I2C_Write (MPU6050SlaveAdresa, MPU6050_REGISTER_CONFIG, 0x00);
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_GYRO_CONFIG, 0x00); // vendos +/- 250 gradë/shkallë e dytë e plotë
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // vendos +/- 2g shkallë të plotë
I2C_Write (MPU6050SlaveAdresa, MPU6050_REGISTER_FIFO_EN, 0x00);
I2C_Write (MPU6050SlaveAdresa, MPU6050_REGISTER_INT_ENABLE, 0x01);
I2C_Write (MPU6050SlaveAdresa, MPU6050_REGISTER_SIGNAL_PATH_RESET, 0x00);
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_USER_CTRL, 0x00);
}
// Vlere absolute
float myAbs (noto brenda) {
kthehet (në)> 0? (në):-(në);
}

shikoni programin e papërpunuar të llambave INTERACTIVE të organizuar me ❤ nga GitHub

Hapi 7: PROGRAMI I KONTROLLIT pa tel dhe APLIKIMI ANDROID

PROGRAMI I KONTROLLIT PA TEL DHE APLIKIMI ANDROID
PROGRAMI I KONTROLLIT PA TEL DHE APLIKIMI ANDROID

Një mënyrë tjetër, ne mund të përdorim Android App për të kontrolluar RGB LED me Android në WiFi Network. Lidh Android App: NODEMCU kontroll RGB LED APP

Për programin Arduino, mund t'i referoheni:

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

Pas ngarkimit të programit në NodeMCU, ekzekutimi i parë do të na japë adresën IP të NodeMCU në printimin serik. Në rastin tim, është: 192.164.1.39 në portin 80.

Imazhi
Imazhi

Tani, ne mund të kontrollojmë llambën pa tel me laptop/ tablet/ telefon celular duke futur adresën më lart në internet explorer.

Imazhi
Imazhi

Ose duke përdorur aplikacionin Android:

Imazhi
Imazhi

Hapi 8: DISA FOTO

Recommended: