সুচিপত্র:

I2C রিলে মেট Arduino IDE: 5 ধাপ
I2C রিলে মেট Arduino IDE: 5 ধাপ

ভিডিও: I2C রিলে মেট Arduino IDE: 5 ধাপ

ভিডিও: I2C রিলে মেট Arduino IDE: 5 ধাপ
ভিডিও: কিভাবে I2C LCD দিয়ে LDmicro Arduino PLC তৈরি করবেন 2024, জুলাই
Anonim
I2C রিলে মেট Arduino IDE
I2C রিলে মেট Arduino IDE

আমি একটি চমৎকার রিলেবোর্ড অর্ডার করেছি কিন্তু কোন ArduinoIDE নির্দেশ ছিল না, শুধু রাস্পবেরি পাই e.o. আমি এটি কিভাবে Arduino এর সাথে ব্যবহার করতে পারি এবং এটি ভাগ করতে চাই যাতে আপনি সেই সময় বাঁচাতে পারেন।

মূল রাস্পবেরি পিআই উদাহরণ:

wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099

চমৎকার জিনিস হল যে আপনি 4 টি বোর্ড পর্যন্ত স্ট্যাক করতে পারেন। সুতরাং আপনি সর্বোচ্চ ব্যবহার করতে পারেন। একটি I2C বাসে 4 x 4 = 16 রিলে।

এছাড়াও কিছু অসুবিধা আছে:

  • ছোট টার্মিনাস, 1 মিমি 2 তারের সাথে মানানসই নয়
  • আপনি নীচের সংযোগকারীদের ওয়্যারিং পরিবর্তন করতে পারবেন না যখন তারা একসঙ্গে স্ট্যাক করা হয়

কিন্তু এখনও সুবিধাজনক বোর্ড।

ধাপ 1: ওয়্যারিং

ওয়্যারিং
ওয়্যারিং
ওয়্যারিং
ওয়্যারিং
ওয়্যারিং
ওয়্যারিং

ছবিতে আপনি তারের রিং দেখতে পারেন।

52Pi উভয় 5V (রিলে এর জন্য) এন 3.3V (I2C চিপ) প্রয়োজন।

তাই 5 টি তারের প্রয়োজন:

  • GND থেকে GND
  • 5 V থেকে 5 V
  • 3.3 V থেকে 3.3 V
  • SLA থেকে SLA
  • এসসিএল থেকে এসসিএল

আপনি যদি একটি Arduino UNO বা অন্য 5 V ব্যবহার করেন তবে I2C নিয়ামক থেকে সর্বোচ্চ 3, 6 V ব্যবহার করুন! Arduino PIN এর থেকে 5 V কমিয়ে প্রতিরোধক ব্যবহার করুন!

ধাপ 2: সহজ কোড উদাহরণ:

/* I2C রিলেসবোর্ডের জন্য Arduino IDE (ESP) উদাহরণ।

* লরেন্স কোরস্টে www.boktorrobotica.nl * ব্যবহার করার জন্য বিনামূল্যে। */ #অন্তর্ভুক্ত // I2C যোগাযোগের জন্য অকার্যকর সেটআপ () {// এই নিয়মটি UNO বা ডেডিকেটেড I2C পিন Wire.begin (D1, D2) সহ বোর্ডগুলির জন্য নয়; // NodeMCU} ভয়েড লুপ () {Wire.beginTransmission (0x10);/ * I2C ঠিকানা 10 (11, 12 বা 13 এ পরিবর্তন করতে) */ ওয়্যার.write (0x01); / * পছন্দ রিলে 1 (4 এর মধ্যে) বোর্ড 10 (0x02, 0x03, 0x04) */ ওয়্যার.রাইট (0xFF); /* বোর্ডে 10 থেকে ON পর্যন্ত রিলেস 1 সেট করুন। সমস্ত সংখ্যা> 0 তাই করবে */ Wire.endTransmission (); / * প্রেরণ বন্ধ */ বিলম্ব (3000); Wire.beginTransmission (0x10); / * */ Wire.write (0x01); Wire.write (0x00); / * সেট রিলেস 1 বোর্ডে 10 থেকে OFF */ Wire.endTransmission (); / * প্রেরণ বন্ধ */ বিলম্ব (3000); }

ধাপ 3: চার রিলে টেস্ট কোড

/* Arduino (ESP / NodeMCU) এর জন্য লরেন্স কোরস্টের স্কেচ

* কিন্তু অন্যান্য বোর্ডগুলিও করবে * www.boktorrobotica.nl * // ডিবাগের জন্য সিরিয়াল শুরু করুন (ইউএনও এর জন্য 9600) Wire.begin (D1, D2); // NodeMCU এর SDA = D1 এবং SCL = D2 এর সাথে i2c বাসে যোগ দিন UNO} void loop () {for (int i = 1; i <= 4; i ++) {Wire.beginTransmission (0x10); // ডিভাইসের ঠিকানা Wire.write (i) দিয়ে শুরু করুন; // রিলেস Wire.write (0xFF) পছন্দ করুন; // "অন" কোড এফএফ পাঠান (01 থেকে এফএফ পর্যন্ত প্রতিটি গণনা করবে) Wire.endTransmission (); // Serial.write (i) প্রেরণ বন্ধ করুন; Serial.println ("aan"); বিলম্ব (1000); Wire.beginTransmission (0x10); // ডিভাইসের ঠিকানা Wire.write (i) দিয়ে শুরু করুন; Wire.write (0x00); // "অফ" কোড Wire.endTransmission () পাঠান; // Serial.write (i) প্রেরণ বন্ধ করুন; Serial.println ("uit"); বিলম্ব (1000); }}

ধাপ 4: আমার প্রকল্প

আমার প্রকল্প
আমার প্রকল্প
আমার প্রকল্প
আমার প্রকল্প

আমি আমার 3 টি শাটার চালানোর জন্য একটি কোড লিখেছি।

  • একটি ছোট প্রেস একটি শাটার সরানো শুরু করবে (অথবা যখন এটি চলবে তখন এটি বন্ধ করুন)।
  • একটি দীর্ঘ প্রেস এবং তিনটি শাটার খোলা (বা বন্ধ বা বন্ধ)।
  • ডবল চাপ: শাটারগুলি "গর্ত" অবস্থানে যায়।

ছবিতে দেখা যায়, আমি একটি তাপমাত্রা এবং হালকা সেন্সরকেও সংহত করেছি।

এখন একটি ভাল বেস পিসিবিতে এবং সুন্দরভাবে একটি বাক্সে।

ধাপ 5: এক কমান্ড দিয়ে একটি রিলে কল করুন

রিলে সক্রিয় বা নিষ্ক্রিয় করার জন্য আপনার যদি শুধুমাত্র একটি কমান্ডের প্রয়োজন হয় তবে এটি কার্যকর। নীচে একটি ফাংশন যা এটি করতে পারে (লোবাইট এবং হাইবাইট সহ)।

/ * I2C রিলেবোর্ডের সাথে Arduino (ESP/NodeMCU) এর জন্য লরেন্স কোর্স্টের স্কেচ * কিন্তু অন্যান্য বোর্ডগুলিও করবে * href = https://www.boktorrobotica.nl; www.boktorrobotica.nl.com/index.php/DockerPi_4_Channel_Relay_SKU: _EP-0099; www.boktorrobotica.nl * এই স্কেচে রিলে এক কলের মাধ্যমে সক্রিয় হবে; 4 টি রিলে সম্ভব।এই স্কেচে শুধুমাত্র দুটি PCB // PCB এবং রিলে একত্রিত করা হয়েছে যাতে তাদের একটি কমান্ড const byte PutOn = 0xFF; // কমান্ড দিয়ে সুইচ করার জন্য const বাইট PutOff = 0x00; // comand বন্ধ করতে বলা হয়। const শব্দ Relay1bord1 = 0x1001; // আপনি উদাহরণ দিয়ে নামগুলি সুযোগ দিতে পারেন Relay1 const শব্দ Relay2bord1 = 0x1002; // আপনি উদাহরণ দিয়ে নামগুলি সুযোগ দিতে পারেন Relay2 const শব্দ Relay3bord1 = 0x1003; // আপনি উদাহরণ দিয়ে নামগুলি সুযোগ দিতে পারেন Relay3 const শব্দ Relay4bord1 = 0x1004; // আপনি উদাহরণ দিয়ে নামগুলি দেখতে পারেন Relay4 const শব্দ Relay1bord2 = 0x1101; // আপনি উদাহরণ দিয়ে নামগুলি সুযোগ দিতে পারেন Relay5 const w = Relay2bord2 = 0x1102; // আপনি উদাহরণ দিয়ে নামগুলি সুযোগ দিতে পারেন Relay6 const শব্দ Relay3bord2 = 0x1103; // আপনি উদাহরণ দিয়ে নামগুলি সুযোগ দিতে পারেন Relay7 const শব্দ Relay4bord2 = 0x1104; // আপনি উদাহরণ দিয়ে নামগুলি সুযোগ দিতে পারেন Relay8 const শব্দ Relay1bord3 = 0x1201; // আপনি উদাহরণ দিয়ে নামগুলি সুযোগ দিতে পারেন Relay9 const শব্দ Relay2bord4 = 0x1302; // আপনি উদাহরণ দিয়ে নামগুলি রিলে 14 ভয়েড সেটআপ () {Serial.begin (115200); // ডিবাগের জন্য সিরিয়াল শুরু করুন (ইউএনও এর জন্য 9600) Wire.begin (D1, D2); // NodeMCU এর SDA = D1 এবং SCL = D2 এর সাথে i2c বাসে যোগ দিন UNO} void loop () {// রিলেএ্যাকটি (Relay4bord2, PutOn) তে PCB 2 এ রিলে 4 স্যুইচ করার প্রয়োজন নেই; বিলম্ব (1000); // পিসিবি 2 রিলেঅ্যাক্টি (রিলে 4 বোর্ড 2, পুটঅফ) থেকে রিলে 4 স্যুইচ করতে; বিলম্ব (1000); } অকার্যকর RelayActie (শব্দ রিলে, বাইট OnOrOff) {Wire.beginTransmission (highByte (Relay)); Wire.write (lowByte (রিলে)); Wire.write (OnOrOff); Wire.endTransmission (); }

প্রস্তাবিত: