Мазмұны:

МАГНИТТІК ИІМДІ ҚОЛҚАСЫ бар СОЛАРСЫЗ САМАР: 8 қадам (суреттермен)
МАГНИТТІК ИІМДІ ҚОЛҚАСЫ бар СОЛАРСЫЗ САМАР: 8 қадам (суреттермен)

Бейне: МАГНИТТІК ИІМДІ ҚОЛҚАСЫ бар СОЛАРСЫЗ САМАР: 8 қадам (суреттермен)

Бейне: МАГНИТТІК ИІМДІ ҚОЛҚАСЫ бар СОЛАРСЫЗ САМАР: 8 қадам (суреттермен)
Бейне: Максвел теңдеулерінің жүйесі Токтың магниттік энергиясы Пойнтинг векторы 2024, Шілде
Anonim
МАГНЕТТІК ИІМДІ ҚОЛҚАСЫ бар СОЛАРСЫЗ САМАР
МАГНЕТТІК ИІМДІ ҚОЛҚАСЫ бар СОЛАРСЫЗ САМАР
МАГНЕТТІК ИІМДІ ҚОЛҚАСЫ бар СОЛАРСЫЗ САМАР
МАГНЕТТІК ИІМДІ ҚОЛҚАСЫ бар СОЛАРСЫЗ САМАР

Бұл жоба сынған шам мен 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 -қадам: КЕЙІП СУРЕТТЕР

Ұсынылған: