Kazalo:
- Avtor John Day [email protected].
- Public 2024-01-30 12:07.
- Nazadnje spremenjeno 2025-01-23 15:09.
Ta projekt je bil narejen iz pokvarjene svetilke & nodeMCU. To dekorativno svetilko lahko nastavite v vseh smereh in jo pritrdite na magnetne materiale ali postavite na mizo. Upravljamo ga lahko v dveh načinih:
- Brezžični način upravljanja, kot je spodnja povezava YouTube:
- Interaktivni način upravljanja, kot je spodnja povezava YouTube:
1. korak: MATERIJAL
Seznam B. O. M:
Za interaktivni način uporabljam MPU6050 za pridobivanje žiroskopskih podatkov iz NodeMCU za nadzor barve svetilke.
Slika materiala za ta projekt:
2. korak: VEZEK
To je zelo preprosto vezje, kot je prikazano zgoraj na shemi Fritzing, z 1 običajno anodo tipa RGB Led, tremi upori za omejen tok R100 in MPU6050.
Odsevnik se uporablja iz polomljenih svetilk in je z osnovo nodeMCU povezan z 2 vijakoma ali pa ga zlepimo z močnim lepilom.
Montažna dela:
Shema spodaj:
3. korak: MAGNETNA PODLOGA - FLEKSIBILNA ARMA
Prilagodljivo roko lahko znova uporabite iz zlomljenih fleksibilnih pip za vodo. Nekaj takega:
Z nekaj nasveti jih poskušamo povezati s podnožjem trajnega magneta na dnu fleksibilne roke. Na vrhu smo naredili vrtalno luknjo za priključitev na tiskano vezje in solarni/polnilnik baterij. S to podlago lahko postavimo svetilko na površino, kot je miza, tla …; ali pa se lahko pritrdi na magnetne materiale, kot so jekleni steber, jeklena konstrukcija.
4. korak: SOLARNI - POLNILNIK BATERIJE
Prišel je iz poškodovane svetilke za polnjenje. NodeMCU sem dodal stikalo za vklop/izklop in napajanje žic. Ima tudi eno vtičnico USB in en vtič za polnilnik baterij.
5. korak: VZDRŽITE VSE SKUPAJ
Povezovanje vseh delov: NodeMCU in reflektor, sončne celice in baterije, prilagodljiva roka skupaj.
KONČAJ
NAČIN POLNJENJA
6. korak: PROGRAM ZA INTERAKTIVNO NADZOR
Barva se bo spremenila, ko prilagodimo fleksibilno roko ali zavrtimo svetilko.
INTERAKTIVNA SVETILKA
| #vključi |
| // Naslov podrejene naprave MPU6050 |
| const uint8_t MPU6050SlaveAddress = 0x68; |
| // Izberite nožice SDA in SCL za komunikacijo I2C - Privzeti pin v WIRE LIBRARY: SCL - D1 & SDA - D2 na NODEMCU |
| // const uint8_t SCL = D1; |
| // const uint8_t SDA = D2; |
| const int R = 14; |
| const int G = 12; |
| const int B = 13; |
| // MPU6050 nekaj naslovov 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 () { |
| uint16_t Axe, Ay, Az, T, Gx, Gy, Gz; |
| uint16_t Rdeča, zelena, modra; |
| Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
| // Vzemite absolutno vrednost |
| Ax = myAbs (AccelX); |
| Ay = myAbs (AccelY); |
| Az = myAbs (AccelZ); |
| // Merilo v dosegu |
| Rdeča = zemljevid (Axe, 0, 16384, 0, 1023); |
| Zelena = zemljevid (Ay, 0, 16384, 0, 1023); |
| Modra = zemljevid (Az, 0, 16384, 0, 1023); |
| // Serijski tisk za preverjanje |
| //Serial.print("Rdeča: "); Serial.print (rdeča); |
| //Serial.print(" Green: "); Serial.print (zelena); |
| //Serial.print("Blue: "); Serial.print (modra); |
| // Zapis analognega v LED |
| analogWrite (R, rdeča); // R |
| analogWrite (G, zelena); // G |
| analogWrite (B, modra); // B |
| zamuda (200); |
| } |
| void I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) { |
| Wire.beginTransmission (deviceAddress); |
| Wire.write (regAddress); |
| Wire.write (podatki); |
| Wire.endTransmission (); |
| } |
| // Preberite vseh 14 registrov |
| 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 ()); |
| } |
| // Konfigurirajte MPU6050 |
| void MPU6050_Init () { |
| zamuda (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); // nastavi +/- 250 stopinj/sekundo po celotni lestvici |
| I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // nastavi +/- 2g polnega obsega |
| 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); |
| } |
| // Absolutna vrednost |
| float myAbs (float in) { |
| return (in)> 0? (in):-(in); |
| } |
Oglejte si rawINTERAKTIVNI LAMP PROGRAM, ki ga gosti ❤ GitHub
7. korak: PROGRAM ZA BREZŽIČNI NADZOR IN UPORABA ANDROID
Drug način je, da lahko z aplikacijo Android upravljamo LED RGB z Androidom v omrežju WiFi. Povežite aplikacijo za Android: NODEMCU nadzorna aplikacija RGB LED
Za program Arduino se lahko obrnete na:
microcontrollerkits.blogspot.com/2016/05/es…
Po nalaganju programa v NodeMCU nam bo prvi zagon dal naslov IP NodeMCU pri serijskem tiskanju. V mojem primeru je: 192.164.1.39 na vratih 80.
Zdaj lahko upravljamo brezžično svetilko s prenosnikom/ tabličnim računalnikom/ mobilnim telefonom tako, da vnesemo naslov zgoraj v Internet Explorer.
Ali pa uporabite aplikacijo za Android:
8. korak: NEKE SLIKE
Priporočena:
Krmilnik za 3 antene z magnetno zanko s stikalom za zaustavitev: 18 korakov (s slikami)
Krmilnik za 3 antene z magnetno zanko s stikalom za zaustavitev: Ta projekt je namenjen ljubiteljem šunke, ki nimajo komercialnega. S spajkalnikom, plastičnim ohišjem in malo znanja o arduinu je enostavno zgraditi. Krmilnik je izdelan iz proračunskih komponent, ki jih lahko preprosto najdete v internetu (~ 20 €).
ZDRAVLJENO!: Utripajoča žarnica za noč čarovnic: 5 korakov (s slikami)
ZDRAVLJENO !: Utripajoča žarnica za noč čarovnic: čas je, da prestrašite svoje prijatelje. V tem projektu vam bom pokazal, kako sem " hakiral " navadna LED žarnica. Tako bo utripal kot luči v vsaki grozljivki, ko se bo zgodilo kaj slabega. To je precej preprosta zgradba, če
Vodno črpalka z magnetno sklopko: 10 korakov (s slikami)
Vodno črpalka z magnetno sklopom: V tem NAVODILU bom razložil, kako sem naredil vodno črpalko z magnetno sklopko.V tej vodni črpalki ni mehanske povezave med tekačem in osjo elektromotorja, zaradi česar deluje. Kako pa je to doseženo in
Magnetno pametno zaklepanje s tajnim trkanjem, IR senzorjem in spletno aplikacijo: 7 korakov (s slikami)
Magnetno pametno zaklepanje s tajnim trkanjem, IR senzorjem in spletno aplikacijo: Če vam je všeč ta projekt, me spremljajte na Instagramu in YouTube. V tem projektu bom zgradil magnetno ključavnico za svojo domačo pisarno, ki se odpre, če poznate skrivni trk. Oh… in v rokavu bo še nekaj trikov
Gumica za tablo z magnetno miško: 5 korakov (s slikami)
Magnetna radirka za tablo z miško: brisalci za tablo so bolečina! Če se nekako ne prilepijo na desko, je neizogibno, da jih izgubite ali pa se bo kdo odpravil z njimi. Ta je narejena iz stare miške z magnetom, ki jo drži za desko. Na dnu je madež o
