সুচিপত্র:

একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ: 3 ধাপ
একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ: 3 ধাপ

ভিডিও: একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ: 3 ধাপ

ভিডিও: একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ: 3 ধাপ
ভিডিও: The Fascinating World of YouTube Communities Batman Telltale Series 2024, নভেম্বর
Anonim
একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ
একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ
একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ
একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ
একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ
একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ
একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ
একটি ভয়েস নিয়ন্ত্রিত জাম্পিং জ্যাক- গুগল ভয়েস এআইওয়াই সংস্করণ

সুতরাং আপনি ক্রিসমাসের জন্য সেই AIY ভয়েস কিট পেয়েছেন এবং নির্দেশাবলী অনুসরণ করে এটি নিয়ে খেলছেন। এটা মজার, কিন্তু এখন?

নীচে বর্ণিত প্রকল্পটি একটি সহজ ডিভাইস উপস্থাপন করে যা রাস্পবেরি পাই এর জন্য AIY ভয়েস HAT ব্যবহার করে তৈরি করা যায়। এটি গুগল ভয়েস রিকগনিশন সিস্টেম ব্যবহার করে এলইডি এবং দুটি সার্ভস নিয়ন্ত্রণ করে, একটি খুব সহজ গিয়ার দিয়ে জাম্পিং জ্যাকের হাত ও পা চালায়।

পটভূমিতে কাজ করা সফ্টওয়্যারটি servo_demo.py স্ক্রিপ্টের একটি পরিবর্তন, যেমন এটি AIY ভয়েস কিট ম্যানুয়ালটিতে বর্ণিত হয়েছে। হার্ড এবং সফ্টওয়্যার সেট আপ করার জন্য সেখানে দেওয়া নির্দেশাবলী অনুসরণ করুন। ডিভাইসটি নিজেই তৈরি করা সহজ এবং খুব বেশি হস্তশিল্পের দক্ষতার প্রয়োজন হয় না। উপরন্তু একটি কাটার ছুরি, একটি ড্রিল এবং একটি সোল্ডারিং লোহা সহায়ক হবে।

আপনি যদি আপনার হাতের পলকে ভয়েস রিকগনিশন সিস্টেম অ্যাক্টিভেট করেন এবং 'হ্যান্ডস আপ' বলেন জাম্পিং জ্যাক হাত -পা বাড়াবে, 'হ্যান্ডস সেন্টার' উভয় সার্ভোসকে মধ্যম অবস্থানে নিয়ে যাবে এবং 'হ্যান্ডস ডাউন' হাত -পা নিচে নামানো। 'লেফট আপ' -এ বাম হাত -পা ওঠানো হবে এবং' ডান নিচে 'ডানদিকের নিচে,' রাইট আপ 'উল্টো। "নাচ", এটি নাচ তৈরি করবে, ভাল অন্তত একটি ধরনের। এটিও কথা বলছে, অনুগ্রহ করে সংযুক্ত ভিডিওটি দেখুন।

তাই সামান্য প্রচেষ্টায়, আপনি আপনার নিজের নাচ, আড্ডা এবং গানের রোবট তৈরি করতে পারেন।

বিশেষ করে ছোট শিশুদের দ্বারা এর ব্যবহার সহজ করার জন্য, এবং 'ম্যাজিক' ফ্যাক্টরকে উন্নত করার জন্য, AIY বাক্সের বোতামটি একটি প্রক্সিমিটি সেন্সর দ্বারা ট্রিগার হিসাবে প্রতিস্থাপিত করা হয়েছিল। এর সরলতার জন্য, আমি পোলোলু থেকে একটি ডিজিটাল দূরত্ব সেন্সর ব্রেকআউট ব্যবহার করেছি যা কোন বস্তু 5 সেন্টিমিটারের কাছাকাছি হলে চিনতে পারে, এবং এটি একটি বোতামের মতো ব্যবহার করা যেতে পারে। LEDs নির্দেশ করে যখন ডিভাইসটি অর্ডারের জন্য অপেক্ষা করছে, শুনছে বা "ভাবছে"। সার্ভিস, সেন্সর এবং LEDs GPIOZero সফটওয়্যার লাইব্রেরি দ্বারা নিয়ন্ত্রিত হয়।

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

আপনি চলমান গিয়ার উপস্থাপন করতে চান বা সুন্দর, শিশুদের উপযোগী বিন্যাস আছে কিনা তা নির্ভর করে আপনি শরীরের উভয় দিক ব্যবহার করতে পারেন। --------- "হ্যাম্পেলম্যান" হল "জাম্পিং জ্যাক" এর জার্মান শব্দ, যার কিছু নির্দিষ্ট অর্থ রয়েছে।

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

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

রাস্পবেরি পাই 3; 32 UK যুক্তরাজ্যের পিমোরোনিতে

AIY ভয়েস কিট; 25 UK যুক্তরাজ্যের পিমোরোনিতে

পোলোলু ডিজিটাল দূরত্ব সেন্সর ব্রেকআউট শার্প সেন্সর সহ, 5 সেমি; 5.90 Exp Exp-tec.de এ

দুই 9g servos

দুটি সাদা এলইডি এবং একটি প্রতিরোধক

কিছু হেডার এবং জাম্পার কেবল

একটি 2 মিমি ফরেক্স প্লেট, 250 x 500 মিমি; 1.70 Mod মডুলোর, বার্লিন, জার্মানি

M3 স্ক্রু, বাদাম এবং ওয়াশার, সমস্ত চলমান অংশগুলিকে সংযুক্ত করতে। আমি ছয় 10 এবং চার 16 মিমি নাইলন স্ক্রু ব্যবহার করেছি।

প্লেটগুলিতে servos ঠিক করতে এবং servos অস্ত্র এবং গিয়ার সংযোগ করার জন্য ছয় M2 স্ক্রু এবং বাদাম।

কয়েক ফোঁটা প্লাস্টিকের আঠা

ধাপ 2: ডিভাইসের সমাবেশ এবং ব্যবহার

সমাবেশ এবং ডিভাইসের ব্যবহার
সমাবেশ এবং ডিভাইসের ব্যবহার
সমাবেশ এবং ডিভাইসের ব্যবহার
সমাবেশ এবং ডিভাইসের ব্যবহার
সমাবেশ এবং ডিভাইসের ব্যবহার
সমাবেশ এবং ডিভাইসের ব্যবহার

এআইওয়াই ভয়েস কিট সম্পর্কে নিজেই, সার্ভার সম্পর্কিত বিভাগ সহ কিটের সাথে আসা বর্ণনার নির্দেশাবলী অনুসরণ করুন। আমি AIY ভয়েস ব্রেকআউটে সার্ভো পোর্টগুলিতে বেশ কয়েকটি থ্রি-পিন হেডার সোল্ডার করার সুপারিশ করব, যাতে আপনি HAT এর সাথে সার্ভোস, সেন্সর এবং LEDs খুব সহজেই সংযুক্ত করতে পারেন।

জাম্পিং জ্যাক সম্পর্কে, আপনি হয়ত এখানে আমার দেওয়া অঙ্কনগুলিকে svg- এবং PDF- ফাইল হিসেবে টেমপ্লেট হিসেবে ব্যবহার করতে পারেন, অথবা আপনার নিজের ধারণা অনুযায়ী সেগুলো সংশোধন করতে পারেন। আপনি জাম্পিং জ্যাকের পা এবং বাহু চালানোর জন্য গিয়ারের মৌলিক বিন্যাসটি রাখতে পছন্দ করতে পারেন, এটি নিশ্চিত করে যে পিভোটিং পয়েন্ট এবং গিয়ারের মধ্যে দূরত্ব সার্ভো, আর্ম এবং লেগে একই।

বিকল্পভাবে, আপনি একটি সংস্করণও তৈরি করতে পারেন যদি অস্ত্র ও পা সরাসরি চারটি পৃথক সার্ভো দ্বারা বা আরও উন্নত গিয়ার দ্বারা চালিত হয়।

অঙ্কন ব্যবহার করে, একটি ফরেক্স, কার্ডবোর্ড বা পাতলা পাতলা প্লেট থেকে টুকরো টুকরো করুন এবং যথাযথ অবস্থানে গর্তগুলি ড্রিল করুন। দূরত্বের টুকরোগুলি বাহু এবং পায়ের মূল বিন্দুতে আঠালো করুন, গর্তগুলির ভাল সারিবদ্ধতা নিশ্চিত করুন।

বেস প্লেটে সার্ভোস এবং চলন্ত অংশগুলি ঠিক করুন। নির্দেশিত হিসাবে দূরত্ব সেন্সর এবং LED যোগ করুন। Servos M2 স্ক্রু, M3 স্ক্রু সঙ্গে সব চলন্ত অংশ সঙ্গে সংশোধন করা হয়। আমি নাইলন M3 স্ক্রু ব্যবহার করেছি, কিন্তু শুধু এসথেটিক কারণে।

সার্ভো অস্ত্র মধ্যম অবস্থানে স্থাপন করা হয় কিনা তা পরীক্ষা করুন। সার্ভো অস্ত্র এবং গিয়ার সংযুক্ত করুন, আমি এই উদ্দেশ্যে M2 স্ক্রু ব্যবহার করেছি।

AIY বোর্ডে servo সংযোগকারীগুলিতে servos, LEDs এবং দূরত্ব সেন্সর সংযুক্ত করুন। আপনার কিছু দীর্ঘায়িত/জাম্পার তারের প্রয়োজন হতে পারে। আমি বাম সার্ভোকে "servo0" (GPIO 26) এর সাথে ডান servo "servo2" (GPIO 13), LEDs "servo5" (GPIO 24), এবং সেন্সরকে "servo3" (GPIO 5) এ AIY তে সংযুক্ত করেছি HAT ভয়েস।

AIY “src” সাবফোল্ডারে প্রদত্ত “Hampelmann.py” ফাইলটি অনুলিপি করুন এবং এটি যে কারো জন্য সরাসরি এক্সিকিউটেবল করুন। এটি করার জন্য, আপনি ফাইল ম্যানেজারে ফাইলটি নির্বাচন করতে পারেন, তারপরে ডান ক্লিক করুন এবং বৈশিষ্ট্যগুলি নির্বাচন করুন, অনুমতিগুলি নির্বাচন করুন, এক্সিকিউটে যান, যে কেউ নির্বাচন করুন। অথবা ডেভ কনসোলে "chmod +x src/Hampelmann.py" লিখুন।

সবকিছু ঠিক আছে কিনা এবং স্থির কিনা তা পরীক্ষা করুন, অথবা প্রয়োজনে অস্থাবর। দেব কমান্ড লাইনটি খুলুন, "src/Hampelmann.py" লিখুন এবং প্রোগ্রামটি শুরু করুন। আপনি যদি দূরত্ব সেন্সরের সামনে আপনার হাত বা আঙ্গুল নাড়াচাড়া করেন, তাহলে AIY ইউনিট অর্ডার চাইবে এবং LEDs জ্বলজ্বল করবে। বাস্তবায়িত আদেশগুলি হল "ডান/বাম/হাত উপরে/নিচে/কেন্দ্র", "নাচ", "LED অন/অফ" এবং "বিদায়"।

বাজান। সেন্সরের সামনে আপনার হাত সরান, জিজ্ঞাসা করা হলে কথা বলুন এবং ডিভাইসটিকে প্রতিক্রিয়া জানানোর জন্য একটু সময় দিন। বিলম্বিতা বরং বেশি। Crtl+C বা "বিদায়" প্রোগ্রাম বন্ধ করবে।

আপনি ন্যানো বা অন্য সাধারণ টেক্সট এডিটর ব্যবহার করে ফাইল পরিবর্তন করতে পারেন।

মন্তব্য: দয়া করে সচেতন থাকুন যে কিছু শব্দ এবং পদগুলি একটি বড় অক্ষর দিয়ে শুরু হওয়া শব্দ হিসাবে স্বীকৃত, যেমন 'কেন্দ্র' বা 'ডান কেন্দ্র', যেমন অন্যরা নয়, যেমন 'ডান উপরে'। কিছু ক্রিয়াকে ট্রিগার করার জন্য আপনাকে ভয়েস রিকগনিশন মডিউল দ্বারা প্রদত্ত সঠিক ফর্মটি ব্যবহার করতে হবে।

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

পূর্বে উল্লিখিত হিসাবে, স্ক্রিপ্টটি এআইওয়াই ভয়েস নির্দেশাবলী থেকে servo_demo.py স্ক্রিপ্টের উপর ভিত্তি করে, কিছু সংযোজন সহ। প্রথম সংস্করণ হল Hampelmann.py ফাইল যা আপনি সংযুক্ত পাবেন। GPIOZero থেকে AngularServo servo এর অ্যাকশন পরিসীমা সীমাবদ্ধ করতে এবং ঠিক কতদূর অগ্রসর হবে তা নির্ধারণ করতে দেয়। এবং ডিভাইসটি কথা বলতে পারে, কিন্তু বুঝতে পারে না (?), ইংরেজি, জার্মান, ইতালিয়ান, ফ্রেঞ্চ এবং স্প্যানিশ। নীচে আপনি Hampelmann2.py স্ক্রিপ্ট, ব্রিটিশ ভয়েস, এবং কিছুটা ইতালিয়ান এবং জার্মান পাবেন। দয়া করে মনে রাখবেন যে স্ক্রিপ্টগুলি চালানোর জন্য আপনাকে এক্সিকিউটেবল করতে হবে।

#! gpiozero থেকে AngularServo আমদানি gpiozero থেকে আমদানি বোতাম সময় থেকে আমদানি করুন ঘুম def main (): identizer = aiy.cloudspeech.get_recognizer () identizer.expect_phrase ('right up') identizer.expect_phrase ('right down') identizer.expect_phrase ('right কেন্দ্রে ') # মূলধন অক্ষর আছে উদ্দেশ্য স্বীকৃতিদাতা। ('নিচে হাত') স্বীকৃতিদাতা।.audio.get_recorder ()। start () servo0 = AngularServo (26, min_angle = -40, max_angle = 40) # 1 ম সংযোগ অথবা, GPIO 26 servo2 = AngularServo (13, min_angle = -40, max_angle = 40) # 3rd connector, GPIO 13 led0 = LED (24) # LEDs servo5/GPIO 24 দূরত্ব = বোতাম (5) # দূরত্ব সেন্সর সংযুক্ত servo3/GPIO 05 # অন্যদের জন্য: servo1 এ GPIO 6, servo4 এ 12 aiy.audio.say ("হ্যালো!": led0.on () # LED মুদ্রণে ("ভয়েস রিকগনিশন সক্রিয় করতে, দূরত্ব সেন্সরের কাছে হাত সরান, তারপর কথা বলুন") প্রিন্ট ('প্রত্যাশিত কীওয়ার্ড হল: হাত/বাম/ডান উপরে/নিচে/কেন্দ্র,') মুদ্রণ ('LED চালু/বন্ধ, নাচ এবং বিদায়।') মুদ্রণ () দূরত্ব। অপেক্ষা_ফর_প্রেস () মুদ্রণ ('শোনা …') aiy.audio.say ("দয়া করে আপনার আদেশ দিন",) led0.blink () # আলো blink text = identizer.recognize () যদি টেক্সট না হয়: aiy.audio.say ('দু Sorryখিত, আমি আপনাকে শুনিনি।',) অন্য: মুদ্রণ করুন টেক্সটে 'ডান আপ' হলে সিস্টেমের ব্যাখ্যা পরীক্ষা করুন: মুদ্রণ ('সর্বাধিক অবস্থানে সরানো') servo0.angle = 35 elif 'ডান নিচে' পাঠ্যে: মুদ্রণ ('সরানো servo0 সর্বনিম্ন অবস্থানে ') servo0.angle = -35 elif' রাইট সেন্টার 'টেক্সটে: #সঠিক ক্যাপ্টিয়ালগুলি সমালোচনামূলক মুদ্রণ (' servo0 মধ্যম অবস্থানে সরানো ') servo0.angle = 0 elif' লেফট আপ 'টেক্সট: প্রিন্ট (' Servo2 সর্বাধিক অবস্থানে ' টেক্সটে মধ্যম অবস্থান ') servo2.angle = 0 elif' হ্যান্ডস আপ ': মুদ্রণ (' servo2 সর্বাধিক অবস্থানে সরানো ') servo2.angle = -35 servo0.angle = 35 elif' হাত নিচে 'পাঠ্য: মুদ্রণ (' সরানো servo2 থেকে ন্যূনতম অবস্থানে ') servo2.angle = 35 servo0.angle = -35 elif' hands center 'in text: print (' servo2 to middle position ') servo2.angle = 0 servo0.angle = 0 elif' LED off ' টেক্সটে: প্রিন্ট ('এক্সটার্নাল LED 0' বন্ধ) LED0.off () elif 'LED on' টেক্সটে: প্রিন্ট ('এক্সটার্নাল LED 0 তে স্যুইচিং) LED0.on () টেক্সটে # লাইট এলিফ' ডান্স ': মুদ্রণ ('এখন নাচ নাম্বার ওয়ান') aiy.audio.say ("আচ্ছা, আমি আমার সর্বোচ্চ চেষ্টা করবো!",) led0.on () # লাইট চালু আমি পরিসরে (3): servo0.angle = 0 servo2.angle = 0 ঘুম (1) servo0.angle = 35 servo2.angle = -35 ঘুম (1) servo0.angle = 0 servo2.angle = -35 ঘুম (1) servo0.angle = -25 servo2.angle = 0 sleep (1) servo0.angle = 30 servo2.angle = 20 sleep (1) servo0.angle = 0 servo2.angle = 0 led0.off () # light off elif টেক্সট এ 'বিদায়' led0.off () ঘুম (3) মুদ্রণ ('বাই!') বিরতি অন্য: মুদ্রণ ('কোন কীওয়ার্ড স্বীকৃত নয়!') aiy.audio.say ("দু Sorryখিত, আমি আপনাকে বুঝতে পারিনি",) যদি _name_ == ' _main_ ': প্রধান ()

প্রস্তাবিত: