সুচিপত্র:

প্যান-টিল্ট মাল্টি সার্ভো কন্ট্রোল: 11 টি ধাপ (ছবি সহ)
প্যান-টিল্ট মাল্টি সার্ভো কন্ট্রোল: 11 টি ধাপ (ছবি সহ)

ভিডিও: প্যান-টিল্ট মাল্টি সার্ভো কন্ট্রোল: 11 টি ধাপ (ছবি সহ)

ভিডিও: প্যান-টিল্ট মাল্টি সার্ভো কন্ট্রোল: 11 টি ধাপ (ছবি সহ)
ভিডিও: TP-Link Tapo C200 | | Pan/Tilt Home Security Wi-Fi Camera 2024, নভেম্বর
Anonim
প্যান-টিল্ট মাল্টি সার্ভো কন্ট্রোল
প্যান-টিল্ট মাল্টি সার্ভো কন্ট্রোল

এই টিউটোরিয়ালে, আমরা একটি রাস্পবেরি পাইতে পাইথন ব্যবহার করে একাধিক সার্ভকে নিয়ন্ত্রণ করার উপায় অনুসন্ধান করব। আমাদের লক্ষ্য একটি ক্যামেরা (একটি PiCam) স্থাপন করার জন্য একটি PAN/TILT প্রক্রিয়া হবে।

এখানে আপনি দেখতে পারেন কিভাবে আমাদের চূড়ান্ত প্রকল্প কাজ করবে:

কন্ট্রোল সার্ভো কন্ট্রোল লুপ পরীক্ষা:

ছবি
ছবি

ধাপ 1: BoM - উপাদান বিল

প্রধান অংশ:

  1. রাস্পবেরি পাই ভি 3 - US $ 32.00
  2. 5 মেগাপিক্সেল 1080p সেন্সর OV5647 মিনি ক্যামেরা ভিডিও মডিউল - US $ 13.00
  3. TowerPro SG90 9G 180 ডিগ্রী মাইক্রো সার্ভো (2 X)- US $ 4.00
  4. মিনি প্যান/ টিল্ট ক্যামেরা প্ল্যাটফর্ম অ্যান্টি -ভাইব্রেশন ক্যামেরা মাউন্ট w/ 2 Servos (*) - US $ 8.00
  5. প্রতিরোধক 1K ওহম (2X) - চ্ছিক
  6. বিবিধ: ধাতব অংশ, ব্যান্ড, ইত্যাদি (যদি আপনি আপনার প্যান/টিল্ট প্রক্রিয়া তৈরি করবেন)

(*) আপনি servos দিয়ে একটি সম্পূর্ণ প্যান/টিল্ট প্ল্যাটফর্ম কিনতে পারেন অথবা আপনার নিজের তৈরি করতে পারেন।

ধাপ 2: কিভাবে PWM কাজ করে

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

ছবি
ছবি

একটি LED উজ্জ্বলতা নিয়ন্ত্রণ করতে আমরা এই "গড়" ভোল্টেজ স্তরটি ব্যবহার করতে পারি উদাহরণস্বরূপ:

ছবি
ছবি

লক্ষ্য করুন যে এখানে যা গুরুত্বপূর্ণ তা হল ফ্রিকোয়েন্সি নিজেই নয়, কিন্তু "ডিউটি সাইকেল", এটি সেই সময়ের মধ্যে সম্পর্ক যা তরঙ্গের সময় দ্বারা পালস "উচ্চ" বিভক্ত। উদাহরণস্বরূপ, ধরুন আমরা আমাদের রাস্পবেরি পাই জিপিআইওর একটিতে 50Hz পালস ফ্রিকোয়েন্সি তৈরি করব। সময় (পি) ফ্রিকোয়েন্সি বা 20ms (1/f) এর বিপরীত হবে। যদি আমরা চাই যে আমাদের LED "অর্ধেক" উজ্জ্বল, আমাদের অবশ্যই 50%ডিউটি সাইকেল থাকতে হবে, এর মানে হল একটি "পালস" যা 10ms এর জন্য "উচ্চ" হবে।

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

সার্ভো

ধাপ 3: Hw ইনস্টল করা

Hw ইনস্টল করা হচ্ছে
Hw ইনস্টল করা হচ্ছে
Hw ইনস্টল করা হচ্ছে
Hw ইনস্টল করা হচ্ছে

সার্ভোসগুলি একটি বাহ্যিক 5V সরবরাহের সাথে সংযুক্ত হবে, তাদের ডেটা পিন (আমার ক্ষেত্রে, তাদের হলুদ তারের) রাস্পবেরি পাই GPIO এর সাথে নিচের মত সংযুক্ত হবে:

  • জিপিআইও 17 ==> টিল্ট সার্ভো
  • জিপিআইও 27 ==> প্যান সার্ভো

GND কে একসাথে সংযুক্ত করতে ভুলবেন না ==> রাস্পবেরি পাই - সার্ভস - বাহ্যিক বিদ্যুৎ সরবরাহ)

আপনি একটি বিকল্প হিসাবে থাকতে পারেন, রাস্পবেরি পাই জিপিআইও এবং সার্ভার ডেটা ইনপুট পিনের মধ্যে 1 কে ওহমের প্রতিরোধক। এটি একটি সার্ভো সমস্যার ক্ষেত্রে আপনার RPi কে রক্ষা করবে।

ধাপ 4: Servos ক্রমাঙ্কন

Servos ক্রমাঙ্কন
Servos ক্রমাঙ্কন
Servos ক্রমাঙ্কন
Servos ক্রমাঙ্কন
Servos ক্রমাঙ্কন
Servos ক্রমাঙ্কন

এটি করার প্রথম জিনিসটি হল আপনার সার্ভসের প্রধান বৈশিষ্ট্যগুলি নিশ্চিত করা। আমার ক্ষেত্রে, আমি একটি পাওয়ার প্রো SG90 ব্যবহার করছি।

এর ডেটশীট থেকে, আমরা বিবেচনা করতে পারি:

  • পরিসীমা: 180o
  • পাওয়ার সাপ্লাই: 4.8V (ইউএসবি পাওয়ার সাপ্লাই হিসেবে বাহ্যিক 5VDC ভালো কাজ করে)
  • কাজের ফ্রিকোয়েন্সি: 50Hz (সময়কাল: 20 ms)
  • পালস প্রস্থ: 1ms থেকে 2ms পর্যন্ত

তত্ত্বগতভাবে, সার্ভো তার উপর থাকবে

  • প্রাথমিক অবস্থান (0 ডিগ্রী) যখন 1ms একটি পালস তার ডেটা টার্মিনালে প্রয়োগ করা হয়
  • নিরপেক্ষ অবস্থান (90 ডিগ্রী) যখন 1.5 এমএস পালস তার ডেটা টার্মিনালে প্রয়োগ করা হয়
  • চূড়ান্ত অবস্থান (180 ডিগ্রী) যখন 2 এমএস একটি পালস তার ডেটা টার্মিনালে প্রয়োগ করা হয়

পাইথন ব্যবহার করে একটি সার্ভো পজিশন প্রোগ্রাম করার জন্য উপরের পদের জন্য সংবাদদাতা "ডিউটি সাইকেল" জানা খুবই গুরুত্বপূর্ণ হবে, আসুন কিছু হিসাব করি:

  • প্রাথমিক অবস্থান ==> (0 ডিগ্রী) পালস প্রস্থ ==> 1ms ==> ডিউটি সাইকেল = 1ms/20ms ==> 2.0%
  • নিরপেক্ষ অবস্থান (90 ডিগ্রী) পালস প্রস্থ 1.5 ms ==> ডিউটি সাইকেল = 1.5ms/20ms ==> 7.5%
  • চূড়ান্ত অবস্থান (180 ডিগ্রী) পালস 2 ms ==> ডিউটি সাইকেল = 2ms/20ms ==> 10%

সুতরাং ডিউটি চক্র 2 থেকে 10 %এর পরিসরে পরিবর্তিত হওয়া উচিত।

আসুন স্বতন্ত্রভাবে সার্ভিস পরীক্ষা করি। তার জন্য, আপনার রাস্পবেরি টার্মিনালটি খুলুন এবং আপনার পাইথন 3 শেল এডিটরকে "সুডো" হিসাবে চালু করুন (কারণ আপনার জিপিআইওগুলির সাথে পরিচালনা করার জন্য একজন "সুপার ব্যবহারকারী" হওয়া উচিত):

সুডো পাইথন 3

পাইথন শেলের উপর

>>

RPI. GPIO মডিউল আমদানি করুন এবং এটি GPIO কল করুন:

RPi. GPIO GPIO হিসাবে আমদানি করুন

আপনি কোন পিন-নম্বরিং স্কিমগুলি ব্যবহার করতে চান তা নির্ধারণ করুন (BCM বা BOARD)। আমি বোর্ডের সাথে এই পরীক্ষাটি করেছি, তাই আমি যে পিনগুলি ব্যবহার করেছি তা ছিল শারীরিক পিন (GPIO 17 = পিন 11 এবং GPIO 27 পিন 13)। আমার পক্ষে তাদের সনাক্ত করা এবং পরীক্ষার সময় ভুল করা সহজ ছিল না (চূড়ান্ত প্রোগ্রামে আমি বিসিএম ব্যবহার করব)। আপনার পছন্দগুলির মধ্যে একটি চয়ন করুন:

GPIO.setmode (GPIO. BOARD)

আপনি যে সার্ভো পিনটি ব্যবহার করছেন তা সংজ্ঞায়িত করুন:

tiltPin = 11

যদি পরিবর্তে, আপনি BCM স্কিম ব্যবহার করেছেন, শেষ 2 কমান্ডগুলি দ্বারা প্রতিস্থাপিত হওয়া উচিত:

GPIO.setmode (GPIO. BCM)

tiltPin = 17

এখন, আমাদের অবশ্যই উল্লেখ করতে হবে যে এই পিনটি একটি "আউটপুট" হবে

GPIO.setup (tiltPin, GPIO. OUT)

এবং, এই পিনে উৎপন্ন ফ্রিকোয়েন্সি কত হবে, আমাদের সার্ভোর জন্য 50Hz হবে:

tilt = GPIO. PWM (tiltPin, 50)

এখন, আসুন একটি প্রাথমিক ডিউটি চক্রের সাথে পিনে একটি PWM সংকেত তৈরি করা শুরু করি (আমরা এটি "0" রাখব):

iltাল = শুরু (0)

এখন, আপনি আপনার সার্ভোর গতিবিধি পর্যবেক্ষণ করে বিভিন্ন দায়িত্ব চক্রের মান প্রবেশ করতে পারেন। আসুন 2% দিয়ে শুরু করি এবং দেখি কি হয় (আমরা দেখছি যে সার্ভো "শূন্য অবস্থানে" যায়):

tilt. ChangeDutyCycle (2)

আমার ক্ষেত্রে, সার্ভো শূন্য অবস্থানে চলে গেল কিন্তু যখন আমি ডিউটি চক্রকে 3% এ পরিবর্তন করলাম তখন আমি লক্ষ্য করলাম যে সার্ভো একই অবস্থানে রয়ে গেছে, 3% এর বেশি ডিউটি চক্র নিয়ে চলা শুরু করে। সুতরাং, 3% হল আমার প্রাথমিক অবস্থান (ও ডিগ্রি)। 10%এর সাথে একই ঘটেছিল, আমার সার্ভো এই মানের উপরে গিয়েছিল, 13%এর শেষের দিকে। সুতরাং এই বিশেষ servo জন্য, ফলাফল ছিল:

  • 0 ডিগ্রী ==> 3% ডিউটি চক্র
  • 90 ডিগ্রী ==> 8% ডিউটি চক্র
  • 180 ডিগ্রী ==> 13% ডিউটি চক্র

আপনি আপনার পরীক্ষা শেষ করার পরে, আপনাকে অবশ্যই PWM বন্ধ করতে হবে এবং GPIO গুলি পরিষ্কার করতে হবে:

টিল্ট = স্টপ ()

GPIO.cleanup ()

উপরের টার্মিনাল প্রিন্ট স্ক্রিন আমার উভয় সার্ভিসের ফলাফল দেখায় (যার অনুরূপ ফলাফল রয়েছে)। আপনার পরিসীমা ভিন্ন হতে পারে।

ধাপ 5: একটি পাইথন স্ক্রিপ্ট তৈরি করা

একটি পাইথন স্ক্রিপ্ট তৈরি করা
একটি পাইথন স্ক্রিপ্ট তৈরি করা

আমাদের সার্ভোতে পাঠানো PWM কমান্ডগুলি "ডিউটি সাইকেলে" রয়েছে যেমন আমরা শেষ ধাপে দেখেছি। কিন্তু সাধারণত, আমরা একটি servo নিয়ন্ত্রণ করার জন্য একটি পরামিতি হিসাবে ডিগ্রীতে "কোণ" ব্যবহার করতে হবে। সুতরাং, আমাদের অবশ্যই "কোণ" কে রূপান্তর করতে হবে যা আমাদের Pi দ্বারা বোধগম্য হিসাবে কর্তব্যচক্রের ক্ষেত্রে আমাদের জন্য আরও স্বাভাবিক পরিমাপ।

এটা কিভাবে করতে হবে? খুব সহজ! আমরা জানি যে ডিউটি চক্র পরিসীমা 3% থেকে 13% পর্যন্ত যায় এবং এটি কোণের সমান যা 0 থেকে 180 ডিগ্রী পর্যন্ত হবে। এছাড়াও, আমরা জানি যে এই বৈচিত্রগুলি রৈখিক, তাই আমরা উপরে দেখানো হিসাবে একটি আনুপাতিক স্কিমা তৈরি করতে পারি। সুতরাং, একটি কোণ দেওয়া, আমরা একটি সংবাদদাতা দায়িত্ব চক্র থাকতে পারে:

কর্তব্যচক্র = কোণ/18 + 3

এই সূত্রটি রাখুন। আমরা পরবর্তী কোডে এটি ব্যবহার করব।

পরীক্ষা চালানোর জন্য একটি পাইথন স্ক্রিপ্ট তৈরি করা যাক। মূলত, আমরা পাইথন শেলের আগে যা করেছি তা পুনরাবৃত্তি করব:

সময় থেকে আমদানি ঘুম

GPIO GPIO.setmode (GPIO. BCM) GPIO.setwarnings (মিথ্যা) def setServoAngle (servo, angle): pwm = GPIO. PWM (servo, 50) pwm.start (8) dutyCycle = angle / 18 হিসাবে RPi. GPIO আমদানি করুন। + 3. pwm. ChangeDutyCycle (dutyCycle) ঘুম (0.3) pwm.stop () যদি _name_ == '_main_': import sys servo = int (sys.argv [1]) GPIO.setup (servo, GPIO. OUT) setServoAngle (servo, int (sys.argv [2])) GPIO.cleanup ()

উপরের কোডের মূল হল ফাংশন setServoAngle (servo, angle)। এই ফাংশনটি আর্গুমেন্ট, একটি সার্ভো GPIO নম্বর এবং একটি কোণ মান হিসাবে গ্রহণ করে যেখানে সার্ভো অবস্থান করতে হবে। একবার এই ফাংশনের ইনপুট "এঙ্গেল" হয়ে গেলে, আমাদের অবশ্যই এটিকে পূর্বের ডেভেলপ করা ফর্মুলা ব্যবহার করে শতাংশে ডিউটি সাইকেলে রূপান্তর করতে হবে।

যখন স্ক্রিপ্টটি কার্যকর করা হয়, তখন আপনাকে অবশ্যই প্যারামিটার, সার্ভো জিপিআইও এবং কোণ হিসাবে প্রবেশ করতে হবে।

উদাহরণ স্বরূপ:

sudo python3 angleServoCtrl.py 17 45

উপরের কমান্ডটি GPIO 17- এ 45 ডিগ্রী সহ "উচ্চতা" -এ সংযুক্ত সার্ভোর অবস্থান করবে। অনুরূপ কমান্ড প্যান সার্ভো নিয়ন্ত্রণের জন্য ব্যবহার করা যেতে পারে ("আজিমুথ" এ 45 ডিগ্রি অবস্থান):

sudo পাইথন কোণ ServoCtrl.py 27 45

ফাইল AngServoCtrl.py আমার GitHub থেকে ডাউনলোড করা যাবে

ধাপ 6: প্যান-টিল্ট মেকানিজম

প্যান-টিল্ট মেকানিজম
প্যান-টিল্ট মেকানিজম

"প্যান" সার্ভো আমাদের ক্যামেরা ("আজিমুথ এঙ্গেল") "অনুভূমিকভাবে" সরিয়ে দেবে এবং আমাদের "টিল্ট" সার্ভো এটি "উল্লম্বভাবে" (উচ্চতা কোণ) সরাবে।

নিচের ছবিটি দেখায় কিভাবে প্যান/টিল্ট মেকানিজম কাজ করে:

ছবি
ছবি

আমাদের উন্নয়নের সময় আমরা "চরম" এ যাব না এবং আমরা আমাদের প্যান/টিল্ট মেকানিজমটি শুধুমাত্র 30 থেকে 150 ডিগ্রী পর্যন্ত ব্যবহার করব। এই পরিসীমাটি একটি ক্যামেরার সাথে ব্যবহার করার জন্য যথেষ্ট হবে।

ধাপ 7: প্যান -টিল্ট মেকানিজম - যান্ত্রিক নির্মাণ

প্যান -টিল্ট মেকানিজম - যান্ত্রিক নির্মাণ
প্যান -টিল্ট মেকানিজম - যান্ত্রিক নির্মাণ
প্যান -টিল্ট মেকানিজম - যান্ত্রিক নির্মাণ
প্যান -টিল্ট মেকানিজম - যান্ত্রিক নির্মাণ
প্যান -টিল্ট মেকানিজম - যান্ত্রিক নির্মাণ
প্যান -টিল্ট মেকানিজম - যান্ত্রিক নির্মাণ

আসুন এখন, একটি প্যান/টিল্ট মেকানিজম হিসাবে আমাদের 2 টি সার্ভিস সমাবেশ করি। আপনি এখানে 2 টি কাজ করতে পারেন। শেষ ধাপে দেখানো প্যান-টিল্ট প্ল্যাটফর্ম প্রক্রিয়াটি কিনুন বা আপনার প্রয়োজনীয়তা অনুসারে আপনার নিজের তৈরি করুন।

একটি উদাহরণ হতে পারে যেটি আমি তৈরি করেছি, শুধুমাত্র সার্ভোসগুলিকে একে অপরের সাথে স্ট্র্যাপ করা এবং উপরের ছবিতে দেখানো পুরানো খেলনা থেকে ছোট ধাতব টুকরা ব্যবহার করা।

ধাপ 8: বৈদ্যুতিক প্যান/টিল্ট সমাবেশ

বৈদ্যুতিক প্যান/টিল্ট সমাবেশ
বৈদ্যুতিক প্যান/টিল্ট সমাবেশ
বৈদ্যুতিক প্যান/টিল্ট সমাবেশ
বৈদ্যুতিক প্যান/টিল্ট সমাবেশ
বৈদ্যুতিক প্যান/কাত সমাবেশ
বৈদ্যুতিক প্যান/কাত সমাবেশ
বৈদ্যুতিক প্যান/টিল্ট সমাবেশ
বৈদ্যুতিক প্যান/টিল্ট সমাবেশ

একবার আপনার প্যান/টিল্ট প্রক্রিয়া একত্রিত হয়ে গেলে, সম্পূর্ণ বৈদ্যুতিক সংযোগের জন্য ছবিগুলি অনুসরণ করুন।

  1. আপনার পাই বন্ধ করুন।
  2. সমস্ত বৈদ্যুতিক সংযোগ করুন।
  3. দুবার চেক করুন।
  4. প্রথমে আপনার পাই চালু করুন।
  5. সবকিছু ঠিক থাকলে, আপনার সার্ভিসগুলিকে শক্তি দিন।

ক্যামেরা কিভাবে সেট-আপ করতে হয় তা আমরা এই টিউটোরিয়ালে অন্বেষণ করব না, এটি পরবর্তী টিউটোরিয়ালে ব্যাখ্যা করা হবে।

ধাপ 9: পাইথন স্ক্রিপ্ট

একসাথে উভয় সার্ভস নিয়ন্ত্রণ করতে একটি পাইথন স্ক্রিপ্ট তৈরি করা যাক:

সময় থেকে আমদানি ঘুম

RPi. GPIO আমদানি GPIO GPIO.setmode (GPIO. BCM) GPIO.setwarnings (মিথ্যা) প্যান = 27 টিল্ট = 17 GPIO.setup (টিল্ট, GPIO. OUT) # সাদা => TILT GPIO.setup (প্যান, GPIO. OUT) # ধূসর ==> প্যান ডিফ সেট সার্ভোঅ্যাঙ্গেল (সার্ভো, এঙ্গেল): অ্যাঙ্গার্ট এঙ্গেল> = 30 এবং এঙ্গেল 90 (মিডল পয়েন্ট) ==> 150 সেট সার্ভোএঙ্গেল (টিল্ট, ইন্ট (sys.argv [2])) # 30 ==> 90 (মধ্য পয়েন্ট) ==> 150 GPIO.cleanup ()

যখন স্ক্রিপ্টটি কার্যকর করা হয়, তখন আপনাকে অবশ্যই প্যারামিটার, প্যান এঙ্গেল এবং টিল্ট এঙ্গেল হিসাবে প্রবেশ করতে হবে। উদাহরণ স্বরূপ:

sudo python3 servoCtrl.py 45 120

উপরের কমান্ডটি প্যান/টিল্ট মেকানিজমকে "আজিমুথ" (প্যান এঙ্গেল) -এ 45 ডিগ্রী এবং 120 ডিগ্রী "এলিভেশন" (টিল্ট অ্যাঙ্গেল) -এ স্থাপন করবে। মনে রাখবেন যদি কোন প্যারামিটার প্রবেশ করা না হয়, তাহলে ডিফল্ট উভয়ই হবে, প্যান এবং কাত কোণ 90 ডিগ্রী পর্যন্ত সেট করা হবে।

নীচে আপনি কিছু পরীক্ষা দেখতে পারেন:

ছবি
ছবি

ServoCtrl.py ফাইলটি আমার GitHub থেকে ডাউনলোড করা যাবে।

ধাপ 10: সার্ভারের লুপ টেস্ট

চলুন এখন একটি পাইথন স্ক্রিপ্ট তৈরি করি স্বয়ংক্রিয়ভাবে পরিপূর্ণ পরিধি পরিমাপ করার জন্য:

সময় থেকে আমদানি ঘুম

GPIO GPIO.setmode (GPIO. BCM) GPIO.setwarnings (মিথ্যা) pan = 27 tilt = 17 GPIO.setup (tilt, GPIO. OUT) # white => TILT GPIO.setup (pan, GPIO. OUT) হিসাবে RPi. GPIO আমদানি করুন) # ধূসর ==> প্যান ডিফ সেট সার্ভোঅ্যাঙ্গেল (সার্ভো, এঙ্গেল): এ্যাসার্ট কোণ> = 30 এবং কোণ <= 150 pwm = GPIO. PWM (servo, 50) pwm.start (8) dutyCycle = angle / 18. + 3। pwm. ChangeDutyCycle (dutyCycle) ঘুম (0.3) pwm.stop () যদি _name_ == '_main_': i in range (30, 160, 15): setServoAngle (pan, i) setServoAngle (tilt, i) for i in পরিসীমা (150, 30, -15): setServoAngle (pan, i) setServoAngle (tilt, i) setServoAngle (pan, 100) setServoAngle (tilt, 90) GPIO.cleanup ()

প্রোগ্রামটি স্বয়ংক্রিয়ভাবে উভয় কোণে 30 থেকে 150 ডিগ্রী পর্যন্ত একটি লুপ চালাবে।

ফলাফলের নিচে:

আমি পূর্বে ব্যাখ্যা করা PWM তত্ত্বকে ব্যাখ্যা করার জন্য শুধুমাত্র একটি অসিলোস্কোপ সংযুক্ত করেছি।

ছবি
ছবি

উপরের কোড, servoTest.py আমার GitHub থেকে ডাউনলোড করা যাবে।

ধাপ 11: উপসংহার

উপসংহার
উপসংহার

বরাবরের মতো, আমি আশা করি এই প্রকল্পটি অন্যদের ইলেকট্রনিক্সের উত্তেজনাপূর্ণ জগতে তাদের পথ খুঁজে পেতে সাহায্য করতে পারে!

বিস্তারিত এবং চূড়ান্ত কোডের জন্য, দয়া করে আমার GitHub আমানত দেখুন: RPi-Pan-Tilt-Servo-Control

আরো প্রকল্পের জন্য, দয়া করে আমার ব্লগে যান: MJRoBot.org

আমার পরবর্তী টিউটোরিয়ালের এক ঝলক নিচে:

ছবি
ছবি

বিশ্বের দক্ষিণ দিক থেকে সালাম!

আমার পরবর্তী নির্দেশনায় দেখা হবে!

ধন্যবাদ, মার্সেলো

প্রস্তাবিত: