תוכן עניינים:

מנורה אלחוטית ללא שמש עם זרוע מגנטית מגנטית: 8 שלבים (עם תמונות)
מנורה אלחוטית ללא שמש עם זרוע מגנטית מגנטית: 8 שלבים (עם תמונות)

וִידֵאוֹ: מנורה אלחוטית ללא שמש עם זרוע מגנטית מגנטית: 8 שלבים (עם תמונות)

וִידֵאוֹ: מנורה אלחוטית ללא שמש עם זרוע מגנטית מגנטית: 8 שלבים (עם תמונות)
וִידֵאוֹ: מטורף!!! צפו בתיעוד אליעזר ברלנד בהתפרצות חולי ואיבוד שליטה לעיני המצלמות 2024, יולי
Anonim
מנורה סולארית ללא שמש עם זרוע גמישה מגנטית
מנורה סולארית ללא שמש עם זרוע גמישה מגנטית
מנורה סולארית ללא שמש עם זרוע גמישה מגנטית
מנורה סולארית ללא שמש עם זרוע גמישה מגנטית

פרויקט זה נעשה ממנורה שבורה ומ- nodeMCU. ניתן להתאים מנורה דקורטיבית לכל כיוון ולהצמיד אותה לחומרים מגנטיים או לשים אותה על השולחן. ניתן לשלוט בשני מצבים כדלקמן:

- מצב שליטה אלחוטית, כקישור YouTube להלן:

- מצב שליטה אינטראקטיבי, כקישור YouTube להלן:

שלב 1: שטר חומרים

רשימת B. O. M:

תמונה
תמונה

עבור מצב אינטראקטיבי, אני משתמש ב- MPU6050 כדי לקבל נתוני ג'יירו מ- NodeMCU לשליטה בצבע המנורה.

תמונת חומרים לפרויקט זה:

תמונה
תמונה

שלב 2: מעגל

מעגל חשמלי
מעגל חשמלי

זהו מעגל פשוט מאוד, כמו סכמטי Fritzing לעיל, עם סוג ROD LED אחת RGB, שלושה נגדי זרם גבול R100 & MPU6050.

הרפלקטור משמש מכל מנורות שבורות ומחובר לבסיס nodeMCU על ידי 2 ברגים או הדבק אותם בעזרת דבק חזק.

עבודות התקנה:

תמונה
תמונה
תמונה
תמונה

סכמטי להלן:

תמונה
תמונה

שלב 3: בסיס מגנטי - זרוע גמישה

בסיס מגנטי - זרוע גמישה
בסיס מגנטי - זרוע גמישה

ניתן לעשות שימוש חוזר בזרוע גמישה מברזי מים גמישים שבורים. משהו כזה:

תמונה
תמונה

עם כמה טיפים, אנו מנסים לחבר אותם לבסיס המגנט הקבוע בתחתית הזרוע הגמישה. למעלה, יצרנו חור מקדחה לחיבור ללוח המעגלים ולמטען סולארי/סוללה. בעזרת בסיס זה, אנו יכולים לשים מנורה על משטח כמו שולחן, רצפות …; או שניתן לחבר אותו על חומרים מגנטיים כמו עמוד פלדה, מבנה פלדה.

שלב 4: סולאר - מטען סוללות

SOLAR - מטען סוללות
SOLAR - מטען סוללות

זה בא מנורת טעינה פגומה. הוספתי מתג הפעלה/כיבוי ואספקת חוטי חשמל ל- nodeMCU. יש לו גם שקע אחד ליציאת USB ותקע אחד למטען סוללות.

שלב 5: חבר את הכל ביחד

חבר את הכל ביחד
חבר את הכל ביחד

חיבור כל החלקים: NodeMCU ומשקף, תאים סולאריים וסוללות, זרוע גמישה יחד.

סיים

תמונה
תמונה

מצב טעינה

תמונה
תמונה

שלב 6: תוכנית בקרה אינטראקטיבית

הצבע ישתנה כאשר נתאים את הזרוע הגמישה או נסובב את המנורה.

מנורה אינטראקטיבית

#לִכלוֹל
// כתובת התקן MPU6050 Slave
const uint8_t MPU6050SlaveAddress = 0x68;
// בחר סיכות SDA ו- SCL לתקשורת I2C - ברירת מחדל של סיכה בספריית 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;
הגדרת בטל () {
pinMode (R, OUTPUT);
pinMode (G, OUTPUT);
pinMode (B, OUTPUT);
//Serial.begin(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);
// קנה מידה בטווח
אדום = מפה (Ax, 0, 16384, 0, 1023);
ירוק = מפה (איי, 0, 16384, 0, 1023);
כחול = מפה (Az, 0, 16384, 0, 1023);
// הדפסה סדרתית לבדיקה
//Serial.print("Red: "); Serial.print (אדום);
//Serial.print("גרין: "); Serial.print (ירוק);
//Serial.print("Blue: "); הדפסה סידורי (כחול);
// כתוב אנלוגי ל- LED
analogWrite (R, אדום); // ר
analogWrite (G, ירוק); // G
analogWrite (B, כחול); // ב
עיכוב (200);
}
void I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t data) {
Wire.beginTransmission (deviceAddress);
Wire.write (regAddress);
Wire.write (נתונים);
Wire.endTransmission ();
}
// קרא את כל 14 הרשמים
void 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); // set +/- 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) {
החזרה (ב)> 0? (ב):-(ב);
}

צפה בתכנית מנורה אינטראקטיבית המתארחת אצל ❤ על ידי GitHub

שלב 7: תוכנית בקרה אלחוטית ויישום אנדרואיד

תוכנית בקרת אלחוטית ויישום אנדרואיד
תוכנית בקרת אלחוטית ויישום אנדרואיד

דרך נוספת, אנו יכולים להשתמש באפליקציית Android לשליטה ב- RGB LED עם אנדרואיד ברשת WiFi. קישור אפליקציית אנדרואיד: אפליקציית LED RGB LED NODEMCU

לתוכנית Arduino, אתה יכול להתייחס ל:

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

לאחר העלאת התוכנית ל- NodeMCU, ההרצה הראשונה תיתן לנו את כתובת ה- IP של NodeMCU בהדפסה טורית. במקרה שלי, הוא: 192.164.1.39 ביציאה 80.

תמונה
תמונה

כעת, אנו יכולים לשלוט במנורה אלחוטית עם מחשב נייד/ טאבלט/ טלפון נייד על ידי הזנת כתובת למעלה ב- Internet Explorer.

תמונה
תמונה

או באמצעות אפליקציית Android:

תמונה
תמונה

שלב 8: כמה תמונות

מוּמלָץ: