Sisällysluettelo:
- Vaihe 1: MATERIAALILUETTELO
- Vaihe 2: VIRTA
- Vaihe 3: MAGNETIC BASE - JOUSTAVA ARM
- Vaihe 4: AURINKO - AKKULATURI
- Vaihe 5: KYTKE KAIKKI YHDESSÄ
- Vaihe 6: INTERAKTIIVINEN OHJAUSOHJELMA
- Vaihe 7: LANGATON OHJAUSOHJELMA JA ANDROID -SOVELLUS
- Vaihe 8: Jotkut KUVAT
Video: AURINKOINEN LANGATON LAMPPU MAGNEETTISELLA JOUSTAVALLA: 8 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tämä projekti tehtiin rikkinäisestä lampusta ja nodeMCU: sta. Tätä koristelamppua voidaan säätää mihin tahansa suuntaan ja kiinnittää magneettisiin materiaaleihin tai asettaa pöydälle. Sitä voidaan ohjata kahdella tavalla seuraavasti:
- Langaton ohjaustila, kuten alla oleva YouTube -linkki:
- Interaktiivinen ohjaustila, kuten alla oleva YouTube -linkki:
Vaihe 1: MATERIAALILUETTELO
B. O. M -lista:
Vuorovaikutteisessa tilassa käytän MPU6050: tä saadakseni gyro -tietoja NodeMCU: sta lampun värin hallitsemiseksi.
Materiaalikuva tälle projektille:
Vaihe 2: VIRTA
Tämä on hyvin yksinkertainen piiri, kuten yllä olevassa Fritzing -kaaviossa, yhdellä RGB -yleisellä anodityypillä, kolmella rajavirran vastuksella R100 ja MPU6050.
Heijastinta käytetään kaikista rikkoutuneista lampuista ja se on kytketty nodeMCU -pohjaan 2 pultilla tai kiinnitä ne vahvalla liimalla.
Asennustyöt:
Alla oleva kaavio:
Vaihe 3: MAGNETIC BASE - JOUSTAVA ARM
Joustava varsi voidaan käyttää uudelleen rikkoutuneista joustavista vesihanoista. Jotain sellaista:
Joidenkin vinkkien avulla yritämme yhdistää ne joustavan varren alaosassa olevaan kestomagneettipohjaan. Lisäksi teimme porausreiän piirilevyyn ja aurinko-/akkulaturiin liittämistä varten. Tämän pohjan avulla voimme laittaa lampun pintaan, kuten pöydälle, lattialle…; tai se voidaan kiinnittää magneettisiin materiaaleihin, kuten teräspylvääseen, teräsrakenteeseen.
Vaihe 4: AURINKO - AKKULATURI
Se tuli vahingoittuneesta latauslampusta. Lisäsin on/off -kytkimen ja virtajohtojen syötön nodeMCU: hon. Siinä on myös yksi USB -portti ja yksi pistoke akkulaturia varten.
Vaihe 5: KYTKE KAIKKI YHDESSÄ
Kaikkien osien liittäminen: NodeMCU ja heijastin, aurinko- ja akkukennot, joustava varsi yhdessä.
VIEDÄ LOPPUUN
LATUSTILA
Vaihe 6: INTERAKTIIVINEN OHJAUSOHJELMA
Väri muuttuu, kun säädetään joustavaa vartta tai käännetään lamppua.
INTERAKTIIVINEN LAMPPU
#sisältää |
// MPU6050 Slave Device Address |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Valitse SDA- ja SCL -nastat I2C -tiedonsiirtoa varten - PIN -oletus WIRE -KIRJASTO: SCL - D1 & SDA - D2 NODEMCUssa |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 muutama määritysrekisteriosoite |
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_FI = 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, lämpötila, GyroX, GyroY, GyroZ; |
void setup () { |
pinMode (R, OUTPUT); |
pinMode (G, OUTPUT); |
pinMode (B, OUTPUT); |
//Sarja.alku (9600); |
Wire.begin (SDA, SCL); |
MPU6050_Init (); |
} |
void loop () { |
uint16_t Axe, Ay, Az, T, Gx, Gy, Gz; |
uint16_t Punainen, vihreä, sininen; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Ota absoluuttinen arvo |
Axe = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Asteikko alueella |
Punainen = kartta (Axe, 0, 16384, 0, 1023); |
Vihreä = kartta (Ay, 0, 16384, 0, 1023); |
Sininen = kartta (Az, 0, 16384, 0, 1023); |
// Sarjatulostus tarkistettavaksi |
//Sarja.print ("Punainen: "); Sarjanjälki (punainen); |
//Sarja.print ("Vihreä: "); Sarjajälki (vihreä); |
//Sarja.print ("Sininen: "); Sarjanjälki (sininen); |
// Kirjoita analoginen LED -valolle |
analogWrite (R, punainen); // R. |
analogWrite (G, vihreä); // G |
analogWrite (B, sininen); // B |
viive (200); |
} |
void I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (data); |
Wire.endTransmission (); |
} |
// Lue kaikki 14 rekisteriä |
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 ()); |
Lämpötila = ((((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 ()); |
} |
// Määritä MPU6050 |
void MPU6050_Init () { |
viive (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); // aseta +/- 250 astetta/sekunti täysi asteikko |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // set +/- 2g full scale |
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); |
} |
// Absoluuttinen arvo |
float myAbs (float in) { |
paluu (sisään)> 0? (sisään):-(sisään); |
} |
katso raakaINTERAKTIIVINEN LAMPPU -OHJELMA, jonka isännöi GitHub ❤
Vaihe 7: LANGATON OHJAUSOHJELMA JA ANDROID -SOVELLUS
Toinen tapa, voimme käyttää Android -sovellusta hallita RGB -LEDiä Androidin kanssa WiFi -verkossa. Linkitä Android -sovellus: NODEMCU -ohjaus RGB LED APP
Arduino -ohjelmassa voit viitata:
microcontrollerkits.blogspot.com/2016/05/es…
Kun ohjelma on ladattu NodeMCU: hon, ensimmäinen suoritus antaa meille NodeMCU: n IP -osoitteen sarjatulosteessa. Minun tapauksessani se on: 192.164.1.39 portissa 80.
Nyt voimme ohjata langatonta lamppua kannettavalla tietokoneella/ tabletilla/ matkapuhelimella kirjoittamalla yllä olevan osoitteen Internet Exploreriin.
Tai käyttämällä Android -sovellusta:
Vaihe 8: Jotkut KUVAT
Suositeltava:
DIY kotitekoinen hieno lamppu: 5 vaihetta (kuvilla)
DIY Homemade Fancy Lamp: Olen opiskelija, joka parhaillaan opiskelee piirejä. Luokan aikana minulla oli idea käyttää hyvin yksinkertaista piiriä tehdäkseni käytännön projektin, joka oli suunniteltu peruskoulun oppilaille ja joka oli hauska, luova ja informatiivinen. Tämä projekti sisältää
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
Viidenkymmenen metrin kantaman langaton tukiasema TP -linkillä WN7200ND langaton USB -sovitin raspbian -venytyksellä: 6 vaihetta
Viidenkymmenen metrin kantaman langaton tukiasema, jossa on TP -linkki WN7200ND langaton USB -sovitin Raspbian Stretchillä: Raspberry Pi on loistava suojattujen langattomien tukiasemien luomiseen, mutta sillä ei ole hyvää kantamaa. Haluan jakaa miten se tehdäänMiksi haluan käyttää vadelmapiä reitittimen sijaan? T
Langaton Arduino-valoa vastaava LED-lamppu valoresistorin avulla: 4 vaihetta
Langaton Arduino-valoa vastaava LED-lamppu, jossa käytetään valoresistoria: Tässä ohjeessa kuvataan vaiheet, jotka ovat välttämättömiä alkeellisen langattoman valoa tunnistavan LED-lampun rakentamiseksi Arduino Unoja ja valovastuksen avulla. Mahdollinen sovellus tälle laitteelle voisi olla keinotekoinen valaistus huoneeseen, jossa ei ole ikkunoita
AURINKOINEN VESILÄMMITIN Sadepäivän ohitus: 11 vaihetta
SOLAR WATER-HEATER Sateisen päivän ohitus: Etelä-Afrikassa valtion omistama Electricity Corporation on nimeltään EISHKOM. Meillä on nyt uusi ilmaisu STATE CAPTURE. En ole poliitikko, mutta ymmärrän sen, että maksamalla oikeat lahjukset tämä on nyt täysin