
תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-23 14:46


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

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

שלב 2: מעגל

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


סכמטי להלן:

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

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

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

זה בא מנורת טעינה פגומה. הוספתי מתג הפעלה/כיבוי ואספקת חוטי חשמל ל- 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: כמה תמונות
מוּמלָץ:
מתנפח זרוע מתנפח זרוע מתנפח על ידי שולחן עבודה: 4 שלבים (עם תמונות)

שולחן עבודה Wacky Wave מתנפח זרוע מתנפח Tube Man: תמיד רציתי לבנות מחשב שולחני בגודל "Wacky Wave מתנפח זרוע מתנפח", הידוע גם בשם איש Tube, הידוע גם בשם Skydancer, רקדן אוויר … פרויקט זה התחיל בחזרה בשנת 2013, הצגתי את האב טיפוס הגס הראשון שנעשה
כיצד להכין זרוע רובוטית אלחוטית באמצעות כדורי איירסופט: 9 שלבים

איך להכין זרוע רובוטית אלחוטית עם כדורי איירסופט: היי חברים במדריך זה אני אראה לכם איך להכין זרוע רובוט אלחוטית שיכולה להתנדנד, לנוע למעלה ולמטה ולירות כדורי איירסופט בעזרת השליטה בשלט רחוק אלחוטי
כיצד להרכיב זרוע רובוט מעצימה (חלק 3: זרוע רובוט) - מבוססת על המיקרו: BITN: 8 שלבים

כיצד להרכיב זרוע רובוט מעצימה (חלק 3: זרוע רובוט) - מבוססת על המיקרו: BITN: תהליך ההתקנה הבא מבוסס על השלמת מצב המכשולים הימנעות. תהליך ההתקנה בחלק הקודם זהה לתהליך ההתקנה במצב מעקב אחר קווים. אז בואו נסתכל על הצורה הסופית של A
זרוע מצלמה מגנטית: 5 שלבים (עם תמונות)

זרוע מצלמה מגנטית: הכנתי את הר מצלמה מגנטית זו כדי לסייע לי ביצירת סרטוני Youtube שלי. זהו פרויקט קל לביצוע. קל למצוא את כל החלקים מאמזון ומחנות החומרה המקומית שלך
מצנן / מעמד למחשב נייד בעלות אפסית (ללא דבק, ללא קידוח, ללא אגוזים וברגים, ללא ברגים): 3 שלבים

מצנן / מעמד למחשב נייד בעלות אפסית (ללא דבק, ללא קידוח, ללא אגוזים וברגים, ללא ברגים): עדכון: אנא, בבקשה להצביע עבור אחרים שלי היכנסו לאתר www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ או אולי הצביעו לחבר הטוב שלי