সুচিপত্র:
- ধাপ 1: উপাদান
- ধাপ 2: সার্ভার বোর্ড
- ধাপ 3: সার্ভার কোডার: কপি এবং পেস্ট করুন
- ধাপ 4: ক্লায়েন্ট বোর্ড
- ধাপ 5: ক্লায়েন্ট কোড: কপি এবং পেস্ট করুন
- ধাপ 6: কোড সম্পর্কে একটি নোট:
ভিডিও: ওয়্যারলেস সার্ভো কন্ট্রোল: 6 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:02
এই প্রজেক্টটি একটি পোটেন্টিওমিটার (নব) এর মাধ্যমে ওয়্যারলেসভাবে একটি সার্ভোর ঘূর্ণন নিয়ন্ত্রণ করে। ঘূর্ণন 180 ডিগ্রীতে সীমাবদ্ধ।
ধাপ 1: উপাদান
এই প্রকল্পটি নিয়ে গঠিত
- ইউএসবি সংযোগকারী তারের সঙ্গে 2 Arduino UNO নিয়ামক বোর্ড
- 2 nRF24L01-2.4GHz RF ট্রান্সসিভার মডিউল (এই মডিউলগুলির সাহায্যের জন্য
- NRF24L01 এর জন্য 2 টি সকেট অ্যাডাপ্টার বোর্ড (ব্যাকপ্যাক চিপ)
- 1 alচ্ছিক Arduino সামঞ্জস্যপূর্ণ 328 ProtoShield প্রোটোটাইপ সম্প্রসারণ বোর্ড
- 1 servo
- 1 এনালগ potentiometer
- সোল্ডারিং লোহা এবং ঝাল
- তার
- সুই নাকযুক্ত প্লেয়ার
- মোড়ানো অন্তরক, আমি বৈদ্যুতিক টেপ ব্যবহার করেছি
ধাপ 2: সার্ভার বোর্ড
সার্ভার বোর্ডে একটি ট্রান্সসিভার মডিউল, ieldাল বোর্ড (যা সরাসরি আরডুইনো বোর্ডের সাথে সরাসরি সংযোগ করে) এবং সার্ভো থাকে। আমি সিদ্ধান্ত নিয়েছি ieldাল বোর্ড অন্তর্ভুক্ত করার জন্য আনাড়ি ব্রেডবোর্ড এড়ানোর জন্য এবং প্রকল্প এবং সামগ্রিকভাবে নিটারের সমাপ্তি দিতে।
উপাদান তালিকায় অন্তর্ভুক্ত কোড এবং ওয়েব রিসোর্স ট্রান্সসিভার মডিউল সংযোগের বিস্তারিত বিবরণ দেয়। আমি পূর্ববর্তী প্রকল্পগুলির মতো অস্থায়ী সংযোগ ব্যবহার না করে সংযোগগুলি বিক্রি করার সিদ্ধান্ত নিয়েছি। যেহেতু আমি একজন শিক্ষানবিস, তাই আমি প্রতিটি সোল্ডার জয়েন্টকে ইলেকট্রিক্যাল টেপ দিয়ে ইনসুলেট করেছিলাম (সেগুলো সুন্দর ছিল না)।
শিল্ড বোর্ড পিনগুলি সরাসরি আরডুইনো পিনের সাথে মিলে যায়। Ieldাল বোর্ড সংযুক্ত করার আগে, আমি তারের এবং ঝাল দিয়ে বোর্ডের রেলগুলিতে স্থল এবং 5 ভোল্ট পিন সংযুক্ত করেছি। আমি'াল বোর্ড রেলগুলিতে উপাদানগুলির 5 ভোল্ট এবং গ্রাউন্ড ওয়্যারগুলি বিক্রি করেছি, তারপর অবশেষে আরডুইনোকে শিল্ড বোর্ডের সাথে সংযুক্ত করেছি।
পাওয়ারের জন্য 3 ভোল্ট পিন এবং যোগাযোগের জন্য ডিজিটাল পিন 2 এর সাথে সার্ভো সংযুক্ত থাকে।
** দ্রষ্টব্য: এই বিল্ডটি সম্পন্ন করার পরেই আমি লক্ষ্য করেছি যে আমার আরডুইনো বোর্ডগুলি অভিন্ন নয়। আমার সার্ভার ট্রান্সসিভার vাল বোর্ডে 5 ভোল্ট রেল দ্বারা চালিত হয়, যখন ক্লায়েন্ট ট্রান্সসিভার 3 ভোল্ট পিন দ্বারা চালিত হয়, যদিও আমি বিশ্বাস করি যে ট্রান্সসিভারে অ্যাডাপ্টার চিপের একটি কাজ সঠিক ভোল্টেজ প্রদান করা। আমি নিশ্চিতভাবে বলতে পারি যে ছবিতে প্রদত্ত কনফিগারেশনের সাথে মিলিত কোডটি বর্ণিত প্রভাব তৈরি করে।
ধাপ 3: সার্ভার কোডার: কপি এবং পেস্ট করুন
// সার্ভার কোড/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> GND> GND VCC> 5V */// transceiver wiring
#অন্তর্ভুক্ত
// servo লাইব্রেরি
#অন্তর্ভুক্ত
// ট্রান্সসিভার লাইব্রেরি
#সার্ভপিন সংজ্ঞায়িত করুন 2
// ঘোষণা servo আউটপুট পিন
ServoTimer2 serv;
// servo নামের ঘোষণা
RH_NRF24 nrf24;
// ট্রান্সসিভার নামের ঘোষণা
int timeOUT = 0;
// servo জন্য পরিবর্তনশীল
int ডাল = 90;
// ডাল সংরক্ষণ করতে পরিবর্তনশীল
অকার্যকর সেটআপ()
{serv.attach (Servopin); // servo জিনিস
Serial.begin (9600); // ট্রান্সসিভার জিনিস
যদি (! nrf24.init ())
Serial.println ("init ব্যর্থ"); // সিরিয়াল মনিটর স্টাফ যদি (! nrf24.setChannel (12)) // সেট চ্যানেল 125 Serial.println ("setChannel ব্যর্থ"); যদি (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ব্যর্থ"); // সিরিয়াল মনিটর স্টাফ}
অকার্যকর লুপ ()
{যদি (nrf24.available ()) {uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; uint8_t len = sizeof (buf); যদি (nrf24.recv (buf, & len)) // সিরিয়াল মনিটর স্টাফ {Serial.print ("অনুরোধ পেয়েছে:"); ডাল = strtol ((const char*) buf, NULL, 10); // ডাটা টাইপ পরিবর্তন জিনিস
int prin = মানচিত্র (ডাল, 750, 2250, 0, 180); // ডাটা টাইপ পরিবর্তন জিনিস
Serial.println (প্রিন); serv.write (ডাল); // সার্ভো মুভ করে}}
}
ধাপ 4: ক্লায়েন্ট বোর্ড
ক্লায়েন্ট বোর্ড একটি ট্রান্সসিভার মডিউল এবং potentiometer গঠিত। ট্রান্সসিভার মডিউলটি একইভাবে ওয়্যার্ড করা হয় ** সার্ভার বোর্ডের ব্যতীত যে theাল বোর্ড ছাড়া, এটি সরাসরি Arduino বোর্ড পিনগুলিতে তারযুক্ত হয়।
পোটেন্টিওমিটার 5v, স্থল, এবং এনালগ পিন 2 এর সাথে সংযুক্ত।
** দ্রষ্টব্য: সার্ভার বোর্ড ধাপে উল্লিখিত হিসাবে, আমার আরডুইনো বোর্ডগুলি অভিন্ন নয়। এই ক্ষেত্রে ট্রান্সসিভারটি 3.3V লেবেলযুক্ত পিনে তারযুক্ত, সরাসরি 5V পিনের সংলগ্ন, কিন্তু আবার, সবকিছু ঠিকঠাক কাজ করছে বলে মনে হচ্ছে।
ধাপ 5: ক্লায়েন্ট কোড: কপি এবং পেস্ট করুন
// ক্লায়েন্ট কোড/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> GND> GND VCC> 5V */// transceiver wiring
#অন্তর্ভুক্ত
// ট্রান্সসিভার লাইব্রেরি
int potpin = A2; // potentiometer বিলম্ব
int val;
temp tempChar [5];
স্ট্রিং valString = ""; // ডাটা টাইপ পরিবর্তন জিনিস
RH_NRF24 nrf24; // ট্রান্সসিভার জিনিস
অকার্যকর সেটআপ()
{Serial.begin (9600); যদি (! nrf24.init ()) Serial.println ("init ব্যর্থ"); // init পরে ডিফল্ট হল 2.402 GHz (চ্যানেল 2), 2Mbps, 0dBm যদি (! Nrf24.setChannel (12)) Serial.println ("setChannel ব্যর্থ"); যদি (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ব্যর্থ"); } // ট্রান্সসিভার জিনিস
অকার্যকর লুপ () {
val = analogRead (potpin); // potentiometer জিনিস
val = মানচিত্র (val, 0, 1023, 750, 2250);
valString = val; স্ট্রিং str = (valString); str.toCharArray (tempChar, 5); // ডেটাটাইপ পরিবর্তন nrf24.send (tempChar, sizeof (tempChar));
}
ধাপ 6: কোড সম্পর্কে একটি নোট:
কোডটিতে Arduino সফটওয়্যার ইন্টারফেসের সিরিয়াল মনিটর থেকে প্রতিক্রিয়া আকারে কিছু সীমিত সমস্যা সমাধানের কার্যকারিতা রয়েছে। সার্ভার কোড (ctrl + shift + M) থেকে সিরিয়াল মনিটর দেখার সময়, আপনি 1 এবং 180 এর মধ্যে একটি সংখ্যার আকারে potentiometer এর অবস্থা দেখতে সক্ষম হবেন।
এছাড়াও, এখানে ওয়্যারলেস এবং সার্ভোর জন্য লাইব্রেরি রয়েছে:
www.airspayce.com/mikem/arduino/RadioHead/
github.com/nabontra/ServoTimer2
প্রস্তাবিত:
এফপিজিএ সাইক্লোন IV ডিউপ্রোলজিক কন্ট্রোল সার্ভো মোটর: 4 টি ধাপ
FPGA সাইক্লোন IV ডিউপ্রোলজিক কন্ট্রোল সার্ভো মোটর: এই টিউটোরিয়ালে আমরা সার্ভো মোটর নিয়ন্ত্রণ করতে ভেরিলগ কোড লিখতে যাচ্ছি। সার্ভো SG-90 ওয়েভশেয়ার দ্বারা নির্মিত হয়। যখন আপনি সার্ভো মোটর কিনবেন, আপনি একটি ডেটশীট পেতে পারেন যা অপারেটিং ভোল্টেজ, সর্বোচ্চ টর্ক এবং প্রস্তাবিত পু
কন্ট্রোল সার্ভো 555 টাইমার আইসি ব্যবহার করে: 3 ধাপ
555 টাইমার আইসি ব্যবহার করে কন্ট্রোল সার্ভো: আমার প্রথম নির্দেশযোগ্য ছিল " এনালগ জয়স্টিক ব্যবহার করে সার্ভোস নিয়ন্ত্রণ করা " তারপর থেকে আমি কয়েকটি প্রকল্প শেয়ার করেছি যার জন্য সার্ভসের প্রয়োজন যেমন: রোবোটিক আর্ম এবং ফেস ট্র্যাকার। আমরা সর্বদা সার্ভিস নিয়ন্ত্রণ করার জন্য একটি মাইক্রোকন্ট্রোলার ব্যবহার করতাম। কিন্তু
হোম অটোমেশন কন্ট্রোল প্যানেল হিসাবে আইপ্যাডের জন্য ওয়াল মাউন্ট, স্ক্রিন সক্রিয় করতে সার্ভো নিয়ন্ত্রিত চুম্বক ব্যবহার করে: 4 টি ধাপ (ছবি সহ)
হোম অটোমেশন কন্ট্রোল প্যানেল হিসাবে আইপ্যাডের জন্য ওয়াল মাউন্ট, স্ক্রিন সক্রিয় করতে সার্ভো নিয়ন্ত্রিত চুম্বক ব্যবহার করা: ইদানীং আমি আমার বাড়ির এবং আশেপাশে জিনিসগুলিকে স্বয়ংক্রিয় করতে বেশ কিছু সময় ব্যয় করেছি। আমি ডোমোটিকজকে আমার হোম অটোমেশন অ্যাপ্লিকেশন হিসাবে ব্যবহার করছি, বিস্তারিত জানতে www.domoticz.com দেখুন। একটি ড্যাশবোর্ড অ্যাপ্লিকেশনের জন্য আমার অনুসন্ধানে যা সমস্ত Domoticz তথ্য টগ দেখায়
STM32F4 ARM MCU সহ সার্ভো মোটর কন্ট্রোল: 4 টি ধাপ
STM32F4 ARM MCU এর সাথে Servo মোটর কন্ট্রোল: আবার বন্ধুরা হ্যালো :) সুতরাং, এই প্রকল্পে আমরা STM32F4 ARM MCU দিয়ে একটি সার্ভো মোটর নিয়ন্ত্রণ করব। আমার ক্ষেত্রে, আমি ডিসকভারি বোর্ড ব্যবহার করবো, কিন্তু যদি আপনি সমস্যার মর্ম বুঝতে পারেন, তাহলে আপনি এটি প্রতিটি MCU- এর জন্য প্রয়োগ করতে পারেন। তাই। চল শুরু করি:)
আপনার সার্ভো V1.00 হ্যাক করুন - একটি শক্তিশালী লিনিয়ার অ্যাকচুয়েটরে আপনার সার্ভো চালু করুন: 7 টি ধাপ
আপনার সার্ভো V1.00 হ্যাক করুন - একটি শক্তিশালী লিনিয়ার অ্যাকচুয়েটারে আপনার সার্ভো চালু করুন: যদি আপনার কাছে টুলস এবং সার্ভো থাকে তবে আপনি এটি কয়েক টাকার মধ্যে তৈরি করতে পারেন। অ্যাকচুয়েটর প্রায় 50 মিমি/মিনিট হারের সাথে প্রসারিত। এটি বরং ধীর কিন্তু খুব শক্তিশালী। পোস্টের শেষে আমার ভিডিওটি দেখুন যেখানে ছোট অ্যাকচুয়েটর