جدول المحتويات:

مصباح لاسلكي بالطاقة الشمسية مع ذراع مغناطيسي مرن: 8 خطوات (بالصور)
مصباح لاسلكي بالطاقة الشمسية مع ذراع مغناطيسي مرن: 8 خطوات (بالصور)

فيديو: مصباح لاسلكي بالطاقة الشمسية مع ذراع مغناطيسي مرن: 8 خطوات (بالصور)

فيديو: مصباح لاسلكي بالطاقة الشمسية مع ذراع مغناطيسي مرن: 8 خطوات (بالصور)
فيديو: كيفية إصلاح المصباح الكهربائي المحترق! #shorts 2024, يوليو
Anonim
مصباح لاسلكي بالطاقة الشمسية مع ذراع مغناطيسي مرن
مصباح لاسلكي بالطاقة الشمسية مع ذراع مغناطيسي مرن
مصباح لاسلكي بالطاقة الشمسية مع ذراع مغناطيسي مرن
مصباح لاسلكي بالطاقة الشمسية مع ذراع مغناطيسي مرن

تم إنشاء هذا المشروع من مصباح مكسور و 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
برنامج التحكم اللاسلكي وتطبيق 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: بعض الصور

موصى به: