
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51


Бұл жоба сынған шам мен nodeMCU -дан жасалған. Бұл сәндік шамды кез келген бағытта реттеуге болады және оны магниттік материалдарға бекітуге немесе үстелге қоюға болады. Оны екі режимде басқаруға болады:
- Сымсыз басқару режимі, төмендегі YouTube сілтемесі ретінде:
- Интерактивті басқару режимі, төмендегі YouTube сілтемесі ретінде:
1 -қадам: БИЛЛИНДІК БИЛЛИ
B. O. M тізімі:

Интерактивті режимде мен MPU6050 көмегімен шамның түсін басқару үшін NodeMCU -дан гироскопиялық мәліметтерді алу үшін қолданамын.
Бұл жобаның суреттері:

2 -қадам: ЦИРКУИТ

Бұл өте қарапайым схема, жоғарыда Fritzing схемасы бойынша, 1 RGB Led жалпы анодты түрі, R100 және MPU6050 үш шектік ток резисторы.
Рефлектор кез келген сынған лампалардан қолданылады және nodeMCU негізіне 2 болтпен қосылады немесе оларды берік желіммен жабыстырады.
Орнату жұмыстары:


Төмендегі схема:

3 -қадам: магнит негізі - икемді қол

Иілгіш қолды сынған икемді су шүмектерінен қайта қолдануға болады. Мұндай нәрсе:

Кейбір кеңестермен біз оларды иілгіш қолдың түбіндегі тұрақты магнит негізіне қосуға тырысамыз. Жоғарғы жағында біз электр плитасына және күн батареясының зарядтау құрылғысына қосылатын бұрғылау тесігін жасадық. Бұл негізде біз үстелге, еденге ұқсас шамды қоюға болады. немесе оны болат тірек, болат құрылымы сияқты магниттік материалдарға бекітуге болады.
4 -қадам: Күн батареясы - аккумулятор

Ол зақымдалған зарядтау шамынан шыққан. Мен nodeMCU -ге қосу/өшіру қосқышы мен қуат сымдарын қостым. Сондай -ақ, оның бір USB порты мен батарея зарядтағышына арналған штепсель бар.
5 -қадам: БАРЛЫҒЫН БІРГЕ ҚОСУ

Барлық бөлшектерді қосу: NodeMCU & шағылыстырғыш, күн батареялары мен батарея элементтері, икемді қол.
АЯҚТАУ

ҚУАТТАУ РЕЖИМІ

6 -қадам: ИНТЕРАКТИВТІ БАҚЫЛАУ БАҒДАРЛАМАСЫ
Иілгіш қолды реттегенде немесе шамды айналдырғанда түс өзгереді.
ИНТЕРАКТИВТІ ШАМ
#қосу |
// MPU6050 Slave Device Address |
const uint8_t MPU6050SlaveAddress = 0x68; |
// I2C байланысы үшін SDA мен SCL түйреуіштерін таңдаңыз - WOD LIBRARY ішіндегі әдепкі түйреу: SCOD - 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 конфигурация регистрінің адрестері аз |
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_KK = 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, Температура, GyroX, GyroY, GyroZ; |
жарамсыз орнату () { |
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 Қызыл, Жасыл, Көк; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Абсолютті мәнді алыңыз |
Ax = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Ауқым бойынша масштаб |
Қызыл = карта (Ax, 0, 16384, 0, 1023); |
Жасыл = карта (Ай, 0, 16384, 0, 1023); |
Көк = карта (Az, 0, 16384, 0, 1023); |
// Тексеру үшін сериялық басып шығару |
//Serial.print("Қызыл: «); Serial.print (Қызыл); |
//Serial.print("Green: «); Serial.print (Жасыл); |
//Serial.print(«Көк:»); Serial.print (көк); |
// LED -ге аналогты жазу |
analogWrite (R, Қызыл); // Р |
analogWrite (G, Жасыл); // Г. |
analogWrite (B, Көк); // В. |
кешіктіру (200); |
} |
жарамсыз I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t деректері) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (деректер); |
Wire.endTransmission (); |
} |
// Барлық 14 регистрді оқу |
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 ()); |
Температура = (((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 конфигурациялаңыз |
жарамсыз MPU6050_Init () { |
кешіктіру (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); // +/- 250 градус/секунд толық шкала |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // толық масштабты +/- 2g |
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); |
} |
// Абсолюттік мән |
float myAbs (жүзу) { |
return (in)> 0? (in):-(in); |
} |
GitHub ❤ арқылы ұйымдастырылған rawINTERACTIVE LAMP БАҒДАРЛАМАСЫН қарау
7 -қадам: Сымсыз сымсыз басқару бағдарламасы мен андроидты қолдану

Басқа жолмен, біз Android қосымшасын WiFi желісінде Android көмегімен RGB LED басқару үшін пайдалана аламыз. Android қосымшасын байланыстырыңыз: NODEMCU басқаруындағы RGB LED қолданбасы
Arduino бағдарламасы үшін сіз мыналарға сілтеме жасай аласыз:
microcontrollerkits.blogspot.com/2016/05/es…
Бағдарламаны NodeMCU -ге жүктегеннен кейін, бірінші жүгіру бізге NodeMCU IP -мекен -жайын сериялық басып шығаруда береді. Менің жағдайда бұл: 192.164.1.39 80 портында.

Енді біз сымсыз шамды ноутбук/ планшет/ ұялы телефонмен басқара аламыз, жоғарыда мекенжайды Internet Explorer -ге енгізу арқылы.

Немесе Android қосымшасын пайдаланып:

8 -қадам: КЕЙІП СУРЕТТЕР
Ұсынылған:
Магниттік жарықдиодты алтыбұрыштар: 9 қадам (суреттермен)

Магнитті жарықдиодты алтыбұрыштар: менің «Жарықдиодты алтыбұрыштыға» қош келдіңіз. жарықтандыру жобасы, алтыбұрыштарды өзара байланыстыру. Жақында мен бұл жарықтандыру жобаларының нарыққа шығатын бірнеше нұсқасын көрдім, бірақ олардың бәріне ортақ бір нәрсе бар … бағасы. Мұнда әр алтыбұрыш
3 магниттік контурлы антеннаның реттегіші: 18 қадам (суреттермен)

Endstop қосқышы бар 3 магниттік циклдік антеннаның контроллері: Бұл жоба коммерциялық ансамблі жоқ әуесқойларға арналған. Дәнекерлегішпен, пластикалық корпуспен және arduino туралы аз ғана білімді құрастыру оңай. Контроллер бюджеттік компоненттерден тұрады, оны Интернеттен оңай табуға болады (~ 20 €)
Магниттік терминалы бар DIY әмбебап зарядтағыш: 5 қадам

Магниттік терминалдары бар DIY әмбебап зарядтағыш: Барлығына сәлем, бұл менің екінші нұсқаулығым, сондықтан сіздің пікіріңіз маған одан әрі жақсартуға көмектеседі. Басқа жобалар үшін менің YouTube каналыма кіріңіз. Бүгін мен сізге Magneti көмегімен әмбебап зарядтағышты қалай жасау керектігін көрсетемін
Картон, RGB шамдары мен сенсорлары бар DIY магниттік үстел хоккейі: 11 қадам (суреттермен)

Картон, RGB шамдары мен датчиктері бар DIY магниттік үстел хоккейі: Сіз әуе хоккейін ойнаған болуыңыз керек! Ойын аймағына бірнеше $$ доллар $$ төлеп, достарыңызды жеңу үшін гол соғуды бастаңыз. Бұл өте тәуелді емес пе? Сіз үйде бір үстел ұстауды ойлаған шығарсыз, бірақ эй! Сіз оны өзіңіз жасауды ойладыңыз ба? Біз
Магниттік қосқышы бар аккумуляторлық жарық диодты жолақ: 3 қадам

Магниттік қосқышы бар аккумуляторлық жарық диодты жолақ: Бұл нұсқаулықта 2 АА ұяшығынан жұмыс істейтін қарапайым жарықдиодты жолақ шығарылады және оны магниттік қамысты қосқышпен басқаруға болады, ол есік ашылған кезде қосылады. желдеткіш шкаф. Батарея c