Мазмуну:

Магниттик ийкемдүү колу бар күнсүз зымсыз чырак: 8 кадам (сүрөттөр менен)
Магниттик ийкемдүү колу бар күнсүз зымсыз чырак: 8 кадам (сүрөттөр менен)

Video: Магниттик ийкемдүү колу бар күнсүз зымсыз чырак: 8 кадам (сүрөттөр менен)

Video: Магниттик ийкемдүү колу бар күнсүз зымсыз чырак: 8 кадам (сүрөттөр менен)
Video: Элнар Дайыр - СУУНУН БОЮНДА 2024, Июль
Anonim
Магниттик ийкемдүү колу бар күнсүз зымсыз лампа
Магниттик ийкемдүү колу бар күнсүз зымсыз лампа
Магниттик ийкемдүү колу бар күнсүз зымсыз лампа
Магниттик ийкемдүү колу бар күнсүз зымсыз лампа

Бул долбоор сынган чырактан жана nodeMCUдан жасалган. Бул кооздук чыракты каалаган жакка туураласа болот & магниттик материалдарга тиркелет же столго койсо болот. Аны төмөнкүдөй эки режимде башкарса болот:

- Зымсыз башкаруу режими, төмөнкү YouTube шилтемеси катары:

- Интерактивдүү башкаруу режими, төмөнкү YouTube шилтемеси катары:

1 -кадам: БИЛЛИН МАТЕРИАЛДАР

B. O. M тизмеси:

Сүрөт
Сүрөт

Интерактивдүү режим үчүн мен MPU6050 колдонуп, лампанын түсүн көзөмөлдөө үчүн NodeMCUдан гиро маалыматтарды алам.

Бул долбоордун материалдык сүрөтү:

Сүрөт
Сүрөт

2 -кадам: CIRCUIT

ЦИРКУТ
ЦИРКУТ

Бул өтө жөнөкөй схема, 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 казыктарын тандаңыз - WIDRE LIBRARYде демейки PIN: 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 бир нече конфигурация реестринин даректери
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, Температура, 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 (Blue);
// LEDге аналог жазыңыз
analogWrite (R, Red); // Р
analogWrite (G, Green); // Г.
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); // толук масштаб +/- 2г
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 PROGRAMын караңыз

7 -кадам: Зымсыз көзөмөлдөө программасы жана андроид колдонмосу

Зымсыз көзөмөлдөө программасы жана андроид колдонмосу
Зымсыз көзөмөлдөө программасы жана андроид колдонмосу

Башка жол, биз WiFi тармагындагы Android менен RGB LEDди башкаруу үчүн Android колдонмосун колдоно алабыз. Android колдонмосуна шилтеме: NODEMCU башкаруу RGB LED APP

Arduino программасы үчүн, сиз кайрылсаңыз болот:

microcontrollerkits.blogspot.com/2016/05/es…

Программаны NodeMCUго жүктөгөндөн кийин, биринчи иштетүү бизге NodeMCUнун IP дарегин сериялык басып чыгарууда берет. Менин учурда, бул: 192.164.1.39 порт 80.

Сүрөт
Сүрөт

Эми биз зымсыз лампаны ноутбук/ планшет/ уюлдук телефон менен жогорудагы даректи Internet Explorerге киргизип башкара алабыз.

Сүрөт
Сүрөт

Же Android колдонмосун колдонуу:

Сүрөт
Сүрөт

8 -кадам: КЭЭР СУРОТТОР

Сунушталууда: