Агуулгын хүснэгт:

Соронзон уян хатан гартай нарны утасгүй дэнлүү: 8 алхам (зурагтай)
Соронзон уян хатан гартай нарны утасгүй дэнлүү: 8 алхам (зурагтай)

Видео: Соронзон уян хатан гартай нарны утасгүй дэнлүү: 8 алхам (зурагтай)

Видео: Соронзон уян хатан гартай нарны утасгүй дэнлүү: 8 алхам (зурагтай)
Видео: EARTH 1996: AMALGAM UNIVERSE (DC Multiverse Origins) 2024, Долдугаар сарын
Anonim
Соронзон уян хатан гартай нарны утасгүй дэнлүү
Соронзон уян хатан гартай нарны утасгүй дэнлүү
Соронзон уян хатан гартай нарны утасгүй дэнлүү
Соронзон уян хатан гартай нарны утасгүй дэнлүү

Энэхүү төслийг эвдэрсэн чийдэн ба nodeMCU -аар хийсэн болно. Энэхүү гоёл чимэглэлийн чийдэнг ямар ч чиглэлд тохируулж, соронзон материал дээр бэхлэх эсвэл ширээн дээр тавих боломжтой. Үүнийг дараах хоёр горимоор хянах боломжтой.

- Утасгүй удирдлагын горим, доорх YouTube холбоосоор:

- Интерактив хяналтын горим, доорх YouTube холбоосоор:

Алхам 1: ТӨЛБӨРИЙН ТӨСӨЛ

B. O. M жагсаалт:

Зураг
Зураг

Интерактив горимын хувьд би MPU6050 ашиглан NodeMCU -аас гиро өгөгдөл авахын тулд чийдэнгийн өнгийг хянадаг.

Энэхүү төслийн материалын зураг:

Зураг
Зураг

Алхам 2: ЦИРХ

ХҮРГЭЛ
ХҮРГЭЛ

Дээрх Fritzing схемийн дагуу 1 энгийн RGB Led анод, гурван хязгаартай гүйдэл эсэргүүцэл R100 ба MPU6050 бүхий маш энгийн хэлхээ юм.

Цацруулагчийг ямар ч эвдэрсэн чийдэнгээс ашиглаж, nodeMCU баазад 2 боолтоор холбож эсвэл хүчтэй цавуугаар наа.

Суурилуулах ажил:

Зураг
Зураг
Зураг
Зураг

Доорх схем:

Зураг
Зураг

Алхам 3: Соронзон бааз - уян хатан гар

Соронзон бааз - уян хатан гар
Соронзон бааз - уян хатан гар

Уян хатан усны цоргыг эвдсэн уян хатан гарыг дахин ашиглах боломжтой. Түүнтэй адил зүйл:

Зураг
Зураг

Зарим зөвлөмжийн дагуу бид тэдгээрийг уян хатан гарын доод хэсэгт байрлах байнгын соронзон сууринд холбохыг хичээдэг. Дээрээс нь бид хэлхээний самбар, нарны/батерейны цэнэглэгчтэйгээ холбох өрөмдлөгийн цооног хийсэн бөгөөд энэ суурийн тусламжтайгаар бид ширээ, шал гэх мэт гадаргуу дээр чийдэн тавьж болно. эсвэл ган багана, ган хийц гэх мэт соронзон материал дээр бэхлэх боломжтой.

Алхам 4: SOLAR - ЗАЙ цэнэглэгч

SOLAR - Зайны цэнэглэгч
SOLAR - Зайны цэнэглэгч

Энэ нь эвдэрсэн цэнэглэгч чийдэнгээс ирсэн юм. Би nodeMCU -д асаах/унтраах унтраалга, тэжээлийн утас нийлүүлэв. Мөн нэг USB порт гаралт, зай цэнэглэгч нэг залгууртай.

Алхам 5: БҮГДИЙГ ХОЛБООТОЙ ХОЛБООТОЙ

БҮГДИЙГ ХОЛБООТОЙ ХОЛБООТОЙ
БҮГДИЙГ ХОЛБООТОЙ ХОЛБООТОЙ

Бүх эд ангиудыг холбодог: NodeMCU & тусгал, нарны зай, батерей, уян хатан гар.

ДУУСГАХ

Зураг
Зураг

Цэнэглэх горим

Зураг
Зураг

Алхам 6: ИНТЕРАКТИВ ХЯНАЛТЫН ХӨТӨЛБӨР

Бид уян хатан гараа тохируулах эсвэл дэнлүүгээ эргүүлэх үед өнгө өөрчлөгдөх болно.

Интерактив гэрэл

#оруулах
// MPU6050 боол төхөөрөмжийн хаяг
const uint8_t MPU6050SlaveAddress = 0x68;
// I2C холболтын хувьд SDA ба SCL тээглүүрийг сонгоно уу - NODEMCU дээрх WIRE LIBRARY: SCL - D1 & SDA - D2 дээр анхдагчаар залга.
// 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);
Ногоон = газрын зураг (Ay, 0, 16384, 0, 1023);
Цэнхэр = газрын зураг (Az, 0, 16384, 0, 1023);
// Шалгахын тулд цуваа хэвлэх
//Serial.print("Red: "); Цуваа.хэв (Улаан);
//Serial.print("Ногоон: "); Цуваа.хэв (Ногоон);
//Serial.print("Цэнхэр: "); Цуврал хэвлэх (Цэнхэр);
// LED -д аналог бичих
analogWrite (R, Улаан); // Р
analogWrite (G, Green); // Г.
analogWrite (B, Цэнхэр); // Б.
саатал (200);
}
хүчингүй I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t өгөгдөл) {
Утас.beginTransmission (төхөөрөмжийн хаяг);
Wire.write (regAddress);
Wire.write (өгөгдөл);
Wire.endTransmission ();
}
// Бүх 14 бүртгэлийг уншина уу
хүчингүй Read_RawValue (uint8_t deviceAddress, uint8_t regAddress) {
Утас.beginTransmission (төхөөрөмжийн хаяг);
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 (хөвөх) {
буцах (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 хаягийг цувралаар хэвлэх болно. Миний хувьд энэ нь: 80.1 порт дээр 192.164.1.39.

Зураг
Зураг

Одоо бид интернет Explorer дээр дээрх хаягийг оруулаад утасгүй чийдэнг зөөврийн компьютер/ таблет/ гар утсаар удирдах боломжтой боллоо.

Зураг
Зураг

Эсвэл Андройд апп ашиглан:

Зураг
Зураг

Алхам 8: ЗАРИМ ЗУРАГ

Зөвлөмж болгож буй: