সুচিপত্র:

Arduino ভিত্তিক সিরিয়াল সার্ভো কন্ট্রোলার: 6 টি ধাপ
Arduino ভিত্তিক সিরিয়াল সার্ভো কন্ট্রোলার: 6 টি ধাপ

ভিডিও: Arduino ভিত্তিক সিরিয়াল সার্ভো কন্ট্রোলার: 6 টি ধাপ

ভিডিও: Arduino ভিত্তিক সিরিয়াল সার্ভো কন্ট্রোলার: 6 টি ধাপ
ভিডিও: SKR 1.4 - Definitive User Guide 2024, নভেম্বর
Anonim
Arduino ভিত্তিক সিরিয়াল সার্ভো কন্ট্রোলার
Arduino ভিত্তিক সিরিয়াল সার্ভো কন্ট্রোলার
Arduino ভিত্তিক সিরিয়াল সার্ভো কন্ট্রোলার
Arduino ভিত্তিক সিরিয়াল সার্ভো কন্ট্রোলার

এটি Arduino ভিত্তিক একাধিক সার্ভারগুলির জন্য একটি সহজ সিরিয়াল নিয়ামক। (আমার প্রথম নির্দেশযোগ্যও:))

এর মধ্যে বেশিরভাগ কাজই এসেছে সফটওয়্যারটি আরডুইনোর সাথে কথা বলার জন্য এবং তথ্য প্রেরণের জন্য একটি প্রোটোকল তৈরি করা থেকে। হার্ডওয়্যারের দিকের জন্য যা আমি ব্যবহার করেছি তা ছিল দুটি সার্ভোস (প্যারাল্যাক্স স্ট্যান্ডার্ড সার্ভো এখানে।) একটি স্পার্কফুন আরডুইনো প্রোটোশিল্ড এবং একটি Arduino Duemilanove ATMEGA328, কিন্তু এই অংশগুলির বেশিরভাগই একই ধরনের আইটেম দিয়ে প্রতিস্থাপিত হতে পারে। আমি একটি RC সিস্টেমের অংশ হিসাবে এই প্রকল্পটি ভেবেছিলাম, কিন্তু যোগাযোগ স্থাপন করতে অনেক সময় লেগেছিল। যদি কারও কোন উন্নতি, ধারণা বা বাগ থাকে তবে দয়া করে নির্দ্বিধায় মন্তব্য করুন। সম্পাদনা করুন: আমি এটি কিছুক্ষণ আগে লিখেছিলাম, সম্প্রতি এটি প্রকাশ করতে পেরেছি।

ধাপ 1: যে জিনিসগুলি আপনার প্রয়োজন হতে পারে…

যে জিনিসগুলি আপনার প্রয়োজন হতে পারে…
যে জিনিসগুলি আপনার প্রয়োজন হতে পারে…
যে জিনিসগুলি আপনার প্রয়োজন হতে পারে…
যে জিনিসগুলি আপনার প্রয়োজন হতে পারে…

এটি তৈরি করতে আপনার কিছু জিনিস লাগবে। 1. Arduino বোর্ড (আপনি বেছে নিন) 2. দুটি (বা এক) servos 3. জাম্পার তারের 4. ভিজ্যুয়াল স্টুডিও 2008 এক্সপ্রেস - লিঙ্ক (alচ্ছিক) 5. Arduino IDE - লিঙ্ক দু Sorryখিত লিনাক্স এবং অ্যাপল ভক্ত, আমার প্রোগ্রাম শুধুমাত্র চলবে আপাতত উইন্ডোজ, কিন্তু আপনি কোডটি পরিবর্তন না করেও ম্যানুয়ালি আরডুইনোতে সিরিয়াল কমান্ড পাঠাতে পারেন।

পদক্ষেপ 2: হার্ডওয়্যার সংযুক্ত করুন।

হার্ডওয়্যার সংযুক্ত করুন।
হার্ডওয়্যার সংযুক্ত করুন।

এই ধাপে খুব জটিল কিছু নেই শুধু একটি সার্ভোকে 9 পিন এবং অন্যটি 10 পিনে সংযুক্ত করুন।

ধাপ 3: Arduino প্রোগ্রাম করুন

Arduino প্রোগ্রাম করুন
Arduino প্রোগ্রাম করুন

এখন আপনি arduino এ স্কেচ আপলোড করতে পারেন।

এখানে কোডের একটি সহজ ভাঙ্গন হল: #Servo myservo অন্তর্ভুক্ত করুন; // একটি servo Servo myservo1 নিয়ন্ত্রণ করতে servo অবজেক্ট তৈরি করুন; int incomingByte = 0, datacount = 0, counter = 0, ready = 0; // ইনকামিং সিরিয়াল ডেটা চার ডেটার জন্য [10]; const char verify [8] = "ma11hew"; char কমান্ড [3]; অকার্যকর সেটআপ () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // সিরিয়াল পোর্ট খোলে, ডাটা রেট সেট করে Serial.println ("হাই Arduino এখানে!"); // যোগ করা হয়েছে সিরিয়াল পোর্ট সনাক্ত করতে সাহায্য করার জন্য এটি শুধু সিরিয়াল পোর্ট এবং সার্ভিস সেট করে। int i; জন্য (i = 0; i <180; i ++) {myservo.write (i); বিলম্ব (15); } myservo.write (5); জন্য (i = 0; i <180; i ++) {myservo1.write (i); বিলম্ব (15); } myservo1.write (5); } সার্ভোস সঠিকভাবে কাজ যাচাই করার জন্য সরল ঝাড়ু আন্দোলন। অকার্যকর লুপ () {প্রস্তুত = 0; কাউন্টার = 0; while (1 == 1) {if (Serial.read ()! = verify [counter]) {break; } যদি (পাল্টা == 6) {বিলম্ব (20); কমান্ড [0] = সিরিয়াল.রিড (); কমান্ড [1] = সিরিয়াল.রিড (); // যদি (Serial.read () == ((কমান্ড [1] * 12) % 8)) // {প্রস্তুত = 1; //} Serial.println ("সংরক্ষিত কমান্ড"); } পাল্টা ++; বিলম্ব (2); } এটি সঠিক অনুমোদন স্ট্রিং এর জন্য সিরিয়াল বাফার চেক করে তারপর কমান্ডের জন্য দুই বাইট ধরে। মন্তব্য যদি বিবৃতি একটি অস্থায়ী চেকসাম জন্য অনুমতি দেয় কিন্তু ম্যানুয়াল ইন্টারফেসিং কঠিন হবে। প্রস্তুত 0 এ সেট করা যেতে পারে তাই কমান্ডগুলি বিশ্লেষণ করা হবে না যেমন দূষিত ডেটার ক্ষেত্রে। // কমান্ডের মাধ্যমে অনুসন্ধান করুন যদি (প্রস্তুত == 1) {যদি (কমান্ড [0] == 'টি') {কমান্ড [0] = 0; সিরিয়াল.প্রিন্ট ("পিন 9 এ থ্রোটল কন্ট্রোল:"); Serial.println (মানচিত্র (কমান্ড [1], 32, 126, 2, 180), DEC); myservo.write (মানচিত্র (কমান্ড [1], 32, 126, 2, 180)); } if (command [0] == 'S') {command [0] = 0; সিরিয়াল.প্রিন্ট ("পিন 10 এ থ্রোটল কন্ট্রোল:"); Serial.println (মানচিত্র (কমান্ড [1], 32, 126, 2, 180), DEC); myservo1.write (মানচিত্র (কমান্ড [1], 32, 126, 2, 180)); }}} অবশিষ্ট কোড হল বৈধ কমান্ডের জন্য কমান্ড অনুসন্ধান করা ম্যাপে আরও (কমান্ড [1], 32, 126, 2, 180) পরে … এখানে কোডটি আপনার যা প্রয়োজন হতে পারে (যেমন, লাইট, মোটর, আইআর, ইত্যাদি) এর জন্য সম্প্রসারণযোগ্য পরিবর্তন

ধাপ 4: সফ্টওয়্যার ইনস্টল করুন

সফটওয়্যার ইনস্টল
সফটওয়্যার ইনস্টল

আমার কাছে এটি ইনস্টল করার দুটি উপায় আছে… আপনার কাছে ইনস্টল করার সময় উৎসগুলি ইনস্টল করার বিকল্প থাকবে। ইন্সটলার বাইনারি প্যাকেজটি কোর c ++ dlls ইনস্টল করে তাই এটি একটি কম্পিউটারে চালানো যেতে পারে ভিজ্যুয়াল c ++ ইতোমধ্যে ইন্সটল না করেই। একবার ইনস্টলার শেষ হয়ে গেলে আপনি এটি ডেস্কটপ বা স্টার্ট মেনু থেকে চালাতে পারেন। zip way (যাচাই করা হয়নি): ডাউনলোড করুন এবং চালান, এটি কাজ করা উচিত। হতে পারে. (জিপ আর্কাইভে ইনস্টলার দ্বারা তৈরি একই ফোল্ডার স্ট্রাকচার আছে, উৎস ছাড়াই। আমার কাছে ভিজ্যুয়াল স্টুডিও ছাড়া এটি পরীক্ষা করার জন্য একটি মেশিন নেই তাই এটি কাজ নাও করতে পারে।)

ধাপ 5: ইন্টারফেস প্রোগ্রাম ব্যবহার করুন

ইন্টারফেস প্রোগ্রাম ব্যবহার করুন
ইন্টারফেস প্রোগ্রাম ব্যবহার করুন
ইন্টারফেস প্রোগ্রাম ব্যবহার করুন
ইন্টারফেস প্রোগ্রাম ব্যবহার করুন

প্রোগ্রামটি ব্যবহার করার জন্য প্রথমে arduino স্কেচে সংজ্ঞায়িত বড রেট নির্বাচন করুন। অপরিবর্তিত স্কেচ 38400 বউডে ডিফল্ট কিন্তু ধীর রেডিও লিঙ্কের মতো জিনিসগুলির জন্য আপনার প্রয়োজন অনুসারে পরিবর্তন করা যেতে পারে। দ্রষ্টব্য: 38400 এর চেয়ে বেশি বড রেট খুব স্থিতিশীল হয়নি, আমি মনে করি এটি কারণ ডেটা প্রক্রিয়া করার আগে ইউার্টটি পূরণ হয়ে যায়। পরবর্তী, ব্যবহার করার জন্য COM পোর্ট নির্বাচন করুন। প্রোগ্রাম ডিফল্ট COM4 এটি পরিবর্তন করতে ভুলবেন না বা প্রোগ্রাম ক্র্যাশ হবে। অবশেষে, খুলুন ক্লিক করুন। সব ঠিক থাকলে প্রোগ্রামটি নির্বাচিত বড হারে নির্বাচিত সিরিয়াল পোর্ট খুলবে। যদি না হয় তবে প্রোগ্রামটি সম্ভবত একটি অনিয়ন্ত্রিত ব্যতিক্রম সহ ক্র্যাশ করবে। নিশ্চিত করুন যে পোর্টটি সঠিক এবং আবার চেষ্টা করুন। Arduino- এ সরাসরি কমান্ড জমা দেওয়ার জন্য টেক্সটবক্স ব্যবহার করুন। "মানচিত্র (কমান্ড [1], 32, 126, 2, 180)" সমস্ত 94 সম্ভাব্য কমান্ডের স্কেল, * স্পেস * ~ এর মাধ্যমে, ASCII- এ arduino দ্বারা 2 থেকে 180 পর্যন্ত সার্ভের জন্য পাঠযোগ্য। ASCII 32 (স্পেস) বা 126 (~) এর উপরে কোন বাইট ডিফল্ট 63 (?) ট্র্যাক বারগুলি সরাসরি কমান্ডের জন্য একটি আইজার ইন্টারফেস প্রদান করে। প্রতিটি ধাপ arduino ক্রমবর্ধমান একটি সিরিয়াল কমান্ড পাঠায়।

ধাপ 6: সৃজনশীল হন

সৃজনশীল হন!
সৃজনশীল হন!
সৃজনশীল হন!
সৃজনশীল হন!

এটি দিয়ে তৈরি করার জন্য দুর্দান্ত জিনিসগুলির কথা ভাবুন। কিছু ধারণা: 1. একটি গাড়ির জন্য দূরবর্তী থ্রোটল। 2. 3D ক্যামেরা মাউন্ট 3. আন্ডারওয়াটার রোভার মজা করুন !!

প্রস্তাবিত: