
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59


Šis projekts tika izgatavots no salauztas lampas un nodeMCU. Šo dekoratīvo lampu var regulēt jebkurā virzienā un piestiprināt pie magnētiskiem materiāliem vai novietot uz galda. To var kontrolēt divos režīmos:
- Bezvadu vadības režīms, kā YouTube saite zemāk:
- Interaktīvs vadības režīms, kā YouTube saite zemāk:
1. solis: MATERIĀLU BILSTS
B. O. M saraksts:

Interaktīvajā režīmā es izmantoju MPU6050, lai iegūtu žiroskopu datus no NodeMCU, lai kontrolētu lampas krāsu.
Materiālu attēls šim projektam:

2. darbība: Ķēde

Šī ir ļoti vienkārša shēma, kā aprakstīts iepriekš Fritzinga shēmā, ar 1 RGB Led parasto anoda tipu, trīs ierobežojošās strāvas rezistoriem R100 un MPU6050.
Atstarotājs tiek izmantots no salūzušām lampām un savienots ar nodalījuma MCU pamatni ar 2 skrūvēm vai pielīmējiet tās ar stipru līmi.
Uzstādīšanas darbi:


Shēma zemāk:

3. solis: MAGNĒTISKĀ BĀZE - Elastīga roka

Elastīgo roku var atkārtoti izmantot no salauztiem elastīgajiem ūdens krāniem. Kaut kas tamlīdzīgs:

Ar dažiem padomiem mēs cenšamies tos savienot ar pastāvīgā magnēta pamatni elastīgās rokas apakšā. Uz augšu mēs izveidojām urbumu savienošanai ar mūsu shēmas plati un saules/akumulatora lādētāju. Ar šo pamatni mēs varam novietot lampu uz virsmas, piemēram, galda, grīdas…; vai to var piestiprināt pie magnētiskiem materiāliem, piemēram, tērauda pīlāra, tērauda konstrukcijas.
4. solis: SAULE - AKUMULATORA LĀDĒTĀJS

Tas nāca no bojātas uzlādes lampas. Es pievienoju ieslēgšanas/izslēgšanas slēdzi un barošanas vadu padevi nodalījumam MCU. Tam ir arī viena USB porta kontaktligzda un viens kontaktdakša akumulatora lādētājam.
5. darbība: SAVIENOJIET VISU KOPĀ

Visu detaļu savienošana: NodeMCU un atstarotājs, saules baterijas un akumulatora elementi, elastīga roka kopā.
Pabeigt

LĀDĒŠANAS REŽĪMS

6. solis: INTERAKTĪVĀS KONTROLES PROGRAMMA
Krāsa tiks mainīta, pielāgojot elastīgo roku vai pagriežot lampu.
INTERAKTĪVĀ LAMPA
#iekļaut |
// MPU6050 Vergu ierīces adrese |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Atlasiet SDA un SCL tapas I2C komunikācijai - PIN noklusējums WIRE BIBLIOTĒKĀ: SCL - D1 & SDA - D2 NODEMCU |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 dažas konfigurācijas reģistra adreses |
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, Temperatūra, 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 Cirvis, Ay, Az, T, Gx, Gy, Gz; |
uint16_t sarkans, zaļš, zils; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Ņemiet absolūto vērtību |
Cirvis = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Mērogs diapazonā |
Sarkans = karte (Ax, 0, 16384, 0, 1023); |
Zaļa = karte (Ay, 0, 16384, 0, 1023); |
Zils = karte (Az, 0, 16384, 0, 1023); |
// Sērijas drukāšana, lai pārbaudītu |
//Sērijas.print ("Red: "); Sērijas nospiedums (sarkans); |
//Sērijas.print ("Green: "); Sērijas nospiedums (zaļš); |
//Sērijas.print ("Zila: "); Sērijas nospiedums (zils); |
// Ierakstiet analogo uz LED |
analogWrite (R, sarkans); R |
analogWrite (G, zaļš); // G |
analogWrite (B, zils); B |
kavēšanās (200); |
} |
void I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (dati); |
Wire.endTransmission (); |
} |
// Lasīt visus 14 reģistrus |
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 ()); |
Temperatūra = ((((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 ()); |
} |
// MPU6050 konfigurēšana |
void MPU6050_Init () { |
kavēšanās (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); // iestatīt +/- 250 grādi/sekundē pilna skala |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // iestatīt +/- 2g pilnā mērogā |
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); |
} |
// Absolūtā vērtība |
float myAbs (float in) { |
atgriešanās (in)> 0? (in):-(in); |
} |
apskatīt rawINTERACTIVE LAMP PROGRAMMU, kuru rīkoja GitHub ar ❤
7. solis: BEZVADA KONTROLES PROGRAMMA UN ANDROID PIETEIKUMS

Vēl viens veids, kā mēs varam izmantot Android lietotni, lai kontrolētu RGB LED ar Android WiFi tīklā. Android lietotnes saite: NODEMCU vadības RGB LED APP
Arduino programmai varat atsaukties uz:
microcontrollerkits.blogspot.com/2016/05/es…
Pēc programmas augšupielādes NodeMCU, pirmā palaišana sērijas drukāšanā sniegs mums NodeMCU IP adresi. Manā gadījumā tas ir: 192.164.1.39 80. ostā.

Tagad mēs varam vadīt bezvadu lampu ar klēpjdatoru/ planšetdatoru/ mobilo tālruni, ievadot interneta pārlūkprogrammā iepriekš norādīto adresi.

Vai izmantojot Android lietotni:

8. solis: DAŽAS BILDES
Ieteicams:
Birojs ar baterijām. Saules sistēma ar automātisku austrumu/rietumu saules paneļu un vēja turbīnas pārslēgšanu: 11 soļi (ar attēliem)

Birojs ar baterijām. Saules sistēma ar automātisku austrumu/rietumu saules paneļu un vēja turbīnas pārslēgšanu: Projekts: 200 kvadrātpēdas birojam jābūt darbināmam ar baterijām. Birojā jābūt arī visiem šai sistēmai nepieciešamajiem kontrolieriem, baterijām un komponentiem. Saules un vēja enerģija uzlādēs baterijas. Pastāv neliela problēma tikai
Kā izveidot bezvadu robotu roku ar Airsoft lodēm: 9 soļi

Kā izveidot bezvadu robotu roku ar Airsoft lodēm: Sveiki draugi, šajā pamācībā es parādīšu, kā izveidot bezvadu robota roku, kas var šūpoties, pārvietoties augšup un lejup un šaut airsoft lodes, izmantojot bezvadu tālvadības pulti
Pavirziet roku, lai kontrolētu OWI robotu roku Nav pievienotas virknes: 10 soļi (ar attēliem)

Pavirziet roku, lai kontrolētu OWI robotu roku … Nav pievienota virkne: IDEJA: vietnē Instructables.com (vismaz 2015. gada 13. maijā) ir vismaz vēl 4 projekti, kas saistīti ar OWI robotu rokas modificēšanu vai kontroli. Nav pārsteidzoši, jo tas ir tik lielisks un lēts robotu komplekts, ar kuru spēlēties. Šis projekts ir līdzīgs
Bojātu vai saplēstu elastīgu / elastīgu kabeļu remonts: 5 soļi

Bojātu vai saplēstu elastīgu / elastīgu kabeļu remonts: faktiskais kabeļa izmērs bija 3/8 collas plats
Bezvadu saules lādētājs: 5 soļi (ar attēliem)

Bezvadu saules lādētājs: katrs students zina, kā ir grūti atrast kontaktligzdu tālruņa uzlādēšanai. Šī mūsu ikdienas cīņa motivēja mūs atrast radošu risinājumu. Mēs vēlējāmies izveidot uzlādes ierīci, kurai nekādā gadījumā nebija nepieciešama kontaktligzda, kā arī