সুচিপত্র:

অঙ্গভঙ্গি নিয়ন্ত্রণ সহ অতিস্বনক পাই পিয়ানো!: 10 টি ধাপ (ছবি সহ)
অঙ্গভঙ্গি নিয়ন্ত্রণ সহ অতিস্বনক পাই পিয়ানো!: 10 টি ধাপ (ছবি সহ)

ভিডিও: অঙ্গভঙ্গি নিয়ন্ত্রণ সহ অতিস্বনক পাই পিয়ানো!: 10 টি ধাপ (ছবি সহ)

ভিডিও: অঙ্গভঙ্গি নিয়ন্ত্রণ সহ অতিস্বনক পাই পিয়ানো!: 10 টি ধাপ (ছবি সহ)
ভিডিও: アミ小さな宇宙人 𓆛 𓆝 𓆞 𓆛 𓆞 𓆟 第一部 (1話〜7話) 𓆛 𓆜 𓆝 𓆞 𓆟 Omi of the Stars 2024, নভেম্বর
Anonim
Image
Image
অঙ্গভঙ্গি নিয়ন্ত্রণ সহ অতিস্বনক পাই পিয়ানো!
অঙ্গভঙ্গি নিয়ন্ত্রণ সহ অতিস্বনক পাই পিয়ানো!

এই প্রকল্পটি ইনপুট হিসাবে সস্তা HC-SR04 অতিস্বনক সেন্সর ব্যবহার করে এবং MIDI নোট তৈরি করে যা উচ্চ মানের শব্দের জন্য রাস্পবেরি পাইতে একটি সিনথেসাইজারের মাধ্যমে বাজানো যায়।

প্রকল্পটি অঙ্গভঙ্গি নিয়ন্ত্রণের একটি মৌলিক রূপও ব্যবহার করে, যেখানে কয়েক সেকেন্ডের জন্য দুটি বাহ্যিক সেন্সরের উপর আপনার হাত ধরে বাদ্যযন্ত্র পরিবর্তন করা যায়। একবার শেষ হয়ে গেলে রাস্পবেরি পাই বন্ধ করার জন্য আরেকটি অঙ্গভঙ্গি ব্যবহার করা যেতে পারে।

উপরের ভিডিওটি একটি সাধারণ লেজার-কাটা ঘেরে সমাপ্ত পণ্য দেখায়। এই নির্দেশের পরে আরও গভীরভাবে একটি ভিডিও রয়েছে যা প্রকল্পটি কীভাবে কাজ করে তা ব্যাখ্যা করে।

আমি গিজমো ডোজো (ব্রুমফিল্ড, সিও -তে আমার স্থানীয় নির্মাতা স্থান) এর সাথে এই প্রকল্পটি তৈরি করেছি যাতে কিছু ইন্টারেক্টিভ প্রদর্শনী করা যায় যা আমরা স্থানীয় স্টেম/স্টীম ইভেন্ট এবং মেকার ফায়ার্সে নিতে পারি।

অনুগ্রহ করে https://theotherandygrove.com/octasonic/ এ সর্বশেষ ডকুমেন্টেশন এবং টিউটোরিয়ালগুলি দেখুন যা এখন এই প্রকল্পের একটি পাইথন সংস্করণের তথ্য অন্তর্ভুক্ত করে (এই নির্দেশনাটি মরিচা সংস্করণের জন্য লেখা হয়েছিল)।

ধাপ 1: উপকরণ

এই নির্দেশের জন্য, আপনার নিম্নলিখিত উপাদানগুলির প্রয়োজন হবে:

  • এসডি কার্ড সহ রাস্পবেরি পাই (2 বা 3)
  • 8 HC-SR04 অতিস্বনক সেন্সর
  • অক্টাসনিক ব্রেকআউট বোর্ড
  • দ্বি-নির্দেশমূলক লজিক লেভেল কনভার্টার
  • 32 x 12 "মহিলা-মহিলা জাম্পার তারের জন্য অতিস্বনক সেন্সর সংযুক্ত করে
  • 13 x 6 "রাস্পবেরি পাই, অক্টাসনিক এবং লজিক লেভেল কনভার্টার সংযোগের জন্য মহিলা-মহিলা জাম্পার তারগুলি
  • রাস্পবেরি পাই এর জন্য উপযুক্ত বিদ্যুৎ সরবরাহ
  • পিসি স্পিকার বা অনুরূপ

আমি যদি সম্ভব হয় রাস্পবেরি পাই 3 ব্যবহার করার সুপারিশ করবো, যেহেতু এর কম্পিউটিং ক্ষমতা বেশি, ফলে আরও প্রতিক্রিয়াশীল এবং আনন্দদায়ক শব্দ হয়। এটি একটি রাস্পবেরি পাই 2 এর সাথে সামান্য টুইকিংয়ের সাথে সূক্ষ্ম কাজ করতে পারে তবে আমি এই প্রকল্পের জন্য মূল রাস্পবেরি পাই ব্যবহার করার চেষ্টা করব না।

HC -SR04 অতিস্বনক সেন্সরগুলির 4 টি সংযোগ রয়েছে - 5V, GND, ট্রিগার এবং ইকো। সাধারণত, ট্রিগার এবং ইকো একটি মাইক্রোকন্ট্রোলার বা রাস্পবেরি পাইতে পৃথক পিনের সাথে সংযুক্ত থাকে তবে এর অর্থ হল 8 টি সেন্সর সংযোগ করার জন্য আপনাকে 16 টি পিন ব্যবহার করতে হবে এবং এটি ব্যবহারিক নয়। এখানেই অক্টোসনিক ব্রেকআউট বোর্ড আসে। এই বোর্ডটি সমস্ত সেন্সরের সাথে সংযোগ স্থাপন করে এবং একটি ডেডিকেটেড মাইক্রোকন্ট্রোলার থাকে যা সেন্সরগুলি পর্যবেক্ষণ করে এবং তারপর এসপিআই -এর মাধ্যমে রাস্পবেরি পাই -এর সাথে যোগাযোগ করে।

HC-SR04 এর জন্য 5V প্রয়োজন এবং রাস্পবেরি পাই মাত্র 3.3V, তাই এই কারণেই আমাদের লজিক লেভেল কনভার্টারও দরকার যা রাস্পবেরি পাইকে অক্টাসনিক ব্রেকআউট বোর্ডের সাথে সংযুক্ত করবে।

ধাপ 2: অতিস্বনক সেন্সরগুলি অক্টাসনিক বোর্ডের সাথে সংযুক্ত করুন

অতিস্বনক সেন্সরগুলি অক্টাসনিক বোর্ডের সাথে সংযুক্ত করুন
অতিস্বনক সেন্সরগুলি অক্টাসনিক বোর্ডের সাথে সংযুক্ত করুন
অতিস্বনক সেন্সরগুলি অক্টাসনিক বোর্ডের সাথে সংযুক্ত করুন
অতিস্বনক সেন্সরগুলি অক্টাসনিক বোর্ডের সাথে সংযুক্ত করুন

প্রতিটি অতিস্বনক সেন্সরকে বোর্ডের সাথে সংযুক্ত করার জন্য 4 টি মহিলা-মহিলা জাম্পার তার ব্যবহার করুন, সেগুলি সঠিকভাবে সংযুক্ত করার জন্য সতর্ক থাকুন। বোর্ডটি এমনভাবে ডিজাইন করা হয়েছে যাতে পিনগুলি একই ক্রমে থাকে যাতে অতিস্বনক সেন্সরের পিন থাকে। বোর্ডে বাম থেকে ডানে, পিনগুলি GND, ট্রিগার, ইকো, 5V।

ধাপ 3: লজিক লেভেল কনভার্টারকে অক্টাসনিক বোর্ডের সাথে সংযুক্ত করুন

লজিক লেভেল কনভার্টারকে অক্টাসনিক বোর্ডের সাথে সংযুক্ত করুন
লজিক লেভেল কনভার্টারকে অক্টাসনিক বোর্ডের সাথে সংযুক্ত করুন

রাস্পবেরি পাই এবং অক্টাসনিক বোর্ড SPI এর মাধ্যমে যোগাযোগ করে। SPI 4 টি তার ব্যবহার করে:

  • মাস্টার ইন, স্লেভ আউট (MISO)
  • মাস্টার আউট, স্লেভ ইন (মোসি)
  • সিরিয়াল ঘড়ি (SCK)
  • স্লেভ সিলেক্ট (SS)

উপরন্তু, আমাদের বিদ্যুৎ সংযোগ করতে হবে (5V এবং GND)।

লজিক লেভেল কনভার্টারের দুটি দিক আছে - একটি কম ভোল্টেজ (LV) এবং একটি উচ্চ ভোল্টেজ (HV)। রাস্পবেরি এলভি পাশের সাথে সংযুক্ত হবে কারণ এটি 3.3V। Octasonic HV পাশের সাথে সংযোগ করবে কারণ এটি 5V।

এই পদক্ষেপটি লজিক লেভেল কনভার্টারের এইচভি সাইডের সাথে অক্টাসনিককে সংযুক্ত করার জন্য।

লজিক লেভেল কনভার্টারের সাথে কোন পিন সংযুক্ত করা উচিত তা দেখিয়ে এই ধাপের সাথে সংযুক্ত ছবিটি দেখুন।

অক্টাসনিক থেকে লজিক লেভেল কনভার্টারের সংযোগগুলি নিম্নরূপ হওয়া উচিত:

  • 5V থেকে HV
  • SCK থেকে HV4
  • MISO থেকে HV3
  • MOSI থেকে HV2
  • SS থেকে HV1
  • GND থেকে GND

ধাপ 4: লজিক লেভেল কনভার্টারকে রাস্পবেরি পাইতে সংযুক্ত করুন

লজিক লেভেল কনভার্টারকে রাস্পবেরি পাইতে সংযুক্ত করুন
লজিক লেভেল কনভার্টারকে রাস্পবেরি পাইতে সংযুক্ত করুন

রাস্পবেরি পাই এবং অক্টাসনিক বোর্ড SPI এর মাধ্যমে যোগাযোগ করে। SPI 4 টি তার ব্যবহার করে:

  • মাস্টার ইন, স্লেভ আউট (MISO)
  • মাস্টার আউট, স্লেভ ইন (মোসি)
  • সিরিয়াল ঘড়ি (SCK)
  • স্লেভ সিলেক্ট (SS)

উপরন্তু, আমাদের পাওয়ার সংযোগ করতে হবে (3.3V এবং GND)। লজিক লেভেল কনভার্টারের দুটি দিক আছে - একটি কম ভোল্টেজ (LV) এবং একটি উচ্চ ভোল্টেজ (HV)। রাস্পবেরি এলভি পাশের সাথে সংযুক্ত হবে কারণ এটি 3.3V। Octasonic HV পাশের সাথে সংযোগ করবে কারণ এটি 5V।

এই ধাপটি লজিক লেভেল কনভার্টারের LV পাশের রাস্পবেরি পাইকে সংযুক্ত করার জন্য।

রাস্পবেরি পাই থেকে লজিক লেভেল কনভার্টারের সংযোগগুলি নিম্নরূপ হওয়া উচিত:

  • 3.3V থেকে LV
  • GPIO11 (SPI_SCLK) থেকে LV4
  • GPIO09 (SPI_MISO) থেকে LV3
  • GPIO10 (SPI_MOSI) থেকে LV2
  • GPIO08 (SPI_CE0_N) SS থেকে LV1
  • GND থেকে GND

রাস্পবেরি পাইতে সঠিক পিনগুলি সনাক্ত করতে এই ধাপের সাথে সংযুক্ত চিত্রটি ব্যবহার করুন!

ধাপ 5: রাস্পবেরি পাই 5V কে অক্টাসনিক 5V এর সাথে সংযুক্ত করুন

রাস্পবেরি পাই 5V কে অক্টাসনিক 5V এর সাথে সংযুক্ত করুন
রাস্পবেরি পাই 5V কে অক্টাসনিক 5V এর সাথে সংযুক্ত করুন
রাস্পবেরি পাই 5V কে অক্টাসনিক 5V এর সাথে সংযুক্ত করুন
রাস্পবেরি পাই 5V কে অক্টাসনিক 5V এর সাথে সংযুক্ত করুন

যোগ করার জন্য একটি চূড়ান্ত তারের আছে। আমাদের আসলে 5V দিয়ে অক্টাসনিক বোর্ডকে শক্তি দিতে হবে, তাই আমরা রাস্পবেরি পাই 5V পিনগুলির মধ্যে একটিকে 5V পিনের সাথে অক্টাসনিক এভিআর হেডারের সাথে সংযুক্ত করে এটি করি। এটি AVR হেডার ব্লকের নীচের বাম পিন (এটি বোর্ডের উপরের ডানদিকে 2 x 3 ব্লক)। AVR ব্লক কোথায় তা দেখানো সংযুক্ত ছবিটি দেখুন।

রাস্পবেরি পাইতে 5V পিন খুঁজে পেতে অন্য সংযুক্ত চিত্রটি দেখুন।

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

রাস্পিয়ান ইনস্টল করুন

রাস্পবিয়ান জেসির একটি পরিষ্কার ইনস্টল দিয়ে শুরু করুন, তারপরে এটিকে সর্বশেষ সংস্করণে আপডেট করুন:

sudo apt- আপডেট পান

sudo apt-get upgrade

SPI সক্ষম করুন

এই প্রকল্পটি কাজ করার জন্য আপনাকে অবশ্যই রাস্পবেরি পাইতে SPI সক্ষম করতে হবে! এটি করার জন্য রাস্পবেরি পাই কনফিগারেশন ইউটিলিটি ব্যবহার করুন।

এটি কার্যকর হওয়ার জন্য SPI সক্ষম করার পরে Pi রিবুট করাও গুরুত্বপূর্ণ।

FluidSynth ইনস্টল করুন

Fluidsynth একটি আশ্চর্যজনক বিনামূল্যে সফটওয়্যার MIDI synth। আপনি এই কমান্ড দিয়ে কমান্ড-লাইন থেকে এটি ইনস্টল করতে পারেন:

sudo apt- তরলসিন্থ ইনস্টল করুন

জং প্রোগ্রামিং ভাষা ইনস্টল করুন

আল্ট্রাসোনিক পাই পিয়ানো মোজিলা থেকে মরিচা প্রোগ্রামিং ভাষায় প্রয়োগ করা হয়েছে (এটি C ++ এর মতো তবে খারাপ বিট ছাড়াই)। এই সব ঠান্ডা বাচ্চারা আজকাল ব্যবহার করছে।

জং ইনস্টল করার জন্য https://rustup.rs/ এ নির্দেশাবলী অনুসরণ করুন। আপনার সময় বাঁচাতে, নির্দেশাবলী হল এই একটি কমান্ড চালানো। আপনি ইনস্টল করার সময় যেকোন প্রশ্নের ডিফল্ট উত্তর গ্রহণ করতে পারেন।

দ্রষ্টব্য: এই নির্দেশনা পোস্ট করার পর থেকে, রাস্পবেরি পাইতে মরিচা ইনস্টল করার সাথে কিছু সমস্যা রয়েছে। খারাপ সময়:-/ কিন্তু আমি সমস্যাটি সমাধান করার জন্য নীচের কমান্ডটি পরিবর্তন করেছি। আশা করি তারা শীঘ্রই এটি ঠিক করবে। আমি এমন একটি ছবি তৈরিতে কাজ করছি যা মানুষ একটি SD কার্ডে ডাউনলোড করে বার্ন করতে পারে। আপনি যদি এটা চান, আমার সাথে যোগাযোগ করুন।

রপ্তানি RUSTUP_USE_HYPER = 1curl https://sh.rustup.rs -sSf | শ

অতিস্বনক পাই পিয়ানো সোর্স কোড ডাউনলোড করুন

অতিস্বনক পাই পিয়ানো সোর্স কোড github এ হোস্ট করা হয়। কোড পাওয়ার জন্য দুটি বিকল্প আছে। আপনি যদি গিট এবং গিথুবের সাথে পরিচিত হন তবে আপনি রেপোটি ক্লোন করতে পারেন:

git clone [email protected]: TheGizmoDojo/UltrasonicPiPiano.git

বিকল্পভাবে, আপনি সর্বশেষ কোডের একটি জিপ ফাইল ডাউনলোড করতে পারেন।

সোর্স কোড কম্পাইল করুন

সিডি অতিস্বনক পিপিয়ানো

কার্গো বিল্ড -মুক্তি

কোডটি পরীক্ষা করুন

আমরা পরবর্তী ধাপে সঙ্গীত তৈরির দিকে এগিয়ে যাওয়ার আগে, আসুন নিশ্চিত করি যে সফ্টওয়্যারটি চলছে এবং আমরা সেন্সর থেকে বৈধ তথ্য পড়তে পারি।

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

কার্গো রান -মুক্তি

যদি আপনি কৌতূহলী হন, "-রিলিজ" পতাকা মরিচাটিকে ডিফল্ট "-ডিবাগ" সেটিং এর বিপরীতে যতটা সম্ভব দক্ষতার সাথে কোড কম্পাইল করতে বলে।

ধাপ 7: কিছু সঙ্গীত তৈরি করুন

নিশ্চিত করুন যে আপনি এখনও সেই ডিরেক্টরিতে আছেন যেখানে আপনি সোর্স কোড ডাউনলোড করেছেন এবং নিম্নলিখিত কমান্ডটি চালান।

এই "run.sh" স্ক্রিপ্টটি নিশ্চিত করে যে কোডটি কম্পাইল করা হয়েছে এবং তারপর কোডটি চালায়, আউটপুটটিকে তরলসিন্থে পাইপ করে।

./run.sh

আপনি রাস্পবেরি পাইতে 3.5 মিমি অডিও জ্যাকের সাথে সংযুক্ত স্পিকারগুলি সংযুক্ত করেছেন তা নিশ্চিত করুন এবং সেন্সরের উপর হাত সরানোর সময় আপনার সঙ্গীত শুনতে হবে।

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

sudo amixer cset numid = 3 1

ভলিউম পরিবর্তন

ভলিউম (বা "লাভ") "-g" প্যারামিটার দিয়ে তরলসিন্থে নির্দিষ্ট করা আছে। আপনি run.sh স্ক্রিপ্ট পরিবর্তন করতে পারেন এবং এই মান পরিবর্তন করতে পারেন। অনুগ্রহ করে মনে রাখবেন যে এই প্যারামিটারে ছোট পরিবর্তনগুলি ভলিউমে একটি বড় পরিবর্তন ঘটায়, তাই এটি অল্প পরিমাণে (যেমন 0.1 বা 0.2) বাড়ানোর চেষ্টা করুন।

ধাপ 8: অঙ্গভঙ্গি নিয়ন্ত্রণ

অঙ্গভঙ্গি নিয়ন্ত্রণ কীভাবে কাজ করে, প্রকল্পের সম্পূর্ণ প্রদর্শনের জন্য এই ধাপে সংযুক্ত ভিডিওটি দেখুন।

ধারণাটি খুবই সহজ। কোন সেন্সর আচ্ছাদিত (10cm এর মধ্যে) এবং কোনটি নেই তা সফটওয়্যারটি ট্র্যাক করে। এটি 8 টি বাইনারি সংখ্যা (1 বা 0) অনুবাদ করে। এটি খুবই সুবিধাজনক, যেহেতু 8 টি বাইনারি সংখ্যার একটি ক্রম একটি "বাইট" তৈরি করে যা 0 থেকে 255 এর মধ্যে সংখ্যাগুলি উপস্থাপন করতে পারে। আপনি যদি প্রোগ্রামিং সম্পর্কে আরও জানতে চান তবে বাইনারি সংখ্যাগুলি শেখার একটি মৌলিক দক্ষতা।

সফ্টওয়্যারটি সেন্সরের বর্তমান অবস্থাকে বর্তমান অঙ্গভঙ্গির প্রতিনিধিত্বকারী একটি একক বাইটে ম্যাপ করে। যদি সেই সংখ্যাটি বেশ কয়েকটি চক্রের জন্য একই থাকে, তবে সফ্টওয়্যারটি সেই অঙ্গভঙ্গিতে কাজ করে।

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

ধাপ 9: একটি ঘের তৈরি

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

ধাপ 10: সমস্যা সমাধান এবং পরবর্তী পদক্ষেপ

সমস্যা সমাধান

যদি প্রকল্পটি কাজ না করে তবে এটি সাধারণত একটি তারের ত্রুটির কারণ হয়। আপনার সংযোগগুলি দ্বিগুণ চেক করুন সমস্ত সংযোগ।

আরেকটি সাধারণ সমস্যা হল SPI সক্ষম করতে ব্যর্থ হওয়া এবং পাই পুনরায় চালু করা।

দয়া করে https://theotherandygrove.com/octasonic/ এ যান এবং সমস্যা সমাধানের টিপস সহ সম্পূর্ণ ডকুমেন্টেশন, মরিচা এবং পাইথন নির্দিষ্ট নিবন্ধ সহ, এবং কীভাবে সহায়তা পেতে হয় সে সম্পর্কে তথ্য।

পরবর্তী পদক্ষেপ

একবার আপনি প্রকল্পটি কাজ করে নিলে, আমি কোডের সাথে পরীক্ষা করার এবং বিভিন্ন বাদ্যযন্ত্রের চেষ্টা করার পরামর্শ দিই। MIDI যন্ত্র কোড 1 এবং 127 এর মধ্যে এবং এখানে নথিভুক্ত করা হয়েছে।

আপনি কি প্রতিটি সেন্সরের সাথে একটি ভিন্ন অষ্টভ বাজানোর সাথে একটি একক বাদ্যযন্ত্র চান? সম্ভবত আপনি প্রতিটি সেন্সরকে একটি পৃথক যন্ত্র হিসেবে চান? সম্ভাবনাগুলি প্রায় সীমাহীন!

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

প্রস্তাবিত: