সুচিপত্র:

একটি কীপ্যাডের সাহায্যে সার্ভো পজিশন: 3 টি ধাপ
একটি কীপ্যাডের সাহায্যে সার্ভো পজিশন: 3 টি ধাপ
Anonim
একটি কীপ্যাড সহ Servo Positoning
একটি কীপ্যাড সহ Servo Positoning

এই নির্দেশে আমরা একটি প্রকল্প তৈরি করব যা একটি মাইক্রো-সার্ভোকে নিয়ন্ত্রণ করবে একটি কীপ্যাড দিয়ে এটি একটি Arduino Uno দিয়ে চালাবে।

ব্যবহৃত উপকরণ:

আরডুইনো উনো

ব্রেডবোর্ড

4x4 কীপ্যাড

মাইক্রো-সার্ভো

ধাপ 1: কীপ্যাড ওয়্যার করুন

তারের কীপ্যাড
তারের কীপ্যাড
তারের কীপ্যাড
তারের কীপ্যাড

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

  1. পাওয়ার রেলের সাথে 5V পিন সংযুক্ত করুন (লাল)
  2. গ্রাউন্ডিং রেলের সাথে একটি গ্রাউন্ড পিন (GND) সংযুক্ত করুন (নীল)

এখন যেহেতু ব্রেডবোর্ডের ক্ষমতা আছে এবং এটি গ্রাউন্ডেড, আমরা আমাদের উপাদানগুলিকে সংযুক্ত করতে শুরু করতে পারি।

কীপ্যাড ওয়্যারিং করা সহজ কিন্তু আপনাকে কীপ্যাড এবং আরডুইনোতে পিনের নোট নিতে হবে। যখন আমরা আমাদের কোডের দিকে মনোযোগ দেব তখন এটি কাজে আসবে।

আপনার তারগুলি ব্যবহার করার সময় বাম দিকে শুরু করতে ভুলবেন না!

  • প্রথম পিন 13 এ যায়
  • দ্বিতীয় পিন 12 এ যায়
  • তৃতীয় পিন 11 এ যায়
  • চতুর্থ পিন 10 এ যায়
  • পঞ্চম পিন 9
  • ষষ্ঠ পিন থেকে 8
  • সপ্তম পিন থেকে 7
  • অষ্টম পিন থেকে 6

কীপ্যাড ওয়্যারিং করার সময়, একটি ডিজিটাল pwm পিন খোলা রাখতে ভুলবেন না। মাইক্রো-সার্ভোর জন্য আমাদের এটির প্রয়োজন হবে

আমরা কোডে যাওয়ার আগে, নিশ্চিত করুন যে আপনি কীপ্যাড লাইব্রেরি ইনস্টল করেছেন। এটি আপনার স্কেচে পাওয়া যাবে, তারপর স্কেচ ট্যাব, লাইব্রেরি অন্তর্ভুক্ত করুন। আপনি এটি ছাড়া কীপ্যাড ব্যবহার করতে পারবেন না।

এখন কোডের দিকে ফিরে আসুন এবং নিশ্চিত করুন যে কীপ্যাড কাজ করে এবং উপস্থিত মান দেয়

দ্রুত নোট: কীপ্যাড চেক করার জন্য আপনার যদি if স্টেটমেন্ট আছে তা নিশ্চিত করুন, অন্যথায় এটি কাজ করবে না। বিলম্বের বিষয়েও সতর্ক থাকুন, তারা কীপ্যাড থেকে নিবন্ধিত বোতামগুলির সাথে জগাখিচুড়ি করবে

#অন্তর্ভুক্ত

const বাইট সারি = 4; // চার সারি যেহেতু কিপ্যাড পূর্ণ

const বাইট কলাম = 4; // চারটি কলাম, উপরের মতই

চার বোতাম [সারি] [কলাম] = {

{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};

বাইট সারি P [সারি] = {13, 12, 11, 10}; // কীপ্যাডের সারি পিন

বাইট কলাম পি [কলাম] = {9, 8, 7, 6}; // কীপ্যাডের কলাম পিন

কীপ্যাড প্যাড = কীপ্যাড (makeKeymap (বোতাম), rowP, কলাম P, সারি, কলাম); // কীপ্যাড তৈরি করুন

অকার্যকর সেটআপ(){

Serial.begin (9600); }

অকার্যকর লুপ () {

char buttonPressed = pad.getKey (); // কীপ্যাড থেকে চর পান }}

পদক্ষেপ 2: মাইক্রো সার্ভো যোগ করুন

মাইক্রো সার্ভো যোগ করুন
মাইক্রো সার্ভো যোগ করুন
মাইক্রো সার্ভো যোগ করুন
মাইক্রো সার্ভো যোগ করুন

এখন সার্ভো মোটর যোগ করা যাক। এটি আমাদের বর্তমান প্রকল্পে যোগ করা সত্যিই সহজ কারণ মাইক্রো সার্ভারে কেবল তিনটি তার রয়েছে।

  • ব্রাউন তারের ব্রেডবোর্ডে গ্রাউন্ডিং রেল যায়
  • লাল চলে যায় পাওয়ার রেলের দিকে
  • কমলা Arduino এ পিন 3 এ যায়। মনে রাখবেন মাইক্রো সার্ভারে আরডুইনোতে PWM পিন থাকতে হবে। এটি TIMER2 ব্যবহার করে সার্ভোর কারণে

এখন শুধু নিশ্চিত করা যাক যে আমরা মাইক্রো সার্ভার ডান এবং এটি সরানো হয়

#অন্তর্ভুক্ত #অন্তর্ভুক্ত "Servo.h"

const বাইট সারি = 4; // চার সারি যেহেতু কিপ্যাড পূর্ণ

const বাইট কলাম = 4; // চারটি কলাম, উপরের মতই

চার বোতাম [সারি] [কলাম] = {

{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};

বাইট সারি P [সারি] = {13, 12, 11, 10}; // কীপ্যাডের সারি পিন

বাইট কলাম পি [কলাম] = {9, 8, 7, 6}; // কীপ্যাডের কলাম পিন

কীপ্যাড প্যাড = কীপ্যাড (makeKeymap (বোতাম), rowP, কলাম P, সারি, কলাম); // কীপ্যাড তৈরি করুন

সার্ভো কারেন্ট সার্ভো; // একটি servo নিয়ন্ত্রণ করার জন্য servo অবজেক্ট তৈরি করুন

// বেশিরভাগ বোর্ডে বারোটি সার্ভো অবজেক্ট তৈরি করা যায়

int pos = 0; // সার্ভো অবস্থান সংরক্ষণ করতে পরিবর্তনশীল

অকার্যকর সেটআপ(){

Serial.begin (9600); currentServo.attach (3); // সার্ভো অবজেক্টে পিন 9 এ সার্ভো সংযুক্ত করে

}

অকার্যকর লুপ () {

char buttonPressed = pad.getKey (); // কীপ্যাড থেকে চর পান }

currentServo.write (95);

}

ধাপ 3: সার্ভোতে কীপ্যাড ব্যবহার করতে কোড পরিবর্তন করুন

জানুন আমরা আমাদের কোড পরিবর্তন করতে যাচ্ছি যাতে আমরা যখন কীপ্যাডে একটি নির্দিষ্ট বোতাম চাপি, তখন সার্ভো একটি নির্দিষ্ট অবস্থানে চলে যায়। প্রথমেই গুরুত্বের বিষয়। 0 জন্য servo অবস্থান অদ্ভুত ছিল। যেহেতু আমি একটি ক্রমাগত ঘূর্ণন servo ছিল, যখনই এটি 0 এর কাছাকাছি পেয়েছে, servo শুধু ঘুরতে শুরু করেছে। আমি কোডটিতে যে নম্বরটি দিয়েছিলাম তা যতটা সম্ভব কম ছিল যতটা না ঘটতে পারে। যাই হোক, এখানে আমার চূড়ান্ত কোড:

#অন্তর্ভুক্ত #অন্তর্ভুক্ত

const বাইট সারি = 4; // চার সারি যেহেতু কিপ্যাড পূর্ণ

const বাইট কলাম = 4; // চারটি কলাম, উপরের মতই

চার বোতাম [সারি] [কলাম] = {

{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};

বাইট সারি P [সারি] = {13, 12, 11, 10}; // কীপ্যাডের সারি পিন

বাইট কলাম পি [কলাম] = {9, 8, 7, 6}; // কীপ্যাডের কলাম পিন

কীপ্যাড প্যাড = কীপ্যাড (makeKeymap (বোতাম), rowP, কলাম P, সারি, কলাম); // কীপ্যাড তৈরি করুন

Servo myServo; //

অকার্যকর সেটআপ(){

Serial.begin (9600); myServo.attach (5); // সার্ভো অবজেক্টে পিন 9 এ সার্ভো সংযুক্ত করে}

অকার্যকর লুপ () {

char key = pad.getKey (); // কীপ্যাড থেকে চরটি পান যদি (কী == '0') {myServo.write (11); Serial.println ("0"); বিলম্ব (15); } যদি (কী == '1') {myServo.write (12); Serial.println ("1"); বিলম্ব (15); } যদি (কী == '2') {myServo.write (24); Serial.println ("2"); বিলম্ব (15); } যদি (কী == '3') {myServo.write (36); Serial.println ("3"); বিলম্ব (15); }

যদি (কী == '4')

{myServo.write (48); Serial.println ("4"); বিলম্ব (15); }

যদি (কী == '5')

{myServo.write (60); Serial.println ("5"); বিলম্ব (15); }

যদি (কী == '6')

{myServo.write (72); Serial.println ("6"); বিলম্ব (15); }

যদি (কী == '7')

{myServo.write (84); Serial.println ("7"); বিলম্ব (15); }

যদি (কী == '8')

{myServo.write (96); Serial.println ("8"); বিলম্ব (15); }

যদি (কী == '9')

{myServo.write (108); Serial.println ("9"); বিলম্ব (15); }

যদি (কী == '*')

{myServo.write (120); Serial.println ("*"); বিলম্ব (15); }

যদি (কী == '#')

{myServo.write (132); Serial.println ("#"); বিলম্ব (15); }

যদি (কী == 'এ')

{myServo.write (146); Serial.println ("A"); বিলম্ব (15); }

যদি (কী == 'বি')

{myServo.write (158); Serial.println ("B"); বিলম্ব (15); }

যদি (কী == 'সি')

{myServo.write (170); Serial.println ("C"); বিলম্ব (15); }

যদি (কী == 'ডি')

{myServo.write (180); Serial.println ("D"); বিলম্ব (15); }}

প্রস্তাবিত: