Სარჩევი:

მზის უკაბელო ნათურა მაგნიტური მოქნილი მკლავით: 8 ნაბიჯი (სურათებით)
მზის უკაბელო ნათურა მაგნიტური მოქნილი მკლავით: 8 ნაბიჯი (სურათებით)

ვიდეო: მზის უკაბელო ნათურა მაგნიტური მოქნილი მკლავით: 8 ნაბიჯი (სურათებით)

ვიდეო: მზის უკაბელო ნათურა მაგნიტური მოქნილი მკლავით: 8 ნაბიჯი (სურათებით)
ვიდეო: შესაძლებელია თუ არა ულიმიტო ენერგიის მიღება shesadzlebelia tu ara ulimito energiis migeba 2024, ივლისი
Anonim
მზის უკაბელო ნათურა მაგნიტური მოქნილი მკლავით
მზის უკაბელო ნათურა მაგნიტური მოქნილი მკლავით
მზის უკაბელო ნათურა მაგნიტური მოქნილი მკლავით
მზის უკაბელო ნათურა მაგნიტური მოქნილი მკლავით

ეს პროექტი გაკეთდა გატეხილი ნათურისა და nodeMCU– სგან. ეს დეკორატიული ნათურა შეიძლება მორგებული იყოს ნებისმიერი მიმართულებით და მიმაგრდეს მაგნიტურ მასალებზე ან დადოთ მაგიდაზე. მისი კონტროლი შესაძლებელია ორ რეჟიმში შემდეგნაირად:

- უკაბელო კონტროლის რეჟიმი, როგორც YouTube ბმული ქვემოთ:

- ინტერაქტიული კონტროლის რეჟიმი, როგორც YouTube ბმული ქვემოთ:

ნაბიჯი 1: მასალების ანგარიში

B. O. M სია:

გამოსახულება
გამოსახულება

ინტერაქტიული რეჟიმისთვის, მე ვიყენებ MPU6050– ს, რომ მივიღო გირო მონაცემები NodeMCU– დან ნათურის ფერის გასაკონტროლებლად.

მასალები ამ პროექტისთვის:

გამოსახულება
გამოსახულება

ნაბიჯი 2: წრე

წრე
წრე

ეს არის ძალიან მარტივი წრე, როგორც ზემოთ მოყვანილი სქემა, 1 RGB Led საერთო ანოდის ტიპით, სამი ლიმიტის დენის რეზისტორებით R100 & MPU6050.

რეფლექტორი გამოიყენება ნებისმიერი გატეხილი ნათურისგან და დაკავშირებულია nodeMCU ბაზასთან 2 ჭანჭიკით ან მიამაგრეთ ისინი ძლიერი წებოთი.

სამონტაჟო სამუშაოები:

გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება

სქემატური ქვემოთ:

გამოსახულება
გამოსახულება

ნაბიჯი 3: მაგნიტური ბაზა - მოქნილი იარაღი

მაგნიტური ბაზა - მოქნილი მკლავი
მაგნიტური ბაზა - მოქნილი მკლავი

მოქნილი მკლავი შეიძლება გამოყენებულ იქნას გატეხილი მოქნილი წყლის ონკანებიდან. Რაღაც მაგდაგვარი:

გამოსახულება
გამოსახულება

რამდენიმე რჩევით, ჩვენ ვცდილობთ დავაკავშიროთ ისინი მუდმივი მაგნიტის ბაზასთან მოქნილი მკლავის ბოლოში. თავზე, ჩვენ გავაკეთეთ საბურღი ხვრელი ჩვენს მიკროსქემთან და მზის/ბატარეის დამტენთან დასაკავშირებლად. ამ ბაზის საშუალებით შეგვიძლია ზედაპირზე დავდოთ ნათურა, როგორც მაგიდა, იატაკი….; ან ის შეიძლება დაერთოს მაგნიტურ მასალებს, როგორიცაა ფოლადის სვეტი, ფოლადის კონსტრუქცია.

ნაბიჯი 4: SOLAR - ბატარეის დამტენი

SOLAR - ბატარეის დამტენი
SOLAR - ბატარეის დამტენი

ის დაზიანებული დამტენი ნათურისგან მოვიდა. NodeMCU- ს დავამატე ჩართვის/გამორთვის შეცვლა და დენის მავთულის მიწოდება. მას ასევე აქვს ერთი USB პორტი და ერთი დანამატი ბატარეის დამტენისთვის.

ნაბიჯი 5: დაუკავშირდით ყველას ერთად

დაუკავშირდით ყველას ერთად
დაუკავშირდით ყველას ერთად

ყველა ნაწილის დაკავშირება: NodeMCU და ამრეკლი, მზის და ბატარეის უჯრედები, მოქნილი მკლავი ერთად.

დასრულება

გამოსახულება
გამოსახულება

დატენვის რეჟიმი

გამოსახულება
გამოსახულება

ნაბიჯი 6: ინტერაქტიული საკონტროლო პროგრამა

ფერი შეიცვლება მოქნილი ხელის მორგების ან ნათურის როტაციის დროს.

ინტერაქტიული ნათურა

#ჩართეთ
// MPU6050 მონა მოწყობილობის მისამართი
const uint8_t MPU6050SlaveAddress = 0x68;
// აირჩიეთ SDA და SCL ქინძისთავები I2C კომუნიკაციისთვის - ნაგულისხმევი Pin WIRE ბიბლიოთეკაში: 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;
void setup () {
pinMode (R, OUTPUT);
pinMode (G, OUTPUT);
pinMode (B, OUTPUT);
// სერიული.დაწყება (9600);
Wire.begin (SDA, SCL);
MPU6050_Init ();
}
ბათილი მარყუჟი () {
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);
// მასშტაბი დიაპაზონში
წითელი = რუკა (ცული, 0, 16384, 0, 1023);
მწვანე = რუკა (Ay, 0, 16384, 0, 1023);
ლურჯი = რუკა (Az, 0, 16384, 0, 1023);
// სერიული ბეჭდვა შესამოწმებლად
// სერიული. ბეჭდვა ("წითელი:"); სერიული. ბეჭდვა (წითელი);
//Serial.print(" მწვანე: "); Serial.print (მწვანე);
// სერიული. ბეჭდვა ("ცისფერი:"); Serial.print (ლურჯი);
// დაწერე ანალოგი LED- ზე
analogWrite (R, წითელი); // რ
analogWrite (G, მწვანე); // გ
analogWrite (B, ლურჯი); // ბ
დაგვიანება (200);
}
ბათილია I2C_Write (uint8_t მოწყობილობის მისამართი, uint8_t regAddress, uint8_t მონაცემები) {
Wire.beginTransmission (deviceAddress);
Wire.write (regAddress);
Wire.write (მონაცემები);
Wire.endTransmission ();
}
// წაიკითხეთ ყველა 14 რეგისტრი
ბათილია Read_RawValue (uint8_t მოწყობილობის მისამართი, uint8_t regAddress) {
Wire.beginTransmission (deviceAddress);
Wire.write (regAddress);
Wire.endTransmission ();
მავთული. მოთხოვნა (მოწყობილობიდან მისამართი, (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); // set +/- 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 (float in) {
დაბრუნება (in)> 0? (in):-(in);
}

ნედლეული INTERACTIVE LAMP პროგრამის ნახვა hosted ერთად GitHub

ნაბიჯი 7: უკაბელო კონტროლის პროგრამა და ანდროიდის აპლიკაცია

უკაბელო კონტროლის პროგრამა და ანდროიდის აპლიკაცია
უკაბელო კონტროლის პროგრამა და ანდროიდის აპლიკაცია

სხვა გზით, ჩვენ შეგვიძლია გამოვიყენოთ Android აპლიკაცია RGB LED– ის Android– ით WiFi ქსელში გასაკონტროლებლად. დააკავშირეთ Android აპლიკაცია: NODEMCU კონტროლის RGB LED აპლიკაცია

Arduino პროგრამისთვის შეგიძლიათ მიმართოთ:

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

NodeMCU– ზე პროგრამის ატვირთვის შემდეგ, პირველი გაშვება მოგვცემს NodeMCU– ს IP მისამართს სერიულ ბეჭდვაზე. ჩემს შემთხვევაში, ეს არის: 192.164.1.39 80 პორტში.

გამოსახულება
გამოსახულება

ახლა ჩვენ შეგვიძლია ვაკონტროლოთ უკაბელო ნათურა ლეპტოპით/ ტაბლეტით/ მობილური ტელეფონით, ზემოთ მოყვანილი მისამართის შეყვანისას Internet Explorer– ში.

გამოსახულება
გამოსახულება

ან Android პროგრამის გამოყენებით:

გამოსახულება
გამოსახულება

ნაბიჯი 8: ზოგიერთი სურათი

გირჩევთ: