সুচিপত্র:
- ধাপ 1: উপাদান প্রয়োজন
- ধাপ 2: শরীরের গঠন
- ধাপ 3: ওয়্যারিং এবং কোডিং
- ধাপ 4: রাস্পবেরি পাই এবং চিত্র স্বীকৃতি
- ধাপ 5: এলসিডি এবং স্পিকার
- ধাপ 6: চূড়ান্ত পদক্ষেপ।
ভিডিও: NAIN 1.0 - Arduino ব্যবহার করে মৌলিক Humanoid রোবট: 6 ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:56
নাইন 1.0 এর মূলত 5 টি বিচ্ছিন্নযোগ্য মডিউল থাকবে-
1) আর্ম - যা সার্ভসের মাধ্যমে নিয়ন্ত্রণ করা যায়।
2) চাকা - যা ডিসি মোটর দিয়ে নিয়ন্ত্রণ করা যায়।
3) পা - নাইন চলাচলের জন্য চাকা বা পায়ের মধ্যে স্যুইচ করতে সক্ষম হবে।
4) মাথা - বিভিন্ন মাথা নেড়ে এর মাথা নিয়ন্ত্রণ করা যায়।
5) ক্যামেরা মডিউল- যা ফেস রিকগনিশন অ্যাক্সেসের জন্য ইন্টারফেস করা যায়।
এই সাথে NAIN ব্যবহারকারীদের সাথে কথা বলতে এবং যোগাযোগ করতে সক্ষম হবে এবং এর অন্তর্নির্মিত ঘড়ি দ্বারা আপনাকে সময় দেখাতে পারে। এতে ওয়াই-ফাই /ব্লুটুথ ব্যবহার করে একটি বেতার নিয়ন্ত্রণ থাকবে।
ধাপ 1: উপাদান প্রয়োজন
- সার্ভো মোটর -4
- আরডুইনো মেগা - ১
- রাস্পবেরি পাই - ১
- ইউএসবি ক্যামেরা -1
- স্পিকার -1
- ডিসি মোটর -২
- L293D -1
- ব্যাটারি প্যাক - ১
- চাকা -২
- ক্যাস্টর চাকা - 2
এগুলির সাথে আপনার শরীর এবং সারস এবং বাদামগুলি সঠিকভাবে ফিট করার জন্য অ্যালুমিনিয়াম স্কয়ার স্ট্রিপগুলির প্রয়োজন হবে।
ধাপ 2: শরীরের গঠন
শরীরের কাঠামো হালকা ওজনের অ্যালুমিনিয়াম স্কয়ার রড দিয়ে তৈরি হবে যা এটিকে সহজেই একত্রিত করতে সাহায্য করবে।
এখন পর্যন্ত ছবিতে দেখানো হিসাবে তাদের একত্রিত করুন এবং বাহুতে সংযুক্ত মোটর মোটরগুলির জন্য সঠিক স্থানগুলিও কেটে ফেলুন।
নীচে একটি ষড়ভুজাকার কাঠের বেস সংযুক্ত করুন।
কাঠের গোড়ার নীচে, ডিসি মোটর এবং চাকা সংযুক্ত করুন যেমনটি আমরা যে কোনও লাইন অনুসারী রোবটে করি।
মজার বিষয় হল, দুটি ক্যাস্টর চাকা যোগ করুন- একটি সামনের দিকে এবং অন্যটি রোবটের পিছনে।
ধাপ 3: ওয়্যারিং এবং কোডিং
বিভিন্ন মডিউলগুলিকে ওয়্যার আপ করতে এই অংশে সংযুক্ত কোডগুলি পড়ুন।
প্রথমে আমরা স্বতন্ত্র কোড ব্যবহার করে প্রতিটি মডিউল পরীক্ষা করেছিলাম এবং তারপরে আমরা সেগুলিকে একত্রিত করেছিলাম এবং একটি ব্লুটুথ মডিউল ব্যবহার করে চাকা এবং অস্ত্রের চলাচল নিয়ন্ত্রণ করেছি।
ধাপ 4: রাস্পবেরি পাই এবং চিত্র স্বীকৃতি
একটি ইউএসবি ক্যামেরা এবং রাস্পবেরি পাই ব্যবহার করে চিত্র শনাক্তকরণ করা হয়।
এর জন্য, আপনাকে আপনার পাইতে ওপেন সিভি লাইব্রেরি ইনস্টল করতে হবে।
আপনি এখান থেকে এটি করতে পারেন-https://github.com/jabelone/OpenCV-for-Pi
তারপরে আপনাকে হার ক্যাসকেড ব্যবহার করে চিত্র স্বীকৃতি করতে হবে।
আপনি এখান থেকে এটি করতে পারেন -https://thecodacus.com/category/opencv/#. WvsNC4iFPDc
উপরের লিঙ্কটি অধ্যয়ন করার পরে এবং এটি অনুসরণ করার পরে, আমি চূড়ান্ত কোডে কিছু পরিবর্তন করেছি যা আমি ব্যবহার করেছি যা আমি নীচে পেস্ট করছি -
ডেটাসেট জেনারেটর:
importcv2
ক্যাম = সিভি ২. ভিডিওক্যাপচার (0)
ডিটেক্টর = cv2।
আমি = 0
অফসেট = 50
নাম = raw_input ('আপনার আইডি লিখুন')
যখন সত্য:
ret, im = cam.read ()
ধূসর = cv2.cvtColor (im, cv2. COLOR_BGR2GRAY)
মুখ = ডিটেক্টর।
মুখে (x, y, w, h) জন্য:
i = i+1
cv2.imwrite ("dataSet/face।"+name+'।'+str (i)+".jpg", ধূসর [y-offset: y+h+offset, x-offset: x+w+offset])
cv2.rectangle (im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
cv2.imshow ('im', im [y-offset: y+h+offset, x-offset: x+w+offset])
যদি cv2.waitKey (100) এবং 0xFF == ord ('q'):
বিরতি
# নমুনা সংখ্যা 20 এর বেশি হলে বিরতি দিন
এলিফ (i> 20):
বিরতি
ক্যাম রিলিজ ()
cv2.destroyAllWindows ()
এটি আপনার ছবির একটি ডেটসেট তৈরি করবে যা প্রমাণীকরণের জন্য ব্যবহার করা হবে।
প্রশিক্ষক:
importcv2, ওএস
np হিসাবে numpy আমদানি করুন
পিআইএল আমদানি ছবি থেকে
সনাক্তকারী = cv2.face.createLBPHFaceRecognizer ()
cascadePath = "Classifiers/face.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
পথ = 'ডেটা সেট'
def get_images_and_labels (পাথ):
image_paths = [os.path.join (path, f) for f in os.listdir (path)]
# ছবিতে মুখের ছবি থাকবে
ছবি =
# লেবেলে ইমেজের জন্য নির্ধারিত লেবেল থাকবে
লেবেল =
image_path এর জন্য image_path:
# ছবিটি পড়ুন এবং গ্রেস্কেলে রূপান্তর করুন
image_pil = Image.open (image_path).convert ('L')
# ইমেজ ফরম্যাটকে অসম্পূর্ণ অ্যারে রূপান্তর করুন
চিত্র = np.array (image_pil, 'uint8')
# ছবির লেবেল পান
nbr = int (os.path.split (image_path) [-1].split ("।") [1].replace ("face-", ""))
#nbr = int ( । nbr এ c এর জন্য join (str (ord (c))))
nbr প্রিন্ট করুন
# ছবিতে মুখ সনাক্ত করুন
face = faceCascade.detectMultiScale (ছবি)
# যদি মুখ সনাক্ত করা হয়, তাহলে ছবিগুলিকে মুখ এবং লেবেলে লেবেল যুক্ত করুন
মুখে (x, y, w, h) জন্য:
images.append (ছবি [y: y + h, x: x + w])
labels.append (nbr)
cv2.imshow ("ট্র্যানিং সেটে মুখ যোগ করা …", ছবি [y: y + h, x: x + w])
cv2.waitKey (10)
# ছবির তালিকা এবং লেবেল তালিকা ফিরিয়ে দিন
ছবি, লেবেল ফেরত দিন
ছবি, লেবেল = get_images_and_labels (পাথ)
cv2.imshow ('পরীক্ষা', ছবি [0])
cv2.waitKey (1)
identizer.train (ছবি, np.array (লেবেল))
identizer.save ('trainer/trainer.yml')
cv2.destroyAllWindows ()
ডিটেক্টর
importcv2
np হিসাবে numpy আমদানি করুন
আমদানি ওএস
c = 0
সনাক্তকারী = cv2.face.createLBPHFaceRecognizer ()
identizer.load ('trainer/trainer.yml')
cascadePath = "Classifiers/face.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
ক্যাম = সিভি ২. ভিডিওক্যাপচার (0)
fontface = cv2. FONT_HERSHEY_SIMPLEX
ফন্টস্কেল = ১
fontcolor = (255, 255, 255)
যখন সত্য:
ret, im = cam.read ()
ধূসর = cv2.cvtColor (im, cv2. COLOR_BGR2GRAY)
মুখ = faceCascade.detectMultiScale (ধূসর, 1.2, 5)
মুখে (x, y, w, h) জন্য:
cv2.rectangle (im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
আইডি = শনাক্তকারী পূর্বাভাস (ধূসর [y: y+h, x: x+w])
যদি (আইডি <70):
যদি (আইডি == 1):
আইডি = "শশাঙ্ক"
এলিফ (আইডি == 2):
যদি (c == 0):
আইডি = "শিবম"
c = c+1
os.system ("espeak 'Welcome Shivam Access Granted" ")
অন্য:
আইডি = "শিবম"
অন্য:
আইডি = "অজানা"
cv2.putText (im, str (Id), (x, y+h), fontface, fontscale, fontcolor)
cv2.imshow ('im', im)
যদি cv2.waitKey (10) এবং 0xFF == ord ('q'):
বিরতি
ক্যাম রিলিজ ()
cv2.destroyAllWindows ()
ধাপ 5: এলসিডি এবং স্পিকার
আমি একটি I2C LED ডিসপ্লে এবং একটি স্পিকার ব্যবহার করেছি।
LED টি Arduino Mega এর মাধ্যমে নিয়ন্ত্রিত হয় এবং এর কোড চূড়ান্ত কোডে দেওয়া হয়।
স্পিকারের জন্য, এটি রাস্পবেরি পাই এর সাথে সংযুক্ত এবং ইস্পেক ইউটিলিটি ব্যবহার করে।
আপনি এখানে তার রেফারেন্স খুঁজে পেতে পারেন-https://www.dexterindustries.com/howto/make-your-raspberry-pi-speak/
ধাপ 6: চূড়ান্ত পদক্ষেপ।
সবকিছু একত্রিত করুন এবং ঠুং ঠুং শব্দ জন্য প্রস্তুত হন।
প্রস্তাবিত:
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ: 6 টি ধাপ
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ করা: অ্যাক্সিলারেশন সীমিত, আমি মনে করি পদার্থবিজ্ঞানের কিছু আইন অনুসারে।- টেরি রিলি একটি চিতা তাড়া করার সময় আশ্চর্যজনক ত্বরণ এবং গতিতে দ্রুত পরিবর্তন ব্যবহার করে। দ্রুততম প্রাণীটি একবারে উপকূলে শিকারের জন্য তার সর্বোচ্চ গতি ব্যবহার করে। দ্য
M5stick-C সহ Neopixel Ws2812 Rainbow LED Glow - Arpino IDE ব্যবহার করে M5stack M5stick C ব্যবহার করে Neopixel Ws2812 তে রেনবো চালাচ্ছে: 5 টি ধাপ
M5stick-C সহ Neopixel Ws2812 Rainbow LED Glow | Arduino IDE ব্যবহার করে M5stack M5stick C ব্যবহার করে Neopixel Ws2812 তে রেনবো চালানো: হাই বন্ধুরা এই নির্দেশাবলীতে আমরা শিখব কিভাবে neopixel ws2812 LEDs বা LED স্ট্রিপ বা LED ম্যাট্রিক্স বা LED রিং ব্যবহার করতে হয় m5stack m5stick-C ডেভেলপমেন্ট বোর্ড Arduino IDE দিয়ে এবং আমরা তৈরি করব এর সাথে একটি রামধনু প্যাটার্ন
HT12D HT12E ব্যবহার করে RF 433MHZ রেডিও কন্ট্রোল - 433mhz: 5 টি ধাপ সহ HT12E এবং HT12D ব্যবহার করে একটি Rf রিমোট কন্ট্রোল তৈরি করা
HT12D HT12E ব্যবহার করে RF 433MHZ রেডিও কন্ট্রোল | 433mhz দিয়ে HT12E এবং HT12D ব্যবহার করে একটি Rf রিমোট কন্ট্রোল তৈরি করা: এই নির্দেশে আমি আপনাকে দেখাবো কিভাবে 433mhz ট্রান্সমিটার রিসিভার মডিউল ব্যবহার করে HT12E এনকোড & HT12D ডিকোডার আইসি এই নির্দেশে আপনি খুব সস্তা উপাদানগুলির মতো ডেটা পাঠাতে এবং গ্রহণ করতে পারেন: HT
ব্লুটুথ মডিউল এবং স্বায়ত্তশাসিত রোবট মুভমেন্ট ব্যবহার করে ভয়েস দ্বারা নিয়ন্ত্রিত দূরত্ব, দিকনির্দেশনা এবং আবর্তনের ডিগ্রী (পূর্ব, পশ্চিম, উত্তর, দক্ষিণ) সহ আরডুইনো রোবট: 6 ধাপ
ব্লুটুথ মডিউল এবং স্বায়ত্তশাসিত রোবট মুভমেন্ট ব্যবহার করে ভয়েস দ্বারা নিয়ন্ত্রিত দূরত্ব, দিক এবং আবর্তনের ডিগ্রী (পূর্ব, পশ্চিম, উত্তর, দক্ষিণ) সহ আরডুইনো রোবট। , বাম, ডান, পূর্ব, পশ্চিম, উত্তর, দক্ষিণ) ভয়েস কমান্ড ব্যবহার করে সেন্টিমিটারে দূরত্ব প্রয়োজন। রোবটকে স্বয়ংক্রিয়ভাবেও সরানো যায়
Rpi 3: 8 ধাপ ব্যবহার করে কিভাবে রোবট অনুসরণ করে একটি লাইন তৈরি করবেন
কিভাবে Rpi 3 ব্যবহার করে রোবট অনুসরণ করে একটি লাইন তৈরি করবেন: এই টিউটোরিয়ালে, আপনি একটি লাইন-অনুসরণকারী রোবট বাগি তৈরি করতে শিখবেন যাতে এটি সহজেই একটি ট্র্যাকের চারপাশে ঘুরতে পারে