Sadržaj:
- Korak 1: MATERIJAL
- Korak 2: KRUG
- Korak 3: MAGNETNA PODLOGA - FLEKSIBILNI RUK
- Korak 4: SUNČAN - PUNJAČ BATERIJE
- Korak 5: POVEZUJTE SVE ZAJEDNO
- Korak 6: INTERAKTIVNI PROGRAM KONTROLE
- Korak 7: BEŽIČNI PROGRAM ZA UPRAVLJANJE I ANDROIDNA PRIMJENA
- Korak 8: NEKE SLIKE
Video: SOLARNO BEŽIČNO SVJETLO S MAGNETSKOM FLEKSIBILNOM RUKOM: 8 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Ovaj je projekt napravljen od pokvarene lampe & nodeMCU. Ova ukrasna svjetiljka može se namjestiti u bilo kojem smjeru i pričvrstiti na magnetske materijale ili staviti na stol. Njime se može upravljati u dva načina na sljedeći način:
- Bežični način upravljanja, kao donja veza YouTube:
- Interaktivni način upravljanja, kao donja veza YouTube:
Korak 1: MATERIJAL
B. O. M lista:
Za interaktivni način rada koristim MPU6050 za dobivanje žiroskopskih podataka od NodeMCU za kontrolu boje žarulje.
Slike materijala za ovaj projekt:
Korak 2: KRUG
Ovo je vrlo jednostavan sklop, kao što je prikazano na gornjoj shemi Fritzinga, s 1 zajedničkom anodom tipa RGB Led, tri otpornika granične struje R100 i MPU6050.
Reflektor se koristi od bilo kojih slomljenih svjetiljki i povezan je s nodeMCU bazom pomoću 2 vijka ili ih zalijepi jakim ljepilom.
Instalacijski radovi:
Shema ispod:
Korak 3: MAGNETNA PODLOGA - FLEKSIBILNI RUK
Fleksibilna ruka može se ponovno koristiti iz slomljenih fleksibilnih slavina za vodu. Nešto kao to:
Pomoću nekoliko savjeta pokušavamo ih spojiti na bazu s permanentnim magnetom na dnu fleksibilne ruke. Na vrhu smo napravili izbušenu rupu za spajanje na našu ploču i solarni/punjač baterija. S ovom bazom možemo postaviti svjetiljku na površinu poput stola, podova….; ili se može pričvrstiti na magnetske materijale poput čeličnog stupa, čelične konstrukcije.
Korak 4: SUNČAN - PUNJAČ BATERIJE
Došao je iz oštećene žarulje za punjenje. Dodao sam prekidač za uključivanje/isključivanje i napajanje žica za napajanje na čvoru nodeMCU. Također ima jednu utičnicu za USB priključak i jedan utikač za punjač baterija.
Korak 5: POVEZUJTE SVE ZAJEDNO
Spajanje svih dijelova: NodeMCU i reflektor, solarne i baterijske ćelije, fleksibilna ruka zajedno.
ZAVRŠI
NAČIN PUNJENJA
Korak 6: INTERAKTIVNI PROGRAM KONTROLE
Boja će se promijeniti kada prilagodimo fleksibilnu ruku ili okrenemo svjetiljku.
INTERAKTIVNO SVJETLO
#uključi |
// MPU6050 Adresa slave uređaja |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Odaberite SDA i SCL pinove za I2C komunikaciju - Zadana postavka pin -a u ŽIČNOJ KNJIŽNICI: SCL - D1 & SDA - D2 na NODEMCU -u |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 nekoliko adresa registra konfiguracije |
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, Temperatura, 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 () {{100} {101} |
uint16_t Axe, Ay, Az, T, Gx, Gy, Gz; |
uint16_t Crvena, Zelena, Plava; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Uzmi apsolutnu vrijednost |
Ax = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Mjerilo u rasponu |
Crveno = karta (Sjekira, 0, 16384, 0, 1023); |
Zelena = karta (Ay, 0, 16384, 0, 1023); |
Plava = karta (Az, 0, 16384, 0, 1023); |
// Serijski ispis za provjeru |
//Serial.print("Red: "); Serijski.ispis (crveno); |
//Serial.print("Green: "); Serijski.ispis (zelena); |
//Serial.print("Plavi: "); Serijski.ispis (plava); |
// Zapisivanje analognog na LED |
analogWrite (R, crveno); // R |
analogWrite (G, zeleno); // G |
analogWrite (B, plavo); // B |
kašnjenje (200); |
} |
void I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t podaci) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (podaci); |
Wire.endTransmission (); |
} |
// Pročitajte svih 14 registara |
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 ()); |
Temperatura = (((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 ()); |
} |
// Konfiguriranje MPU6050 |
void MPU6050_Init () { |
kašnjenje (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); // postavljanje +/- 250 stupnjeva/sekundi pune ljestvice |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // postavite +/- 2g pune ljestvice |
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); |
} |
// Apsolutna vrijednost |
float myAbs (float in) { |
return (in)> 0? (in):-(in); |
} |
pogledajte rawINTERAKTIVNI PROGRAM LAMPI čiji je domaćin ❤ GitHub
Korak 7: BEŽIČNI PROGRAM ZA UPRAVLJANJE I ANDROIDNA PRIMJENA
Drugi način, možemo koristiti Android aplikaciju za kontrolu RGB LED -a s Androidom u WiFi mreži. Povežite Android aplikaciju: NODEMCU kontrola RGB LED APLIKACIJE
Za Arduino program možete se obratiti na:
microcontrollerkits.blogspot.com/2016/05/es…
Nakon učitavanja programa na NodeMCU, prvo pokretanje dat će nam IP adresu NodeMCU -a pri serijskom ispisu. U mom slučaju, to je: 192.164.1.39 na portu 80.
Sada možemo upravljati bežičnom lampom s prijenosnim računalom/ tabletom/ mobilnim telefonom unosom gore navedene adrese u Internet Explorer.
Ili pomoću aplikacije za Android:
Korak 8: NEKE SLIKE
Preporučeni:
Kako napraviti solarno punjivo svjetlo: 8 koraka
Kako napraviti solarno punjivo svjetlo:
Solarno svjetlo bez baterije ili solarno dnevno svjetlo Zašto ne?: 3 koraka
Solarno svjetlo bez baterije ili solarno dnevno svjetlo … Zašto ne ?: Dobro došli. Oprostite na engleskom Daylight? Solarni? Zašto? Danju imam malo tamnu sobu i moram upaliti svjetla tijekom upotrebe. Instalirajte sunčevu svjetlost danju i noću (1 soba): (u Čileu)-Solarna ploča 20w: 42 USD-Baterija: 15 USD-Solarna nastavak punjenja
Solarno ulično svjetlo: 3 koraka
Solarna ulična rasvjeta: Uvod Ovdje je ulična rasvjeta spremna za proizvodnju na solarni pogon. Testiran je u posljednje 4 godine kako bi se postigao optimalan vijek trajanja olovne baterije. Služio je kao ispitna klupa za mikro operacijski sustav jezgre AVR jezgre - zdravo
Kako napraviti solarno vrtno svjetlo: 3 koraka (sa slikama)
Kako napraviti solarno vrtno svjetlo: Ljudi, ovo je moj prvi samostalni projekt u instrukcijama ,,, nadam se da vam se sviđa
Solarno svjetlo putanje kamiona Tonka: 8 koraka (sa slikama)
Solarna LED svjetla putanje kamiona Tonka: Novi život za stare igračke! Oživite svoje stare kamione s igračkama pomoću LED svjetla za staze. Nikad se nisam htio rastati od svoje voljene Tonke, ali kao odrasla osoba postajalo je sve teže i teže opravdati čuvanje … do sada