Innholdsfortegnelse:
- Trinn 1: REGNING AV MATERIALER
- Trinn 2: KRETS
- Trinn 3: MAGNETISK BASE - FLEKSIBEL ARM
- Trinn 4: SOLAR - BATTERILADER
- Trinn 5: KOBLE ALT SAMMEN
- Trinn 6: INTERAKTIVT KONTROLLPROGRAM
- Trinn 7: TRÅDLØS KONTROLLPROGRAM OG ANDROID -APPLIKASJON
- Trinn 8: NOE BILDER
Video: SOLAR TRÅDLØS LAMPE MED MAGNETISK FLEKSIBEL ARM: 8 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Dette prosjektet ble laget av en ødelagt lampe og nodeMCU. Denne dekorative lampen kan justeres i alle retninger og festes på magnetiske materialer eller settes på bordet. Den kan styres i to moduser som følger:
- Trådløs kontrollmodus, som YouTube -lenken nedenfor:
- Interaktiv kontrollmodus, som YouTube -lenken nedenfor:
Trinn 1: REGNING AV MATERIALER
B. O. M liste:
For interaktiv modus bruker jeg MPU6050 for å få gyrodata fra NodeMCU for å kontrollere lampens farge.
Materialebilde for dette prosjektet:
Trinn 2: KRETS
Dette er en veldig enkel krets, som Fritzing skjematisk ovenfor, med 1 RGB Led vanlig anodetype, tre grensestrømmotstander R100 og MPU6050.
Reflektoren brukes fra alle ødelagte lamper og koblet til nodeMCU -sokkelen med 2 bolter eller lim dem med sterkt lim.
Installasjonsarbeid:
Skjematisk nedenfor:
Trinn 3: MAGNETISK BASE - FLEKSIBEL ARM
Fleksibel arm kan gjenbrukes fra ødelagte fleksible vannkraner. Noe sånt:
Med noen tips prøver vi å koble dem til den permanente magnetbunnen nederst på den fleksible armen. På toppen laget vi et borehull for tilkobling til kretskortet og sol-/batteriladeren. Med denne basen kan vi sette lampen på overflaten som bord, gulv …; eller den kan festes på magnetiske materialer som stålstolpe, stålkonstruksjon.
Trinn 4: SOLAR - BATTERILADER
Den kom fra en skadet ladelampe. Jeg la til en av/på -bryter og strømforsyning til nodeMCU. Den har også en USB -portuttak og en plugg for batterilader.
Trinn 5: KOBLE ALT SAMMEN
Koble alle deler: NodeMCU og reflektor, solceller og battericeller, fleksibel arm sammen.
BLI FERDIG
LADEMODUS
Trinn 6: INTERAKTIVT KONTROLLPROGRAM
Farge vil bli endret når vi justerer den fleksible armen eller roterer lampen.
INTERAKTIV LAMPE
#inkludere |
// MPU6050 Slave Device Address |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Velg SDA- og SCL -pinner for I2C -kommunikasjon - 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å konfigurasjonsregisteradresser |
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; |
ugyldig oppsett () { |
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ød, grønn, blå; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Ta absolutt verdi |
Ax = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Skala i rekkevidde |
Rød = kart (Ax, 0, 16384, 0, 1023); |
Grønt = kart (Ay, 0, 16384, 0, 1023); |
Blå = kart (Az, 0, 16384, 0, 1023); |
// Seriell utskrift for å sjekke |
//Serial.print("Red: "); Serial.print (rød); |
//Serial.print("Green: "); Serial.print (grønt); |
//Serial.print("Blue: "); Serial.print (blå); |
// Skriv analog til LED |
analogWrite (R, rød); // R |
analogWrite (G, grønn); // G |
analogWrite (B, blå); // B |
forsinkelse (200); |
} |
ugyldig I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (data); |
Wire.endTransmission (); |
} |
// Les alle 14 registre |
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 ()); |
} |
// Konfigurer MPU6050 |
ugyldig MPU6050_Init () { |
forsinkelse (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); // sett +/- 250 grader/sekund full skala |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // sett +/- 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); |
} |
// Absolutt verdi |
float myAbs (flyte inn) { |
return (in)> 0? (in):-(in); |
} |
se rawINTERACTIVE LAMP PROGRAM hostet av ❤ av GitHub
Trinn 7: TRÅDLØS KONTROLLPROGRAM OG ANDROID -APPLIKASJON
En annen måte kan vi bruke Android -appen til å kontrollere RGB LED med Android i WiFi -nettverket. Link Android App: NODEMCU kontroll RGB LED APP
For Arduino -programmet kan du referere til:
microcontrollerkits.blogspot.com/2016/05/es…
Etter å ha lastet opp programmet til NodeMCU, vil den første kjøringen gi oss NodeMCUs IP -adresse på seriell utskrift. I mitt tilfelle er det: 192.164.1.39 ved port 80.
Nå kan vi kontrollere trådløs lampe med bærbar PC/ nettbrett/ mobiltelefon ved å skrive inn adressen ovenfor i Internet Explorer.
Eller bruk Android -appen:
Trinn 8: NOE BILDER
Anbefalt:
FLEXBALL - en hundre piksler fleksibel PCB -ball med WiFi: 6 trinn (med bilder)
FLEXBALL - en hundre piksler fleksibel PCB -ball med WiFi: Hei beslutningstakere, det er maker moekoe! Flexball er basert på en fleksibel kretskort som er utstyrt med 100 WS2812 2020 adresserbare lysdioder. Den styres av en ESP8285-01f - den minste ESP -baserte modulen fra Espressif. I tillegg har den en ADXL345 -akselerasjon
Trådløs Arduino -robot ved bruk av HC12 trådløs modul: 7 trinn
Trådløs Arduino -robot som bruker HC12 trådløs modul: Hei folkens, velkommen tilbake. I mitt forrige innlegg forklarte jeg hva en H Bridge Circuit er, L293D motordriver IC, piggybacking L293D Motordriver IC for å kjøre motorer med høy strøm og hvordan du kan designe og lage ditt eget L293D motorførerkort
Stor fleksibel gjennomsiktig LED -matrise under $ 150. Enkel å lage. 8 trinn (med bilder)
Stor fleksibel gjennomsiktig LED -matrise under $ 150. Lett å lage .: Jeg vil begynne med å si at jeg ikke er profesjonell, jeg har ingen grader innen elektronikk. Jeg liker bare å jobbe med hendene og finne ut ting. Jeg sier det for å være oppmuntrende for alle dere profesjonelle som meg. Du har evnen til å
Fleksibel bærbar datamaskin: 5 trinn (med bilder)
Fleksibel bærbar datamaskin: Dette var et raskt lite prosjekt jeg gjorde for å holde design- og prototypeferdighetene skarpe og dele noe som ikke er under NDA eller i ferd med å bli lisensiert til noen. Jeg sender det til pro tips -utfordringen, og dette er virkelig en guide til
Hack en trådløs dørklokke til en trådløs alarmbryter eller av/på -bryter: 4 trinn
Hack en trådløs dørklokke til en trådløs alarmbryter eller på/av -bryter: Jeg har nylig bygget et alarmsystem og installert det i huset mitt. Jeg brukte magnetiske brytere på dørene og koblet dem gjennom loftet. Vinduene var en annen historie, og harde ledninger var ikke et alternativ. Jeg trengte en trådløs løsning, og dette er