فهرست مطالب:

چراغ بی سیم خورشیدی با بازوی قابل انعطاف مغناطیسی: 8 مرحله (همراه با تصاویر)
چراغ بی سیم خورشیدی با بازوی قابل انعطاف مغناطیسی: 8 مرحله (همراه با تصاویر)

تصویری: چراغ بی سیم خورشیدی با بازوی قابل انعطاف مغناطیسی: 8 مرحله (همراه با تصاویر)

تصویری: چراغ بی سیم خورشیدی با بازوی قابل انعطاف مغناطیسی: 8 مرحله (همراه با تصاویر)
تصویری: (دوربین مخفی) صحنه هایی که اگرضبط دوربین نمیشد کسی آنرا باور نمی کرد!! 2024, جولای
Anonim
لامپ بدون سیم خورشیدی با بازوی مغناطیسی قابل انعطاف
لامپ بدون سیم خورشیدی با بازوی مغناطیسی قابل انعطاف
لامپ بدون سیم خورشیدی با بازوی مغناطیسی قابل انعطاف
لامپ بدون سیم خورشیدی با بازوی مغناطیسی قابل انعطاف

این پروژه از یک لامپ شکسته و nodeMCU ساخته شده است. این چراغ تزئینی را می توان در هر جهت تنظیم کرد و روی مواد مغناطیسی متصل کرد یا روی میز گذاشت. می توان آن را در دو حالت به شرح زیر کنترل کرد:

- حالت کنترل بی سیم ، به عنوان پیوند YouTube زیر:

- حالت کنترل تعاملی ، به عنوان پیوند YouTube زیر:

مرحله 1: صورتحساب مواد

لیست B. O. M:

تصویر
تصویر

برای حالت تعاملی ، من از MPU6050 برای گرفتن اطلاعات ژیروسکوپ از NodeMCU برای کنترل رنگ لامپ استفاده می کنم.

تصویر متریال این پروژه:

تصویر
تصویر

مرحله 2: مدار

جریان
جریان

این مدار بسیار ساده است ، همانطور که در Fritzing شماتیک بالا آمده است ، با 1 نوع آند RGB Led معمولی ، سه مقاومت جریان محدود R100 و MPU6050.

بازتابنده از هر لامپ شکسته استفاده می شود و توسط 2 پیچ به پایه nodeMCU متصل می شود یا آنها را با چسب قوی می چسبانید.

کار نصب:

تصویر
تصویر
تصویر
تصویر

شماتیک زیر:

تصویر
تصویر

مرحله 3: MAGNETIC BASE - FLEXIBLE ARM

پایه مغناطیسی - بازوی انعطاف پذیر
پایه مغناطیسی - بازوی انعطاف پذیر

بازوی انعطاف پذیر را می توان از شیرهای آب انعطاف پذیر شکسته مجدداً استفاده کرد. یه چیزی شبیه اون:

تصویر
تصویر

با برخی نکات ، ما سعی می کنیم آنها را به پایه آهنربای دائمی در پایین بازوی انعطاف پذیر متصل کنیم. در بالا ، ما یک سوراخ مته برای اتصال به برد مدار و شارژر خورشیدی/باتری ایجاد کردیم. با این پایه ، می توانیم لامپ را روی سطح مانند میز ، کف … قرار دهیم. یا می توان آن را روی مواد مغناطیسی مانند ستون فولادی ، ساختار فولادی وصل کرد.

مرحله 4: SOLAR - شارژر باتری

SOLAR - شارژر باتری
SOLAR - شارژر باتری

از لامپ شارژ خراب ناشی می شود. سوئیچ روشن/خاموش و سیم برق را به nodeMCU اضافه کردم. همچنین دارای یک خروجی پورت USB و یک پلاگین برای شارژر باتری است.

مرحله 5: همه را با هم وصل کنید

همه را با هم وصل کنید
همه را با هم وصل کنید

اتصال همه قسمتها: NodeMCU و بازتابنده ، سلولهای خورشیدی و باتری ، بازوی انعطاف پذیر با هم.

به پایان برساند

تصویر
تصویر

حالت شارژ

تصویر
تصویر

مرحله 6: برنامه کنترل تعاملی

هنگامی که بازوی انعطاف پذیر را تنظیم می کنیم یا لامپ را می چرخانیم ، رنگ تغییر می کند.

لامپ تعاملی

#عبارتند از
// آدرس دستگاه بردگان MPU6050
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 ؛
void setup () {
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) ؛
// مقیاس در محدوده
قرمز = نقشه (تبر ، 0 ، 16384 ، 0 ، 1023) ؛
سبز = نقشه (Ay ، 0 ، 16384 ، 0 ، 1023) ؛
آبی = نقشه (آز ، 0 ، 16384 ، 0 ، 1023) ؛
// چاپ سریال برای بررسی
//Serial.print(" قرمز: ")؛ Serial.print (قرمز) ؛
//Serial.print("Green: ")؛ Serial.print (سبز) ؛
//Serial.print("Alue: ")؛ Serial.print (آبی) ؛
// آنالوگ به 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 ()؛
سیم. درخواست از (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
void 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) ؛ // مجموعه +/- 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؟ (در):-(در) ؛
}

مشاهده برنامه LAMP INTERACTIVE LAMP با ❤ توسط GitHub میزبانی شده است

مرحله 7: برنامه کنترل بی سیم و برنامه اندروید

برنامه کنترل بی سیم و برنامه اندروید
برنامه کنترل بی سیم و برنامه اندروید

راه دیگر ، ما می توانیم از برنامه Android برای کنترل LED RGB با Android در شبکه WiFi استفاده کنیم. پیوند برنامه Android: NODEMCU کنترل RGB LED APP

برای برنامه آردوینو ، می توانید به موارد زیر مراجعه کنید:

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

پس از بارگذاری برنامه در NodeMCU ، اولین اجرا آدرس IP NodeMCU را در هنگام چاپ سریال به ما می دهد. در مورد من ، این است: 192.164.1.39 در پورت 80.

تصویر
تصویر

اکنون ، می توانیم لامپ بی سیم را با لپ تاپ/ رایانه لوحی/ تلفن همراه با وارد کردن آدرس بالا در اینترنت اکسپلورر کنترل کنیم.

تصویر
تصویر

یا از برنامه Android استفاده کنید:

تصویر
تصویر

مرحله 8: برخی از تصاویر

توصیه شده: