Sisukord:
- 1. samm: ARVE MATERJALID
- 2. etapp: Ahel
- 3. samm: MAGNEETILINE ALUS - PAINDLIK ARM
- 4. samm: PÄIKESEPÄEV - AKULAADIJA
- Samm: Ühendage kõik koos
- 6. samm: interaktiivne juhtimisprogramm
- 7. toiming: traadita juhtimise programm ja androidi rakendus
- 8. samm: MÕNED PILDID
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
See projekt tehti katkisest lambist ja nodeMCU -st. Seda dekoratiivlampi saab reguleerida mis tahes suunas ja kinnitada magnetmaterjalidele või panna lauale. Seda saab juhtida kahes režiimis järgmiselt:
- Juhtmevaba juhtimisrežiim, nagu YouTube'i link allpool:
- Interaktiivne juhtimisrežiim, nagu YouTube'i link allpool:
1. samm: ARVE MATERJALID
B. O. M nimekiri:
Interaktiivse režiimi jaoks kasutan MPU6050, et saada NodeMCU -lt güroskoopilisi andmeid lambi värvi juhtimiseks.
Selle projekti materjalide pilt:
2. etapp: Ahel
See on väga lihtne vooluahel, nagu ülaltoodud Fritzingi skeemil, 1 RGB Led ühise anooditüübiga, kolme piirvoolutakistiga R100 ja MPU6050.
Helkurit kasutatakse purunenud lampidest ja see on ühendatud 2 poldiga sõlme MCU alusega või kleepige need tugeva liimiga.
Paigaldustööd:
Skeem allpool:
3. samm: MAGNEETILINE ALUS - PAINDLIK ARM
Painduvat kätt saab katkistest painduvatest veekraanidest uuesti kasutada. Midagi sellist:
Mõne näpunäite abil proovime need ühendada painduva õla allosas oleva püsimagneti alusega. Peale selle tegime puuraugu, et ühendada meie trükkplaat ja päikeseenergia/akulaadija. Selle aluse abil saame lambi panna lauale, põrandale…; või seda saab kinnitada magnetmaterjalidele nagu terasest sammas, teraskonstruktsioon.
4. samm: PÄIKESEPÄEV - AKULAADIJA
See tuli kahjustatud laadimislambist. Lisasin nodeMCU -le sisse/välja lüliti ja toitejuhtmete toite. Sellel on ka üks USB -pistikupesa ja üks pistik akulaadija jaoks.
Samm: Ühendage kõik koos
Kõikide osade ühendamine: NodeMCU ja reflektor, päikesepatareid ja akupatareid, painduv õlg koos.
LÕPETAMA
LAADIMISREŽIIM
6. samm: interaktiivne juhtimisprogramm
Värv muutub, kui reguleerime painduvat kätt või pöörame lampi.
INTERAKTIIVNE LAMP
#kaasake |
// MPU6050 Alamseadme aadress |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Valige SDA- ja SCL -tihvtid I2C -side jaoks - PIN -koodi vaikimisi juhtmeraamatukogus: SCL - D1 & SDA - D2 NODEMCU -s |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 vähe konfiguratsiooniregistri aadresse |
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_ET = 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, temperatuur, GyroX, GyroY, GyroZ; |
tühine seadistus () { |
pinMode (R, VÄLJUND); |
pinMode (G, VÄLJUND); |
pinMode (B, VÄLJUND); |
//Seriaalne.algus (9600); |
Wire.begin (SDA, SCL); |
MPU6050_Init (); |
} |
void loop () { |
uint16_t Axe, Ay, Az, T, Gx, Gy, Gz; |
uint16_t punane, roheline, sinine; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Võtke absoluutväärtus |
Kirves = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Skaala vahemikus |
Punane = kaart (Axe, 0, 16384, 0, 1023); |
Roheline = kaart (Ay, 0, 16384, 0, 1023); |
Sinine = kaart (Az, 0, 16384, 0, 1023); |
// Seeriatrükk kontrollimiseks |
//Sarja.print ("Red: "); Serial.print (punane); |
//Sarja.print ("Green: "); Serial.print (roheline); |
//Sarja.print ("Sinine: "); Serial.print (sinine); |
// Kirjutage analoog LED -i |
analogWrite (R, punane); R |
analogWrite (G, roheline); // G |
analogWrite (B, sinine); // B |
viivitus (200); |
} |
tühine I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (andmed); |
Wire.endTransmission (); |
} |
// Loe kõiki 14 registrit |
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 ()); |
Temperatuur = ((((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 seadistamine |
tühine MPU6050_Init () { |
viivitus (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); // seatud +/- 250 kraadi/sekund täisskaala |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // komplekt +/- 2 g täisskaala |
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); |
} |
// Absoluutne väärtus |
float myAbs (hõlju sisse) { |
tagasitulek (sisse)> 0? (sisse):-(sisse); |
} |
vaata tooresINTERAKTIIVSET LAMPPROGRAMMI, mille hostiks on GitHub ❤
7. toiming: traadita juhtimise programm ja androidi rakendus
Teine võimalus on kasutada Androidi rakendust, et juhtida WiFi võrgus Androidiga RGB LED -i. Linkige Androidi rakendus: NODEMCU juhtimis -RGB LED -APP
Arduino programmi jaoks võite viidata:
microcontrollerkits.blogspot.com/2016/05/es…
Pärast programmi NodeMCU -sse üleslaadimist annab esimene kord meile seeriaprintimisel NodeMCU IP -aadressi. Minu puhul on see: 192.164.1.39 sadamas 80.
Nüüd saame juhtmevaba lampi sülearvuti/ tahvelarvuti/ mobiiltelefoniga juhtida, sisestades Internet Explorerisse ülaltoodud aadressi.
Või kasutades Androidi rakendust:
8. samm: MÕNED PILDID
Soovitan:
Kontroller kolme magnetilise silmusega antenni jaoks koos stopp -lülitiga: 18 sammu (piltidega)
Kontroller kolme magnetilise silmusega antenni jaoks, millel on seiskamislüliti: see projekt on mõeldud singiamatööridele, kellel pole kaubanduslikku. Seda on lihtne ehitada jootekolvi, plastkorpuse ja vähese arduino tundmisega. Kontroller on valmistatud eelarvekomponentidest, mille leiate Internetist hõlpsalt (~ 20 €)
Krokodilli päikese basseini andur: 7 sammu (piltidega)
Krokodilli päikese basseini andur: see juhend näitab, kuidas ehitada üsna eriline basseini andur, mis mõõdab basseini temperatuuri ja edastab selle WiFi kaudu rakendusele Blynk ja MQTT maaklerile. Ma nimetan seda "krokodilli päikesepaneeli anduriks". See kasutab Arduino programmeerimist
Paindliku ekraaniga pongimäng särgil: 8 sammu (piltidega)
Paindliku ekraaniga pongimäng särgil: see on minu Halloweeni kostüüm aastaks 2013. See on olnud töös umbes aasta ja selle loomiseks on kulunud päris mitu töötundi. Ekraan on 14 x 15 pikslit, seega üsna madal eraldusvõime, kuid see võib siiski teha mõnda lõbusat. See on füüsiliselt lendav
BALLON LAMP !!! AMAZING !!! (lihtne Awsome Ballon Lamp) !!: 6 sammu (koos piltidega)
BALLON LAMP !!! AMAZING !!! (lihtne Awsome Ballon Lamp) !!: Lihtne ballonlamp on valmistatud kuulidest ja 12 -voldisest ribast koos juhiga
Magnetilise hiire tahvli kustutuskumm: 5 sammu (piltidega)
Magnetilise hiire valge tahvli kustutuskumm: tahvlipuhastid on valus! Kui nad plaati kuidagi ei klammerda, on paratamatu, et kaotate need või keegi läheb sellega kaasa. See on valmistatud vanast hiirest, mille sees on magnet, mis hoiab seda laua taga. Põhjas on plaaster