
Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11


Detta projekt gjordes av en trasig lampa och nodMCU. Denna dekorativa lampa kan justeras i alla riktningar och fästas på magnetiska material eller läggas på bordet. Den kan styras i två lägen enligt följande:
- Trådlöst kontrolläge, som YouTube -länk nedan:
- Interaktivt kontrolläge, som YouTube -länk nedan:
Steg 1: RÄKNING AV MATERIAL
B. O. M lista:

För interaktivt läge använder jag MPU6050 för att få gyrodata från NodeMCU för att styra lampans färg.
Materialbild för detta projekt:

Steg 2: CIRCUIT

Detta är en mycket enkel krets, enligt Fritzing -schemat ovan, med 1 RGB Led vanlig anodtyp, tre gränsströmsmotstånd R100 & MPU6050.
Reflektorn används från alla trasiga lampor och ansluten till nodeMCU -basen med två bultar eller klistra fast dem med starkt lim.
Installationsarbete:


Schemat nedan:

Steg 3: MAGNETISK BAS - FLEXIBEL ARM

Flexibel arm kan återanvändas från trasiga flexibla vattenkranar. Något sådant:

Med några tips försöker vi ansluta dem till den permanenta magnetbasen längst ner på den flexibla armen. Ovanpå gjorde vi ett borrhål för anslutning till vårt kretskort och sol-/batteriladdare. Med denna bas kan vi sätta lampan på ytan som bord, golv …; eller det kan fästas på magnetiska material som stålpelare, stålkonstruktion.
Steg 4: SOLAR - BATTERILADDARE

Den kom från en skadad laddningslampa. Jag lade till en på/av -omkopplare och strömförsörjning till nodeMCU. Den har också ett USB -uttag och en kontakt för batteriladdare.
Steg 5: ANSLUT ALLT SAMMAN

Ansluter alla delar: NodeMCU & reflektor, solceller och battericeller, flexibel arm tillsammans.
AVSLUTA

LADDNINGSLÄGE

Steg 6: INTERAKTIVT KONTROLLPROGRAM
Färgen ändras när vi justerar den flexibla armen eller roterar lampan.
INTERAKTIV LAMPA
#omfatta |
// MPU6050 Slave Device Address |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Välj SDA- och SCL -stift för I2C -kommunikation - Pin -standard i WIRE LIBRARY: SCL - D1 & SDA - D2 på NODEMCU |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 få konfigurationsregisteradresser |
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, Temperatur, 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 Ax, Ay, Az, T, Gx, Gy, Gz; |
uint16_t Rött, grönt, blått; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Ta absolut värde |
Ax = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Skala inom räckvidd |
Röd = karta (Ax, 0, 16384, 0, 1023); |
Grön = karta (Ay, 0, 16384, 0, 1023); |
Blå = karta (Az, 0, 16384, 0, 1023); |
// Seriell utskrift för att kontrollera |
//Serial.print("Red: "); Serial.print (röd); |
//Serial.print("Green: "); Serial.print (grönt); |
//Serial.print("Blue: "); Serial.print (blå); |
// Skriv analogt till LED |
analogWrite (R, röd); // R |
analogWrite (G, grön); // G |
analogWrite (B, blå); // B |
fördröjning (200); |
} |
void I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (data); |
Wire.endTransmission (); |
} |
// Läs alla 14 register |
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 ()); |
Temperatur = (((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 ()); |
} |
// Konfigurera MPU6050 |
ogiltig MPU6050_Init () { |
fördröjning (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 grader/sekund full skala |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // set +/- 2g full skala |
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); |
} |
// Absolutvärde |
float myAbs (float in) { |
return (in)> 0? (in):-(in); |
} |
visa rawINTERACTIVE LAMP PROGRAM värd med ❤ av GitHub
Steg 7: TRÅDLÖS KONTROLLPROGRAM OCH ANDROID -APPLIKATION

Ett annat sätt kan vi använda Android App för att styra RGB LED med Android i WiFi -nätverk. Länk Android -app: NODEMCU -kontroll RGB LED -APP
För Arduino -programmet kan du hänvisa till:
microcontrollerkits.blogspot.com/2016/05/es…
Efter att ha laddat upp programmet till NodeMCU kommer den första körningen att ge oss NodeMCU: s IP -adress vid seriell utskrift. I mitt fall är det: 192.164.1.39 vid port 80.

Nu kan vi styra den trådlösa lampan med bärbar dator/ surfplatta/ mobiltelefon genom att ange adressen ovan i Internet Explorer.

Eller använda Android -appen:

Steg 8: Vissa BILDER
Rekommenderad:
FLEXBALL - en hundra pixlar flexibel PCB -boll med WiFi: 6 steg (med bilder)

FLEXBALL - en hundra pixel flexibel PCB -boll med WiFi: Hej beslutsfattare, det är tillverkaren moekoe! Flexball är baserad på en flexibel kretskort som är utrustad med 100 WS2812 2020 adresserbara lysdioder. Den styrs av en ESP8285-01f - den minsta ESP -baserade modulen från Espressif. Dessutom har den en ADXL345 acceleromete
Trådlös Arduino -robot med HC12 trådlös modul: 7 steg

Trådlös Arduino -robot som använder HC12 trådlös modul: Hej killar, välkommen tillbaka. I mitt förra inlägg förklarade jag vad en H Bridge Circuit är, L293D motorförare IC, piggybacking L293D Motorförare IC för att köra högströmsmotordrivrutiner och hur du kan designa och göra din egen L293D -motorförarkort,
Femtio meter trådlös åtkomstpunkt med TP Link WN7200ND trådlös USB -adapter på Raspbian -stretch: 6 steg

Femtio meter trådlös åtkomstpunkt med TP Link WN7200ND trådlös USB -adapter på Raspbian Stretch: Raspberry Pi är bra att skapa säkra trådlösa åtkomstpunkter men det har inte ett bra utbud, jag använde en TP Link WN7200ND trådlös adapter för att förlänga den. Jag vill dela hur jag gör det Varför vill jag använda en hallon pi istället för en router? T
Flexibel bärbar dator: 5 steg (med bilder)

Flexibel bärbar dator: Det här var ett snabbt litet projekt jag gjorde för att hålla min design- och prototypförmåga skarp och dela något som inte är under NDA eller håller på att licensieras till någon. Jag skickar det till pro tips -utmaningen och det här är verkligen en guide till
Pong spelar flexibel skärm på en skjorta: 8 steg (med bilder)

Pong spelar flexibel skärm på en skjorta: Detta är min Halloween -kostym för 2013. Den har varit på gång i ungefär ett år och har tagit ganska många manstimmar att skapa. Skärmen är 14 x 15 pixlar, så, ganska låg upplösning men det kan fortfarande göra några roliga saker. Det är fysiskt fle