Turinys:
- 1 žingsnis: SĄRAŠAS MEDŽIAGŲ
- 2 žingsnis: SROVĖ
- 3 žingsnis: MAGNETINĖ PAGRINDAS - LAPUS GARNAS
- 4 žingsnis: SAULĖ - AKUMULIATORIUS
- 5 veiksmas: PRISIJUNKITE VISUS KARTU
- 6 žingsnis: INTERAKTYVUS KONTROLĖS PROGRAMA
- 7 žingsnis: BEVIELIO KONTROLĖS PROGRAMA IR „Android“TAIKYMAS
- 8 veiksmas: kai kurios nuotraukos
Video: AUKŠTAS BEVIELIS LEMPTIS SU MAGNETINIAI LANKSTA GARNA: 8 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šis projektas buvo pagamintas iš sugedusios lempos ir nodeMCU. Ši dekoratyvinė lempa gali būti reguliuojama bet kuria kryptimi, pritvirtinama prie magnetinių medžiagų arba dedama ant stalo. Jis gali būti valdomas dviem režimais:
- Belaidžio valdymo režimas, kaip nurodyta toliau esančioje „YouTube“nuorodoje:
- Interaktyvus valdymo režimas, kaip „YouTube“nuoroda žemiau:
1 žingsnis: SĄRAŠAS MEDŽIAGŲ
B. O. M sąrašas:
Interaktyviam režimui naudoju MPU6050, kad gaučiau giroskopo duomenis iš „NodeMCU“, kad valdyčiau lempos spalvą.
Šio projekto medžiagos nuotrauka:
2 žingsnis: SROVĖ
Tai labai paprasta grandinė, kaip aprašyta aukščiau esančioje Fritzingo schemoje, su 1 RGB Led bendru anodo tipu, trimis ribinės srovės rezistoriais R100 ir MPU6050.
Atšvaitas naudojamas iš bet kokių sugedusių lempų ir 2 varžtais prijungtas prie „nodeMCU“pagrindo arba priklijuojamas tvirtu klijais.
Montavimo darbai:
Schema žemiau:
3 žingsnis: MAGNETINĖ PAGRINDAS - LAPUS GARNAS
Lanksčią ranką galima pakartotinai naudoti iš sulaužytų lanksčių vandens čiaupų. Kažkas panašaus:
Remdamiesi kai kuriais patarimais, bandome juos prijungti prie nuolatinio magneto pagrindo lanksčios rankos apačioje. Viršuje padarėme gręžimo angą, skirtą prijungti prie mūsų plokštės ir saulės/baterijų įkroviklio. Naudodami šį pagrindą, galime pastatyti lempą ant paviršiaus, pavyzdžiui, stalo, grindų…; arba jis gali būti pritvirtintas prie magnetinių medžiagų, tokių kaip plieninis stulpas, plieninė konstrukcija.
4 žingsnis: SAULĖ - AKUMULIATORIUS
Jis atsirado iš pažeistos įkrovimo lempos. Pridėjau įjungimo/išjungimo jungiklį ir maitinimo laidų tiekimą į nodeMCU. Jame taip pat yra vienas USB prievado lizdas ir vienas kištukas akumuliatoriaus įkrovikliui.
5 veiksmas: PRISIJUNKITE VISUS KARTU
Sujungiamos visos dalys: „NodeMCU“ir atšvaitas, saulės ir baterijų elementai, lanksti rankena.
BAIGTI
ĮKROVIMO REŽIMAS
6 žingsnis: INTERAKTYVUS KONTROLĖS PROGRAMA
Spalva pasikeis, kai sureguliuosime lanksčią rankeną arba pasuksime lempą.
INTERAKTYVUS LEMPAS
#įtraukti |
// MPU6050 Slave Device adresas |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Pasirinkite SDA ir SCL kaiščius, skirtus I2C ryšiui - Numatytasis kaištis WIRE BIBLIOTEKOJE: 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 keli konfigūracijos registro adresai |
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, Temperatūra, 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 Raudona, žalia, mėlyna; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Imk absoliučią vertę |
Axe = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Skalė diapazone |
Raudona = žemėlapis (Axe, 0, 16384, 0, 1023); |
Žalia = žemėlapis (Ay, 0, 16384, 0, 1023); |
Mėlyna = žemėlapis (Az, 0, 16384, 0, 1023); |
// Serijinis spausdinimas, kurį reikia patikrinti |
//Serijinis.printas ("Red: "); Serial.print (raudona); |
//Serijinis.printas ("Green: "); Serial.print (žalia); |
//Serijinis.printas ("Melnas: "); Serial.print (mėlyna); |
// Rašykite analogą į LED |
analogWrite (R, raudona); // R. |
analogWrite (G, žalia); // G |
analogWrite (B, mėlyna); // B. |
vėlavimas (200); |
} |
void I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (duomenys); |
Wire.endTransmission (); |
} |
// Skaityti visus 14 registrų |
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 ()); |
Temperatūra = ((((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 ()); |
} |
// Konfigūruoti MPU6050 |
void MPU6050_Init () { |
vėlavimas (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); // nustatyti +/- 250 laipsnių/sekundę |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // nustatyti +/- 2 g visos skalės |
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); |
} |
// Absoliučioji vertė |
float myAbs (float in) { |
grįžti (į)> 0? (į):-(į); |
} |
peržiūrėti rawINTERAKTYVIOS LEMPOS PROGRAMĄ, kurią su ❤ priglobia „GitHub“
7 žingsnis: BEVIELIO KONTROLĖS PROGRAMA IR „Android“TAIKYMAS
Kitas būdas yra „Android“programa, skirta valdyti „RGB LED“su „Android“„WiFi“tinkle. „Android“programos susiejimas: NODEMCU valdymo RGB LED APP
„Arduino“programoje galite kreiptis į:
microcontrollerkits.blogspot.com/2016/05/es…
Įkėlus programą į „NodeMCU“, pirmasis paleidimas suteiks mums „NodeMCU“IP adresą serijinio spausdinimo metu. Mano atveju tai yra: 192.164.1.39 prie 80 prievado.
Dabar mes galime valdyti belaidę lempą nešiojamu kompiuteriu/ planšetiniu kompiuteriu/ mobiliuoju telefonu, įvesdami aukščiau esantį adresą į „Internet Explorer“.
Arba naudodami „Android“programą:
8 veiksmas: kai kurios nuotraukos
Rekomenduojamas:
Magnetiniai LED šešiakampiai: 9 žingsniai (su paveikslėliais)
Magnetiniai LED šešiakampiai: Sveiki atvykę į mano „LED šešiakampį“apšvietimo projektas, tarpusavyje jungiantys šviečiantys šešiakampiai. Pastaruoju metu mačiau keletą skirtingų šių apšvietimo projektų versijų, kurios pateko į rinką, tačiau jos visos turi vieną bendrą bruožą … kainą. Kiekvienas šešiakampis čia
D.I.Y PAPRASTAS BEVIELIS GALIA IŠ IŠLAIDŲ: 4 žingsniai (su paveikslėliais)
D.I.Y PAPRASTAS BEVIELIS MAITINIMAS IŠ IŠLAIDŲ: Šiandien norėčiau pasidalinti, kaip apšviesti šviesos diodus belaidžiu energijos perdavimu iš dantų šepetėlio įkroviklio ir solenoidinių vožtuvų ritinių, kurie buvo paimti iš laužo. Prieš pradėdami, žiūrėkite toliau pateiktą vaizdo įrašą:
„ANDROID“TAIKYMO VALDYMAS PAPRASTAS RGB LED STALO LEMPTIS: 5 žingsniai
„ANDROID“TAIKYMAS KONTROLIUOJAMAS PAPRASTAS RGB LED STALO LEMPTELIS: taigi šioje pamokoje aš jums parodysiu, kaip valdyti „rgb led“naudojant „Android“išmanųjį telefoną. RGB lemputės kuria pagrindinę bet kokio atspalvio, tai yra raudonos, žalios ir mėlynos spalvos, derinimo koncepciją. Visos spalvos turi elementarią spalvų kombinaciją
„HackerBox 0055“: aukštas ritinys: 7 žingsniai
„HackerBox 0055“: „High Roller“: sveikinimai „HackerBox“įsilaužėliams visame pasaulyje! Naudodami „HackerBox 0055“esate „D20 High Roller“, atsakingas į incidentų kortų žaidimą, „Backdoors & Pažeidimai. Taip pat tyrinėsite mašinų mokymąsi naudodami „TensorFlow“, įterptus žiniatinklio serverius ESP32, mašinas
Magnetiniai šaldytuvo žibintai: 8 žingsniai (su nuotraukomis)
Magnetiniai šaldytuvo žibintai: paverskite savo šaldytuvą LED drobės drobe. Bet kuris praeivis gali įdėti ir perkelti magnetinius šviesos diodus bet kokiu būdu, norėdamas sukurti šviečiančias nuotraukas ir pranešimus. Tai puikiai tinka didelio srauto virtuvėms ir smagu vaikams ir suaugusiems