সুচিপত্র:

ম্যাগনেটিক ফ্লেক্সিবল আর্মের সাথে সোলার ওয়্যারলেস ল্যাম্প: 8 টি ধাপ (ছবি সহ)
ম্যাগনেটিক ফ্লেক্সিবল আর্মের সাথে সোলার ওয়্যারলেস ল্যাম্প: 8 টি ধাপ (ছবি সহ)

ভিডিও: ম্যাগনেটিক ফ্লেক্সিবল আর্মের সাথে সোলার ওয়্যারলেস ল্যাম্প: 8 টি ধাপ (ছবি সহ)

ভিডিও: ম্যাগনেটিক ফ্লেক্সিবল আর্মের সাথে সোলার ওয়্যারলেস ল্যাম্প: 8 টি ধাপ (ছবি সহ)
ভিডিও: ম্যাগনেটিক কন্টাক্টর কি ও কিভাবে কানেকশন করবেন? Magnetic Contactor Working Principle | 2024, জুলাই
Anonim
ম্যাগনেটিক ফ্লেক্সিবল আর্ম সহ সোলার ওয়্যারলেস ল্যাম্প
ম্যাগনেটিক ফ্লেক্সিবল আর্ম সহ সোলার ওয়্যারলেস ল্যাম্প
ম্যাগনেটিক ফ্লেক্সিবল আর্মের সাথে সোলার ওয়্যারলেস ল্যাম্প
ম্যাগনেটিক ফ্লেক্সিবল আর্মের সাথে সোলার ওয়্যারলেস ল্যাম্প

এই প্রকল্পটি একটি ভাঙ্গা বাতি এবং নোড এমসিইউ থেকে তৈরি করা হয়েছিল। এই আলংকারিক বাতিটি যে কোন দিক থেকে সামঞ্জস্য করা যায় এবং চৌম্বকীয় উপকরণে সংযুক্ত করা যায় বা টেবিলে রাখা যায়। এটি দুটি মোডে নিয়ন্ত্রিত হতে পারে:

- ওয়্যারলেস কন্ট্রোল মোড, নীচের ইউটিউব লিঙ্ক হিসাবে:

- ইন্টারেক্টিভ কন্ট্রোল মোড, নীচের ইউটিউব লিঙ্ক হিসাবে:

ধাপ 1: উপাদানগুলির বিল

বিওএম তালিকা:

ছবি
ছবি

ইন্টারেক্টিভ মোডের জন্য, আমি ল্যাম্পের রঙ নিয়ন্ত্রণ করতে NodeMCU থেকে গাইরো ডেটা পেতে MPU6050 ব্যবহার করি।

এই প্রকল্পের জন্য উপকরণ ছবি:

ছবি
ছবি

ধাপ 2: সার্কিট

সার্কিট
সার্কিট

এটি খুব সহজ সার্কিট, উপরে Fritzing স্কিম্যাটিক হিসাবে, 1 RGB LED সাধারণ anode টাইপ, তিন সীমা বর্তমান প্রতিরোধক R100 এবং MPU6050।

প্রতিফলকটি কোন ভাঙা আলো থেকে ব্যবহার করা হয় এবং 2 বোল্ট দ্বারা নোডএমসিইউ বেসের সাথে সংযুক্ত হয় বা শক্তিশালী আঠা দিয়ে আটকে থাকে।

ইনস্টলেশন কাজ:

ছবি
ছবি
ছবি
ছবি

নীচে পরিকল্পিত:

ছবি
ছবি

ধাপ 3: ম্যাগনেটিক বেস - ফ্লেক্সিবল এআরএম

ম্যাগনেটিক বেস - ফ্লেক্সিবল আর্ম
ম্যাগনেটিক বেস - ফ্লেক্সিবল আর্ম

নমনীয় বাহু ভাঙা নমনীয় জলের কল থেকে পুনরায় ব্যবহার করা যেতে পারে। এরকম কিছু:

ছবি
ছবি

কিছু টিপস দিয়ে, আমরা তাদের নমনীয় বাহুর নীচে স্থায়ী চুম্বক বেসের সাথে সংযুক্ত করার চেষ্টা করি। উপরে, আমরা আমাদের সার্কিট বোর্ড এবং সৌর/ব্যাটারি চার্জারের সাথে সংযোগের জন্য একটি ড্রিল হোল তৈরি করেছি। অথবা এটি ইস্পাত স্তম্ভ, ইস্পাত কাঠামোর মতো চৌম্বকীয় উপকরণগুলিতে সংযুক্ত করা যেতে পারে।

ধাপ 4: সোলার - ব্যাটারি চার্জার

সোলার - ব্যাটারি চার্জার
সোলার - ব্যাটারি চার্জার

এটি একটি ক্ষতিগ্রস্ত চার্জিং বাতি থেকে এসেছে। আমি নোডএমসিইউতে একটি অন/অফ সুইচ এবং পাওয়ার ওয়্যার সরবরাহ যোগ করেছি। এটিতে একটি ইউএসবি পোর্ট আউটলেট এবং ব্যাটারি চার্জারের জন্য একটি প্লাগ রয়েছে।

ধাপ 5: সব একসাথে সংযোগ করুন

সব একসাথে সংযোগ করুন
সব একসাথে সংযোগ করুন

সমস্ত অংশ সংযুক্ত করা হচ্ছে: নোডএমসিইউ এবং প্রতিফলক, সৌর ও ব্যাটারি কোষ, নমনীয় বাহু একসাথে।

সমাপ্তি

ছবি
ছবি

চার্জিং মোড

ছবি
ছবি

ধাপ 6: ইন্টারেক্টিভ কন্ট্রোল প্রোগ্রাম

রঙ পরিবর্তন করা হবে যখন আমরা নমনীয় বাহু সামঞ্জস্য করি বা বাতিটি ঘোরাই।

ইন্টারেক্টিভ ল্যাম্প

#অন্তর্ভুক্ত
// MPU6050 স্লেভ ডিভাইসের ঠিকানা
const uint8_t MPU6050SlaveAddress = 0x68;
// আই 2 সি যোগাযোগের জন্য এসডিএ এবং এসসিএল পিন নির্বাচন করুন - ওয়্যার লাইব্রেরিতে পিন ডিফল্ট: এসসিএল - ডি 1 এবং এসডিএ - নডেমকুতে ডি 2
// 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;
অকার্যকর সেটআপ() {
পিনমোড (আর, আউটপুট);
পিনমোড (জি, আউটপুট);
পিনমোড (বি, আউটপুট);
// সিরিয়াল.বিগিন (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);
আজ = myAbs (AccelZ);
// পরিসরে স্কেল
লাল = মানচিত্র (অক্ষ, 0, 16384, 0, 1023);
সবুজ = মানচিত্র (Ay, 0, 16384, 0, 1023);
নীল = মানচিত্র (আজ, 0, 16384, 0, 1023);
// চেক করার জন্য সিরিয়াল প্রিন্ট
// সিরিয়াল.প্রিন্ট ("লাল:"); সিরিয়াল.প্রিন্ট (লাল);
// সিরিয়াল.প্রিন্ট ("সবুজ:"); সিরিয়াল.প্রিন্ট (সবুজ);
// সিরিয়াল.প্রিন্ট ("নীল:"); সিরিয়াল.প্রিন্ট (নীল);
// 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 ());
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); // সেট +/- 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);
}
// পরম মান
ভাসা myAbs (ভাসমান) {
রিটার্ন (ইন)> 0? (ইন):-(ইন);
}

GitHub দ্বারা raw এর সাথে হোস্ট করা কাঁচা ইন্টারঅ্যাক্টিভ ল্যাম্প প্রোগ্রাম দেখুন

ধাপ 7: ওয়্যারলেস কন্ট্রোল প্রোগ্রাম এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশন

ওয়্যারলেস কন্ট্রোল প্রোগ্রাম এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশন
ওয়্যারলেস কন্ট্রোল প্রোগ্রাম এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশন

আরেকটি উপায়, আমরা ওয়াইফাই নেটওয়ার্কে অ্যান্ড্রয়েডের সাথে আরজিবি এলইডি নিয়ন্ত্রণ করতে অ্যান্ড্রয়েড অ্যাপ ব্যবহার করতে পারি। অ্যান্ড্রয়েড অ্যাপ লিঙ্ক করুন: NODEMCU RGB LED APP নিয়ন্ত্রণ করে

Arduino প্রোগ্রামের জন্য, আপনি উল্লেখ করতে পারেন:

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

নোডএমসিইউতে প্রোগ্রাম আপলোড করার পর, প্রথম রান আমাদের সিরিয়াল প্রিন্টে নোডএমসিইউ এর আইপি ঠিকানা দেবে। আমার ক্ষেত্রে, এটি হল: পোর্ট 80 এ 192.164.1.39।

ছবি
ছবি

এখন, আমরা ইন্টারনেট এক্সপ্লোরারে উপরের ঠিকানা লিখে ল্যাপটপ/ ট্যাবলেট/ মোবাইল ফোন দিয়ে বেতার বাতি নিয়ন্ত্রণ করতে পারি।

ছবি
ছবি

অথবা অ্যান্ড্রয়েড অ্যাপ ব্যবহার করে:

ছবি
ছবি

ধাপ 8: কিছু ছবি

প্রস্তাবিত: