
جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-23 12:54


تم إنشاء هذا المشروع من مصباح مكسور و nodeMCU. يمكن تعديل هذا المصباح الزخرفي في أي اتجاه وإرفاقه بمواد مغناطيسية أو وضعه على الطاولة. يمكن التحكم به في وضعين كالتالي:
- وضع التحكم اللاسلكي ، كرابط يوتيوب أدناه:
- وضع التحكم التفاعلي ، مثل رابط يوتيوب أدناه:
الخطوة 1: فاتورة المواد
قائمة B. O. M:

بالنسبة للوضع التفاعلي ، أستخدم MPU6050 للحصول على بيانات الدوران من NodeMCU للتحكم في لون المصباح.
صورة المواد لهذا المشروع:

الخطوة الثانية: الدائرة

هذه دائرة بسيطة للغاية ، مثل مخطط Fritzing أعلاه ، مع نوع أنود مشترك 1 RGB Led ، ثلاثة مقاومات تيار محدودة R100 و MPU6050.
يتم استخدام العاكس من أي مصابيح مكسورة ومتصلة بقاعدة nodeMCU بواسطة 2 براغي أو لصقها بغراء قوي.
أعمال التركيب:


التخطيطي أدناه:

الخطوة 3: قاعدة مغناطيسية - ذراع مرن

يمكن إعادة استخدام الذراع المرنة من صنابير المياه المرنة المكسورة. شئ مثل هذا:

مع بعض النصائح ، نحاول توصيلها بقاعدة المغناطيس الدائم في أسفل الذراع المرنة. في الأعلى ، قمنا بعمل ثقب للتوصيل بلوحة الدوائر وشاحن الطاقة الشمسية / البطارية لدينا. مع هذه القاعدة ، يمكننا وضع المصباح على السطح مثل الطاولة والأرضيات….؛ أو يمكن تركيبها على مواد مغناطيسية مثل العمود الفولاذي والهيكل الفولاذي.
الخطوة 4: الطاقة الشمسية - شاحن البطارية

لقد جاءت من مصباح شحن تالف. أضفت مفتاح تشغيل / إيقاف وإمداد أسلاك الطاقة إلى nodeMCU. كما أن لديها منفذ USB واحد وقابس واحد لشاحن البطارية.
الخطوة 5: ربط الكل معًا

ربط جميع الأجزاء: NodeMCU وعاكس ، خلايا شمسية وبطارية ، ذراع مرن معًا.
ينهي

وضع الشحن

الخطوة السادسة: برنامج التحكم التفاعلي
سيتم تغيير اللون عندما نضبط ذراعًا مرنًا أو ندير المصباح.
مصباح تفاعلي
#يشمل |
// MPU6050 عنوان الجهاز التابع |
const uint8_t MPU6050SlaveAddress = 0x68 ؛ |
// حدد دبابيس SDA و SCL لاتصالات I2C - دبوس افتراضي في WIRE LIBRARY: 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 ، درجة الحرارة ، الدوران ، الدوران ، الدوران ؛ |
الإعداد باطل() { |
pinMode (R ، الإخراج) ؛ |
pinMode (G ، الإخراج) ؛ |
pinMode (B ، الإخراج) ؛ |
//Serial.begin (9600) ، |
Wire.begin (SDA ، SCL) ؛ |
MPU6050_Init () ، |
} |
حلقة فارغة() { |
uint16_t الفأس ، Ay ، Az ، T ، Gx ، Gy ، Gz ؛ |
uint16_t أحمر ، أخضر ، أزرق ؛ |
Read_RawValue (MPU6050SlaveAddress، MPU6050_REGISTER_ACCEL_XOUT_H) ، |
// خذ القيمة المطلقة |
الفأس = myAbs (AccelX) ؛ |
Ay = myAbs (AccelY) ؛ |
Az = myAbs (AccelZ) ؛ |
// مقياس في النطاق |
أحمر = خريطة (فأس ، 0 ، 16384 ، 0 ، 1023) ؛ |
أخضر = خريطة (Ay ، 0 ، 16384 ، 0 ، 1023) ؛ |
أزرق = خريطة (Az، 0، 16384، 0، 1023) ؛ |
// المسلسل طباعة للتحقق |
//Serial.print("Red: ") ؛ Serial.print (أحمر) ؛ |
//Serial.print("Green: ")؛ Serial.print (أخضر) ؛ |
//Serial.print("Blue: ") ؛ Serial.print (أزرق) ؛ |
// اكتب التناظرية إلى LED |
analogWrite (R ، أحمر) ؛ // ص |
analogWrite (G ، الأخضر) ؛ // ز |
analogWrite (ب ، أزرق) ؛ // ب |
تأخير (200) ؛ |
} |
باطل I2C_Write (uint8_t deviceAddress، uint8_t regAddress، uint8_t data) { |
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 ()) ؛ |
الدوران = (((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 full scale |
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) ؛ |
} |
// قيمه مطلقه |
تعويم myAbs (تطفو في) { |
return (in)> 0؟ (in):-(in)؛ |
} |
عرض برنامج RawINTERACTIVE LAMP المستضاف مع ❤ بواسطة GitHub
الخطوة 7: برنامج التحكم اللاسلكي وتطبيق ANDROID

طريقة أخرى ، يمكننا استخدام تطبيق Android للتحكم في RGB LED باستخدام Android في شبكة WiFi. ربط تطبيق Android: تطبيق RGB LED للتحكم NODEMCU
بالنسبة لبرنامج Arduino ، يمكنك الرجوع إلى:
microcontrollerkits.blogspot.com/2016/05/es…
بعد تحميل البرنامج إلى NodeMCU ، سيعطينا التشغيل الأول عنوان IP الخاص بـ NodeMCU على الطباعة التسلسلية. في حالتي ، هو: 192.164.1.39 في المنفذ 80.

الآن ، يمكننا التحكم في المصباح اللاسلكي باستخدام الكمبيوتر المحمول / الكمبيوتر اللوحي / الهاتف المحمول عن طريق إدخال العنوان أعلاه في Internet Explorer.

أو باستخدام تطبيق Android:

الخطوة 8: بعض الصور
موصى به:
مصباح LED يعمل بالبطارية مع شحن بالطاقة الشمسية: 11 خطوة (بالصور)

ضوء (مصابيح) LED تعمل بالبطارية مع الشحن بالطاقة الشمسية: تعلم زوجتي الناس كيفية صنع الصابون ، وكانت معظم فصولها في المساء ، وهنا في الشتاء يحل الظلام حوالي الساعة 4:30 مساءً ، وكان بعض طلابها يواجهون صعوبة في العثور على منزل. كانت لدينا لافتة في الأمام ولكن حتى مع شريط شارع
مصباح LED خارجي يعمل بالطاقة الشمسية مدهش DIY: 9 خطوات

مصباح LED خارجي يعمل بالطاقة الشمسية مدهش DIY: مرحبًا! في هذا Instructable ، يمكنك تعلم كيفية بناء مصباح LED يعمل بالطاقة الشمسية رخيص وسهل! إنه يشحن بطارية أثناء النهار ويضيء مصباح COB LED ساطعًا جدًا في الليل! فقط اتبع الخطوات! يمكنك أن تفعل ذلك! إنه حقًا سهل وممتع
كيفية صنع مصباح حديقة بالطاقة الشمسية: 3 خطوات (بالصور)

كيفية صنع مصباح حديقة بالطاقة الشمسية: Hy guys هذا هو أول مشروع لدي في مجال التدريب ،،، آمل أن تنال إعجابكم
جرة مصباح LED بالطاقة الشمسية القس 1.5: 3 خطوات

جرة مصباح LED بالطاقة الشمسية Rev 1.5: بعد النظر في الموقع ، كنت مغرمًا حقًا ببعض مشاريع LED. (https://www.instructables.com/id/E3UXT5HGT7EUOJJIYE/؟relatedLink) لقد أحببت بشكل خاص مصباح LED للوعاء المصنفر بالإضافة إلى مشاريع زجاجة LED الزجاجية المسحوقة لذا فكرت
مصباح مسار الشاحنة LED Tonka بالطاقة الشمسية: 8 خطوات (بالصور)

ضوء مسار الشاحنة Tonka LED بالطاقة الشمسية: حياة جديدة للألعاب القديمة! أعد إحياء شاحنات لعبتك القديمة باستخدام مصابيح مسار LED. لم أرغب أبدًا في التخلي عن ثنية تفريغ Tonka الحبيبة ، لكن كشخص بالغ ، أصبح من الصعب جدًا تبرير الاحتفاظ … حتى الآن