
INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-23 12:53


Hierdie projek is gemaak van 'n gebreekte lamp en nodeMCU. Hierdie dekoratiewe lamp kan in enige rigting verstel word en op magnetiese materiaal geheg word of op die tafel gesit word. Dit kan soos volg in twee modusse beheer word:
- Draadlose beheermodus, soos die YouTube -skakel hieronder:
- Interaktiewe beheermodus, soos die YouTube -skakel hieronder:
Stap 1: MATERIAALWETENSKAPPE
B. O. M lys:

Vir die interaktiewe modus gebruik ek MPU6050 om gyrodata van NodeMCU af te kry om die kleur van die lamp te beheer.
Materiaalfoto vir hierdie projek:

Stap 2: KRING

Dit is 'n baie eenvoudige stroombaan, soos die Fritzing -skema hierbo, met 1 RGB Led -algemene anode -tipe, drie eindstroom -weerstande R100 en MPU6050.
Die reflektor word gebruik van alle gebreekte lampe en is met 2 boute aan die nodeMCU -basis gekoppel of met sterk gom vasgemaak.
Installasie werk:


Skematiese onderstaande:

Stap 3: MAGNETIESE BASIS - FLEKSIBELE ARM

Buigsame arm kan hergebruik word deur gebroke buigsame waterkrane. Iets soos dit:

Met 'n paar wenke probeer ons dit verbind met die permanente magneetbasis onderaan die buigsame arm. Boonop het ons 'n boorgat gemaak om aan te sluit op ons printplaat en son-/batterylaaier. Met hierdie basis kan ons 'n lamp op die oppervlak sit, soos tafel, vloere …; of dit kan op magnetiese materiale soos staalpilaar, staalstruktuur geheg word.
Stap 4: SOLAR - BATTERYLADER

Dit kom van 'n beskadigde laai lamp. Ek het 'n aan/uit -skakelaar en kragdrade by nodeMCU gevoeg. Dit het ook 'n USB -aansluiting en 'n prop vir 'n laaier.
Stap 5: Koppel ALMAL SAAM

Verbind alle dele: NodeMCU en reflektor, son- en batteryselle, buigsame arm saam.
AFWERK

OPLAADMODUS

Stap 6: INTERAKTIEWE BEHEERPROGRAM
Die kleur sal verander as ons die buigsame arm verstel of die lamp draai.
INTERAKTIEWE LAMP
#insluit |
// MPU6050 Slawe -toesteladres |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Kies SDA- en SCL -penne vir I2C -kommunikasie - Standaard standaard in WIRE LIBRARY: SCL - D1 & SDA - D2 op NODEMCU |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 paar konfigurasieregisteradresse |
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, Temperature, GyroX, GyroY, GyroZ; |
ongeldige opstelling () { |
pinMode (R, UITGANG); |
pinMode (G, UITGANG); |
pinMode (B, UITGANG); |
//Serial.begin(9600); |
Wire.begin (SDA, SCL); |
MPU6050_Init (); |
} |
leemte -lus () { |
uint16_t Ax, Ay, Az, T, Gx, Gy, Gz; |
uint16_t Rooi, groen, blou; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Neem absolute waarde |
Ax = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Skaal binne bereik |
Rooi = kaart (Ax, 0, 16384, 0, 1023); |
Groen = kaart (Ay, 0, 16384, 0, 1023); |
Blou = kaart (Az, 0, 16384, 0, 1023); |
// Seriële druk om na te gaan |
//Serial.print("Red: "); Serial.print (rooi); |
//Serial.print("Green: "); Serial.print (groen); |
//Serial.print("Blue: "); Reeks.afdruk (blou); |
// Skryf analoog na LED |
analogWrite (R, rooi); // R |
analogWrite (G, groen); // G |
analogWrite (B, blou); // B |
vertraging (200); |
} |
ongeldig I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (data); |
Wire.endTransmission (); |
} |
// Lees al 14 registers |
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 ()); |
} |
// Stel MPU6050 op |
nietig MPU6050_Init () { |
vertraging (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); // stel +/- 250 grade/sekonde volskaal |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // stel +/- 2g volskaal |
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); |
} |
// Absolute waarde |
dryf myAbs (dryf in) { |
return (in)> 0? (in):-(in); |
} |
sien rouINTERAKTIEWE LAMPPROGRAM aangebied deur ❤ deur GitHub
Stap 7: DRAADLOZE BEHEERPROGRAM EN ANDROID -TOEPASSING

Op 'n ander manier kan ons die Android -app gebruik om RGB LED met Android in 'n WiFi -netwerk te beheer. Koppel Android -app: NODEMCU -beheer RGB LED -app
Vir die Arduino -program kan u verwys na:
microcontrollerkits.blogspot.com/2016/05/es…
Na die oplaai van die program na NodeMCU, gee die eerste lopie ons die IP -adres van die NodeMCU op seriële druk. In my geval is dit: 192.164.1.39 by poort 80.

Nou kan ons die draadlose lamp met 'n skootrekenaar/ tablet/ selfoon beheer deur die adres hierbo in Internet Explorer in te voer.

Of gebruik Android -app:

Stap 8: ENKELE PRENTE
Aanbeveel:
Draadlose Arduino -robot met behulp van die HC12 -draadlose module: 7 stappe

Draadlose Arduino -robot wat die HC12 -draadlose module gebruik: Hallo ouens, welkom terug. In my vorige pos het ek verduidelik wat 'n H Bridge Circuit is, L293D -motorbestuurder -IC, L293D -motorbestuurder -IC vir die bestuur van hoëstroom -motorbestuurders en hoe u u eie L293D -motorbestuurderbord kan ontwerp en maak
Draadlose kommunikasie met behulp van goedkoop 433MHz RF -modules en Pic -mikrobeheerders. Deel 2: 4 stappe (met prente)

Draadlose kommunikasie met behulp van goedkoop 433MHz RF -modules en Pic -mikrobeheerders. Deel 2: In die eerste deel van hierdie instruksies het ek gedemonstreer hoe ek 'n PIC12F1822 kan programmeer met behulp van MPLAB IDE en XC8 -samesteller, om 'n eenvoudige string draadloos te stuur met goedkoop TX/RX 433MHz modules. Die ontvanger module is via 'n USB aan UART TTL gekoppel kabel advertensie
Vyftig meter bereik draadlose toegangspunt met TP Link WN7200ND USB draadlose adapter op Raspbian -rek: 6 stappe

Vyftig meter bereik draadlose toegangspunt met TP Link WN7200ND USB draadlose adapter op Raspbian Stretch: Raspberry Pi is wonderlik om veilige draadlose toegangspunte te skep, maar dit het nie 'n goeie bereik nie; ek het 'n TP Link WN7200ND USB draadlose adapter gebruik om dit uit te brei. Ek wil deel hoe om dit te doen Hoekom wil ek 'n framboos pi in plaas van 'n router gebruik? T
Magnetiese kamera -arm: 5 stappe (met foto's)

Magnetiese kamera -arm: ek het hierdie magnetiese kamerahouer gemaak om my te help met die maak van my Youtube -video's. Dit is 'n maklike projek om te voltooi. Al die onderdele kan maklik gevind word by Amazon en u plaaslike hardewarewinkel
DIY draadlose mikrofoon na draadlose kitaarstelsel: 4 stappe

DIY draadlose mikrofoon na draadlose kitaarstelsel: ek het 'n paar videos en 'n paar bands gekyk, en byna 'n draadlose stelsel op kitaar. Word mal, beweeg, loop en doen wat hulle wil sonder die koord, so ek droom daarvan om een te hê .. Maar .. vir my is dit nou te duur, so ek het hierop gekom