সুচিপত্র:

ওয়ালাবট এফএক্স - গিটারের প্রভাব নিয়ন্ত্রণ: 28 টি ধাপ (ছবি সহ)
ওয়ালাবট এফএক্স - গিটারের প্রভাব নিয়ন্ত্রণ: 28 টি ধাপ (ছবি সহ)

ভিডিও: ওয়ালাবট এফএক্স - গিটারের প্রভাব নিয়ন্ত্রণ: 28 টি ধাপ (ছবি সহ)

ভিডিও: ওয়ালাবট এফএক্স - গিটারের প্রভাব নিয়ন্ত্রণ: 28 টি ধাপ (ছবি সহ)
ভিডিও: Walabot - You have to try it! 2024, জুলাই
Anonim
ওয়ালাবট এফএক্স - গিটারের প্রভাব নিয়ন্ত্রণ
ওয়ালাবট এফএক্স - গিটারের প্রভাব নিয়ন্ত্রণ

অসাধারণ গিটার পোজ ছাড়া আর কিছুই ব্যবহার না করে আপনার প্রিয় গিটারের প্রভাব নিয়ন্ত্রণ করুন!

ধাপ 1: আপনার যা প্রয়োজন হবে

হার্ডওয়্যার উপাদান

ওয়ালাবট - ওয়ালাবট

রাস্পবেরি পাই - রাস্পবেরি পাই 3 মডেল বি

সানফাউন্ডার LCD1602

Arduino এবং Raspberry Pi এর জন্য SunFounder PCA9685 16 চ্যানেল 12 বিট PWM সার্ভো ড্রাইভার

Servo (জেনেরিক) কোন লিঙ্ক নেই

9V ব্যাটারি ক্লিপ

4xAA ব্যাটারি ধারক

এএ ব্যাটারি

জাম্পার তার (জেনেরিক)

ডিপিডিটি ল্যাচিং অ্যাকশন ফুট সুইচ

Korg SDD3000-PDL

সফটওয়্যার ওএস, অ্যাপস এবং অনলাইন পরিষেবা

Autodesk Fusion360 -

Blynk -

সরঞ্জাম ইত্যাদি

3D প্রিন্টার

তাতাল

ধাপ 2: বিমূর্ত

Getting Started
Getting Started

3 ডি স্পেসে আপনার গিটারের অবস্থান ছাড়া আর কিছুই ব্যবহার না করে মিউজিক্যাল এক্সপ্রেশন নিয়ন্ত্রণ করা কেমন হবে? আচ্ছা, কিছু প্রোটাইপ করি এবং খুঁজে বের করি!

ধাপ 3: মৌলিক ধারণা

আমি রিয়েল টাইমে 3 ইফেক্ট প্যারামিটার কন্ট্রোল করতে সক্ষম হতে চেয়েছিলাম, আমি আমার গিটারের অবস্থান কেমন ছিল তা ব্যবহার করে এটি করতে চেয়েছিলাম। সুতরাং একটি জিনিস পরিষ্কার ছিল, আমার কয়েকটি জিনিসের প্রয়োজন হবে।

  • একটি সেন্সর যা 3D স্পেস দেখতে সক্ষম
  • Knobs ঘুরান servos
  • একটি এলসিডি ডিসপ্লে
  • একজন I2C Servo ড্রাইভার
  • একটি রাস্পবেরি পাই
  • পাইথন শেখার জন্য

ধাপ 4: ওয়ালাবট

দেয়াল দিয়ে দেখতে চান? 3D স্পেসে সেন্স বস্তু? আপনি যদি রুম জুড়ে শ্বাস নিচ্ছেন তাহলে অনুভূতি? আচ্ছা, আপনি ভাগ্যবান!

কম শক্তি রাডার ব্যবহার করে আপনার চারপাশের স্থানটি অনুভব করার জন্য ওয়ালাবট সম্পূর্ণ নতুন উপায়।

এটি এই প্রকল্পের চাবিকাঠি হতে চলেছে, আমি 3D স্পেসে বস্তুগুলির কার্টিসান (X-Y-Z) কুডিনেট নিতে সক্ষম হব, এবং প্যাডেল স্পর্শ না করেই রিয়েল টাইমে গিটার ইফেক্ট কেমন লাগে তা পরিবর্তন করে সার্ভো পজিশনে ম্যাপ করতে পারব।

জয়।

ওয়ালাবট সম্পর্কে আরও তথ্য পাওয়া যাবে এখানে

ধাপ 5: শুরু করা

প্রথম জিনিস, প্রথমে আপনাকে ওয়ালাবট চালানোর জন্য একটি কম্পিউটারের প্রয়োজন হবে, এই প্রকল্পের জন্য আমি একটি রাস্পবেরি পাই 3 ব্যবহার করছি

জিনিসগুলি সুন্দর এবং সহজ রাখার জন্য আমি NOOBS- এর সাথে আগে থেকেই ইনস্টল করা একটি 16GB SD কার্ড কিনেছিলাম এবং আমার পছন্দের লিনাক্স OS হিসাবে Raspian ইনস্টল করার সিদ্ধান্ত নিয়েছি

(যদি আপনি রাস্পিয়ান কিভাবে ইনস্টল করবেন সে সম্পর্কে অপরিচিত, দয়া করে একটু পড়ার জন্য একটু সময় নিন)

ঠিক আছে, একবার আপনি আপনার RPi তে রাস্পিয়ান চালানোর পরে, আমাদের প্রকল্পের জন্য জিনিসগুলি প্রস্তুত করার জন্য কয়েকটি কনফিগারেশন পদক্ষেপ রয়েছে

ধাপ 6: রাস্পবেরি পাই সেট আপ - 1

প্রথমে নিশ্চিত করুন যে আপনি সর্বশেষ কার্নেল সংস্করণটি চালাচ্ছেন এবং একটি কমান্ড শেল খুলে এবং টাইপ করে আপডেটগুলি পরীক্ষা করুন

sudo apt- আপডেট পান

sudo apt-get dist-upgrade

(sudo যোগ করা হয়েছে যাতে আপনি প্রশাসনিক বিশেষাধিকার পেয়ে থাকেন তা নিশ্চিত করার জন্য জিনিসগুলি কাজ করবে)

এটি সম্পূর্ণ হতে কিছুটা সময় নিতে পারে, তাই যান এবং একটি সুন্দর চা পান করুন।

ধাপ 7: রাস্পবেরি পাই - 2 সেট আপ করা

আপনাকে RPi এর জন্য Walabot SDK ইনস্টল করতে হবে। আপনার RPi ওয়েব ব্রাউজার থেকে https://www.walabot.com/gettingstarted এ যান এবং রাস্পবেরি পাই ইনস্টলার প্যাকেজটি ডাউনলোড করুন।

একটি কমান্ড শেল থেকে:

সিডি ডাউনলোড

sudo dpkg -I walabotSDK_RasbPi.deb

ধাপ 8: রাস্পবেরি পাই সেট আপ - 3

I2c বাস ব্যবহার করার জন্য আমাদের RPi কনফিগার করা শুরু করতে হবে। একটি কমান্ড শেল থেকে:

sudo apt-get python-smbus ইনস্টল করুন

sudo apt-get i2c-tools ইনস্টল করুন

একবার এটি হয়ে গেলে, আপনাকে মডিউল ফাইলে নিম্নলিখিতগুলি যুক্ত করতে হবে

একটি কমান্ড শেল থেকে:

সুডো ন্যানো /ইত্যাদি /মডিউল

পৃথক লাইনে এই 2 টি স্ট্রিং যোগ করুন:

i2c-dev

i2c-bcm2708

ধাপ 9: রাস্পবেরি পাই সেট আপ - 4

Walabot একটি মোটামুটি বিট কারেন্ট আঁকছে, এবং আমরা জিপিআইও ব্যবহার করব জিনিস নিয়ন্ত্রণ করতে তাই আমাদের এইগুলিকে সেট আপ করতে হবে

একটি কমান্ড শেল থেকে:

sudo nano /boot/config.txt

ফাইলের শেষে নিম্নলিখিত লাইন যোগ করুন:

safe_mode_gpio = 4

max_usb_current = 1

RPi নির্মাতাদের জন্য একটি চমৎকার হাতিয়ার, কিন্তু এটি বর্তমানের মধ্যে সীমাবদ্ধ যা এটি Walabot- এ পাঠাতে পারে। অতএব আমরা কেন আরো মানসম্মত 500mA এর পরিবর্তে 1Amp সর্বোচ্চ বর্তমান যোগ করছি

ধাপ 10: পাইথন

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

ধাপ 11: ওয়ালাবটের জন্য

একটি কমান্ড শেল থেকে

Sudo pip install "/usr/share/walabot/python/WalabotAPI-1.0.21.zip"

ধাপ 12: সার্ভো ইন্টারফেসের জন্য

একটি কমান্ড শেল থেকে

sudo apt-get git build-essential python-dev ইনস্টল করুন

সিডি

গিট ক্লোন

cd Adafruit_Python_PCA9685

sudo python setup.py ইনস্টল করুন

আমাদের কেন সার্ভো ড্রাইভার ব্যবহার করতে হবে? আচ্ছা, একটি RPi এর জন্য কয়েকটি কারণ।

1. একটি servo দ্বারা টানা বর্তমান খুব বেশী হতে পারে, এবং যে সংখ্যা আপনার সার্ভিস (অবশ্যই) আরো বড় হয়। যদি আপনি একটি RPi থেকে servo directky চালাচ্ছেন তবে আপনি এটির বিদ্যুৎ সরবরাহের ঝুঁকি চালাবেন

2. PWM (পালস প্রস্থ মডুলেশন) এর সময় যা সার্ভোস অবস্থান নিয়ন্ত্রণ করে খুব গুরুত্বপূর্ণ। যেহেতু RPi রিয়েলটাইম ওএস ব্যবহার করে না (সেখানে বাধা হতে পারে এবং এরকম) সময়গুলি সঠিক নয় এবং সার্ভিসগুলিকে ঘাবড়ে যেতে পারে। একজন ডেডিকেটেড ড্রাইভার সঠিক নিয়ন্ত্রণের অনুমতি দেয়, কিন্তু 16 টি পর্যন্ত সার্ভিস যোগ করার অনুমতি দেয়, তাই এটি সম্প্রসারণের জন্য দুর্দান্ত।

ধাপ 13: LCD এর জন্য

ব্লাইঙ্ক
ব্লাইঙ্ক

আপনার RPi ওয়েব ব্রাউজার খুলুন

www.sunfounder.com/learn/category/sensor-k…

ডাউনলোড করুন

github.com/daveyclk/SunFounder_SensorKit_…

একটি কমান্ড শেল থেকে:

sudo mkdir/usr/share/sunfounder

গ্রাফিক্যাল এক্সপ্লোরার ব্যবহার করে, জিপ ফাইল থেকে পাইথন ফোল্ডারটি আপনার নতুন সানফাউন্ডার ফোল্ডারে অনুলিপি করুন

এলসিডি ব্যবহারকারীকে ঠিক কী ঘটছে তা জানাতে ব্যবহার করা হয়। X, y এবং z মানগুলির মাধ্যমে কনফিগারেশনের প্রক্রিয়া প্রতিটি সার্ভোতে ম্যাপ করা হচ্ছে

ধাপ 14: Blynk

ব্লাইঙ্ক
ব্লাইঙ্ক
ব্লাইঙ্ক
ব্লাইঙ্ক

Blynk একটি উজ্জ্বল IoT পরিষেবা যা আপনাকে আপনার জিনিস নিয়ন্ত্রণ করতে একটি কাস্টম অ্যাপ তৈরি করতে দেয়। সেটিংসে সত্যিই ডায়াল করার জন্য আমাকে ওয়ালাবটের রিমোট কন্ট্রোল দেওয়ার জন্য নিখুঁত সমাধান বলে মনে হয়েছিল…

একটি সমস্যা. ব্লাইঙ্ক বর্তমানে পাইথন প্ল্যাটফর্মে সমর্থিত নয়, বুগার। কিন্তু ভয় নেই! আমি রিমোট কন্ট্রোল এবং রিমোট প্যারামিটার ইনপুট এর অনুমতি দেয় এমন একটি সুন্দর ছোট কাজ খুঁজে পেতে সক্ষম হয়েছিলাম! এটা একটু হ্যাকি

প্রথম ধাপ হল আপনার প্রিয় অ্যাপ স্টোর থেকে Blynk অ্যাপটি ডাউনলোড করা

দ্বিতীয়ত, একটি অ্যাকাউন্টের জন্য সাইন আপ করুন

একবার এটি হয়ে গেলে, অ্যাপটি খুলুন এবং একটি নতুন প্রকল্প শুরু করুন, হার্ডওয়্যার হিসাবে রাস্পবেরি পাই 3 বেছে নিন।

অ্যাপ্লিকেশনটি আপনাকে একটি অ্যাক্সেস টোকেন বরাদ্দ করবে (আপনার কোডটি রাখার জন্য এটির প্রয়োজন হবে)

একবার আপনি এটি করেছেন। আপনি ছবিতে দেখানো হিসাবে অ্যাপ্লিকেশন সেট আপ করতে হবে। এইভাবে এটি ওয়ালাবটের সাথে ইন্টারফেস করবে।

ধাপ 15: Blynk অ্যাপ কনফিগার করা

Blynk অ্যাপ কনফিগার করা হচ্ছে
Blynk অ্যাপ কনফিগার করা হচ্ছে
Blynk অ্যাপ কনফিগার করা হচ্ছে
Blynk অ্যাপ কনফিগার করা হচ্ছে
Blynk অ্যাপ কনফিগার করা হচ্ছে
Blynk অ্যাপ কনফিগার করা হচ্ছে

ধাপ 16: আপনি আপনার সময় বাঁচাতে আমার প্রজেক্ট ক্লোন করতে Blynk অ্যাপ দিয়ে এই QR কোড ব্যবহার করতে পারেন

আপনি আপনার সময় বাঁচাতে আমার প্রজেক্ট ক্লোন করতে Blynk অ্যাপ দিয়ে এই QR কোড ব্যবহার করতে পারেন
আপনি আপনার সময় বাঁচাতে আমার প্রজেক্ট ক্লোন করতে Blynk অ্যাপ দিয়ে এই QR কোড ব্যবহার করতে পারেন

ঠিক আছে এখন যেহেতু অ্যাপটি পুরোপুরি সেট আপ হয়ে গেছে, আমরা পাইথন এবং RPi কে কনফিগার করতে পারি যাতে এটি ইন্টারনেটের সাথে কথা বলতে পারে। যাদু

ধাপ 17: রাস্পবেরি পাই দিয়ে ব্লাইঙ্ক চালানো এবং পাইথনের জন্য ব্লাইঙ্ক এইচটিটিপিএস ব্যবহার করা

প্রথমত, আপনাকে পাইথনের জন্য Blynk HTTPS রেপার ইনস্টল করতে হবে

একটি কমান্ড শেল থেকে:

সুডো গিট ক্লোন

sudo pip blynkapi ইনস্টল করুন

দ্বিতীয়ত, আপনাকে RPi তে Blynk পরিষেবা ইনস্টল করতে হবে

একটি কমান্ড শেল থেকে:

git ক্লোন

cd blynk-library/linux

সব পরিষ্কার করা

blynk পরিষেবা চালানোর জন্য

sudo./blynk --token = YourAuthToken

Blynk সার্ভিসটি স্টার্ট আপে চলে তা নিশ্চিত করার জন্য আপনাকে /etc/rc.local পরিবর্তন করতে হবে

করেছে

sudo ন্যানো /etc/rc.local

শেষে এটি যোগ করুন

./blynk-library/linux/blynk --token = আমার টোকেন &

(আমি রেফারেন্সের জন্য কোড বিভাগে আমার /etc/rc.local ফাইলের একটি ক্যাপ অন্তর্ভুক্ত করেছি)

এটি কাজ করছে তা পরীক্ষা করার জন্য কেবল টাইপ করুন

sudo /etc/rc.local start

Blynk পরিষেবা এখন চলতে হবে

ধাপ 18: স্ক্রিপ্ট অটোরানিং

এখন যেহেতু এটি সব সেট আপ এবং কনফিগার করা হয়েছে, এবং আমাদের কাছে পাইথন কোড প্রস্তুত আছে। আমরা জিনিসগুলিকে অটো চালাতে সেট করতে পারি যাতে আমরা কীবোর্ড এবং মনিটরগুলি খনন করতে পারি

কিছু কাজ করতে হবে

পাইথন প্রোগ্রাম চালানোর জন্য একটি নতুন স্ক্রিপ্ট ফাইল তৈরি করুন

sudo ন্যানো guitareffect.sh

এই লাইন যোগ করুন

#!/বিন/শ

python /home/pi/GuitarEffectCLI.py

এটি সংরক্ষণ করতে ভুলবেন না

পরবর্তী আমাদের টাইপ করে স্ক্রিপ্ট চালানোর অনুমতি দিতে হবে

Sudo chmod +x /home/pi/guitareffect.sh

এবং পরিশেষে, আমাদের এই স্ক্রিপ্টটি /etc/rc.local ফাইলে যুক্ত করতে হবে যা আমরা আগে টিঙ্ক করেছি।

সুডো ন্যানো /etc/rc.local

যোগ করুন

/home/pi/guitareffect.sh &

নিশ্চিত করুন যে "&" এটি পাইথন স্ক্রিপ্টকে পটভূমিতে চালানোর অনুমতি দেয়

ঠিক! এটি সমস্ত কনফিগারেশন এবং সফ্টওয়্যার সাজানো হয়েছে, পরবর্তীতে হার্ডওয়্যারটি ওয়্যার আপ করার সময়

ধাপ 19: হার্ডওয়্যার

Image
Image
Walabot guitar effects control proto1
Walabot guitar effects control proto1

প্রথম ব্রেডবোর্ড প্রোটোটাইপ

ধাপ 20: ঘের নকশা

ঘের নকশা
ঘের নকশা
ঘের ডিজাইন
ঘের ডিজাইন

ঘেরটি অসাধারণ ফিউশন 360 এ ডিজাইন এবং রেন্ডার করা হয়েছিল

ধাপ 21: সাহসী শট

সাহসী শট
সাহসী শট
সাহসী শট
সাহসী শট
সাহসী শট
সাহসী শট

ধাপ 22: চূড়ান্ত সমাবেশ শট

চূড়ান্ত সমাবেশ শট
চূড়ান্ত সমাবেশ শট
চূড়ান্ত সমাবেশ শট
চূড়ান্ত সমাবেশ শট
চূড়ান্ত সমাবেশ শট
চূড়ান্ত সমাবেশ শট

ধাপ 23: স্ট্যান্ডে ওয়ালাবট ঠিক করতে

ওয়ালাবটকে স্ট্যান্ডে ঠিক করতে
ওয়ালাবটকে স্ট্যান্ডে ঠিক করতে

ওয়ালবোটের সাথে আসা সেলফ আঠালো ধাতব ডিস্কটি যথাযথভাবে ঠিক করতে ব্যবহার করুন

ধাপ 24: 3D মুদ্রণের জন্য হার্ডওয়্যার STL ফাইল

ধাপ 25: থিং আপ আপ করার জন্য স্কিম্যাটিক্স

ধাপ 26: কোড

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

_future_ আমদানি print_function থেকে sys আমদানি প্ল্যাটফর্ম থেকে ওএস আমদানি সিস্টেম থেকে blynkapi আমদানি Blynk আমদানি WalabotAPI আমদানি সময় আমদানি RPi. GPIO GPIO হিসাবে

#বোর্ড নম্বর ব্যবহার করে GPIO সেট আপ করুন

GPIO.setmode (GPIO. BOARD) GPIO.setup (18, GPIO. IN, pull_up_down = GPIO. PUD_UP)

#blynk auth টোকেন

auth_token = "আপনার_অথ_টোকেন_ এখানে"

# Servo নিয়ন্ত্রণের জন্য PCA9685 মডিউল আমদানি করুন।

Adafruit_PCA9685 আমদানি করুন

#অবস্থান থেকে LCD মডিউল আমদানি করুন

আমদানি থেকে load_source LCD1602 = load_source ('LCD1602', '/usr/share/sunfounder/Python/LCD1602.py')

# ডিফল্ট ঠিকানা (0x40) ব্যবহার করে PCA9685 আরম্ভ করুন।

pwm = Adafruit_PCA9685. PCA9685 ()

# খালি বস্তু

ডিফল্ট = Blynk (auth_token, pin = "V9") start_button = Blynk (auth_token, pin = "V3") Rmax = Blynk (auth_token, pin = "V0") Rmin = Blynk (auth_token, pin = "V1") Rres = Blynk (auth_token, pin = "V2")

ThetaMax = Blynk (auth_token, pin = "V4")

ThetaRes = Blynk (auth_token, pin = "V5")

PhiMax = Blynk (auth_token, pin = "V6")

PhiRes = Blynk (auth_token, pin = "V7")

থ্রেশহোল্ড = Blynk (auth_token, pin = "V8")

ServoMin = Blynk (auth_token, pin = "V10")

ServoMax = Blynk (auth_token, pin = "V11")

ডিফ এলসিডি সেটআপ ():

LCD1602.init (0x27, 1) # init (স্লেভ অ্যাড্রেস, ব্যাকগ্রাউন্ড লাইট)

def numMap (x, in_min, in_max, out_min, out_max): "" "ওয়ালবট রিডিংগুলিকে সার্ভো পজিশনে ম্যাপ করার জন্য ব্যবহৃত হয়" "" "" out_min)

# নির্ধারিত মান থেকে কাঁচা তথ্য সংগ্রহ করার জন্য এটি ব্যবহার করুন

def myRound (x, base = 2): return int (base * round (float (x)/base))

#ফিরে আসা blynk স্ট্রিং থেকে সংখ্যা বের করে

def numberExtract (val): val = str (val) return int (filter (str.isdigit, val))

# ফ্রিকোয়েন্সি 60hz সেট করুন, সার্ভিসের জন্য ভাল।

pwm.set_pwm_freq (60)

# সর্বনিম্ন এবং সর্বাধিক servo পালস দৈর্ঘ্য ডিফল্ট কনফিগার করুন

SERVO_MIN = 175 # 4096 এর মধ্যে সর্বনিম্ন পালস দৈর্ঘ্য SERVO_MAX = 575 # 4096 এর মধ্যে সর্বাধিক পালস দৈর্ঘ্য

# ওয়ালাবট ডিফল্ট মান

R_MAX = 60 R_MIN = 20 R_RES = 5

THETA_MAX = 20

THETA_RES = 5

PHI_MAX = 20

PHI_RES = 5

থ্রেশহোল্ড = ১

# blynk সুইচিং এর জন্য ভেরিয়েবল

on = "[u'1 ']"

ক্লাস ওয়ালবট:

def _init _ (স্ব):

self.wlbt = WalabotAPI self.wlbt. Init () self.wlbt. SetSettingsFolder () self.isConnected = মিথ্যা self.isTargets = মিথ্যা

def blynkConfig (স্ব):

load_defaults = defaults.get_val () যদি str (load_defaults) == on: SERVO_MAX = ServoMax.get_val () SERVO_MAX = numberExtract (SERVO_MAX) প্রিন্ট ("Servo Max =", SERVO_MAX)

SERVO_MIN = ServoMin.get_val ()

SERVO_MIN = numberExtract (SERVO_MIN) প্রিন্ট ("Servo MIN =", SERVO_MIN) R_MAX = Rmax.get_val () R_MAX = numberExtract (R_MAX) প্রিন্ট ("R max =", R_MAX)

R_MIN = Rmin.get_val ()

R_MIN = numberExtract (R_MIN) প্রিন্ট ("R Min =", R_MIN)

R_RES = Rres.get_val ()

R_RES = numberExtract (R_RES) প্রিন্ট ("R Res =", R_RES)

THETA_MAX = ThetaMax.get_val ()

THETA_MAX = numberExtract (THETA_MAX) প্রিন্ট ("Theta Max =", THETA_MAX) THETA_RES = ThetaRes.get_val () THETA_RES = numberExtract (THETA_RES) প্রিন্ট ("Theta Res =", THETA_RES)

PHI_MAX = PhiMax.get_val ()

PHI_MAX = numberExtract (PHI_MAX) প্রিন্ট ("Phi Max =", PHI_MAX) PHI_RES = PhiRes.get_val () PHI_RES = numberExtract (PHI_RES) প্রিন্ট ("Phi Res =", PHI_RES)

থ্রেশহোল্ড = থ্রেশহোল্ড.get_val ()

THRESHOLD = numberExtract (THRESHOLD) প্রিন্ট ("থ্রেশহোল্ড", THRESHOLD)

অন্য: # যদি blynk অ্যাপ থেকে কিছু না হয়, লোড ডিফল্ট SERVO_MIN = 175 # 4096 SERVO_MAX = 575 এর মধ্যে মিনি পালস দৈর্ঘ্য = 4096 এর মধ্যে সর্বাধিক পালস দৈর্ঘ্য

# ওয়ালাবট ডিফল্ট মান

R_MAX = 60 R_MIN = 20 R_RES = 5

THETA_MAX = 20

THETA_RES = 5

PHI_MAX = 20

PHI_RES = 5

থ্রেশহোল্ড = ১

ডিফ সংযোগ (স্ব): চেষ্টা করুন: self.wlbt. ConnectAny () self.isConnected = True self.wlbt. SetProfile (self.wlbt. PROF_SENSOR) #self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_MetIlTMETLItMeTImTilMeTILMITE (self। SetArenaR (R_MIN, R_MAX, R_RES) self.wlbt. SetThreshold (THRESHOLD) ছাড়া self.wlbt. WalabotError ত্রুটি হিসাবে: যদি err.code!

def start (self):

self.wlbt. Start ()

def calibrate (self):

self.wlbt. StartCalibration ()

def get_targets (স্ব):

self.wlbt. Trigger () self.wlbt. GetSensorTargets ()

ডিফ স্টপ (স্ব):

self.wlbt. Stop ()

ডিফ সংযোগ বিচ্ছিন্ন (স্ব):

self.wlbt. Disconnect ()

def main ():

flag = True check = "" LCDsetup () যখন পতাকা: LCD1602.write (0, 0, 'guitar') LCD1602.write (0, 1, 'effect control') time.sleep (2) LCD1602.write (0, 0, 'Start to') LCD1602.write (0, 1, 'start') time.sleep (2) if (str (check) == on): flag = false else: check = start_button.get_val () # blynk স্টার্ট বাটন প্রেস করুন যদি (GPIO.input (18) == 0): #check footswitch flag = false

LCD1602.write (0, 0, "ঠিক আছে! চলো এটা করি")

LCD1602.write (0, 1, ') অন্য: LCD1602.write (0, 0, 'সংযুক্ত') time.sleep (2) wlbt.start () wlbt.calibrate () LCD1602.write (0, 0, 'calibrating…..') time.sleep (3) LCD1602.write (0, 0, 'শুরু হচ্ছে ওয়ালাবট')

appcheck = start_button.app_status () পতাকা = সত্য # প্রধান প্রোগের জন্য পতাকা রিসেট করুন

যখন পতাকা: # স্ট্যান্ডবাই (কার্যকরভাবে) প্রভাবিত করতে ব্যবহৃত

if (appcheck == true): if (str (check)! = on): if (GPIO.input (18)! = 0): #check footswitch flag = false false: check = start_button.get_val () #check for স্টার্ট বাটন প্রেস appcheck = start_button.app_status ()

অন্য:

যদি (GPIO.input (18)! = 0): #চেক ফুটসুইচ পতাকা = মিথ্যা

xval = 0

yval = 0 zval = 0 গড় = 2 বিলম্ব সময় = 0

লক্ষ্য = wlbt.get_targets ()

যদি লেন (লক্ষ্যমাত্রা)> 0:

পরিসরের মধ্যে j (গড়):

লক্ষ্য = wlbt.get_targets ()

যদি len (targets)> 0: print (len (targets)) targets = targets [0]

মুদ্রণ (str (targets.xPosCm))

xval += int (targets.xPosCm) yval += int (targets.yPosCm) zval += int (targets.zPosCm) time.sleep (delayTime) else: print ("no targets") xval = xval/গড়

xval = numMap (xval, -60, 60, SERVO_MIN, SERVO_MAX)

xval = myRound (xval) যদি xval SERVO_MAX: xval = SERVO_MAX LCD1602.write (0, 0, 'x =' + str (xval) + ')) pwm.set_pwm (0, 0, xval)

yval = yval/গড়

yval = numMap (yval, -60, 60, SERVO_MIN, SERVO_MAX)

yval = myRound (yval) যদি yval SERVO_MAX: yval = SERVO_MAX LCD1602.write (0, 1, 'y =' + str (yval)) pwm.set_pwm (1, 0, yval)

zval = zval/গড়

zval = numMap (zval, R_MIN, R_MAX, SERVO_MIN, SERVO_MAX)

zval = myRound (zval) যদি zval SERVO_MAX: zval = SERVO_MAX LCD1602.write (8, 1, 'z =' + str (zval)) pwm.set_pwm (2, 0, zval)

অন্য:

মুদ্রণ করুন ("কোন লক্ষ্য নেই")

যদি _name_ == '_main_':

সত্য যখন: প্রধান ()

guitareffect.sh এর জন্য

#!/বিন/শ

cd /home /pi

সুডো পাইথন GuitarEffectCLI.py

রেফারেন্সের জন্য আরসি লোকাল ফাইলের একটি কপি

#! # নিশ্চিত করুন যে স্ক্রিপ্ট সাফল্যে "0 থেকে প্রস্থান করবে" বা অন্য কোন # ত্রুটির মান। # # এই স্ক্রিপ্টটি সক্ষম বা নিষ্ক্রিয় করার জন্য শুধু এক্সিকিউশন # বিট পরিবর্তন করুন। # # ডিফল্টরূপে এই স্ক্রিপ্ট কিছুই করে না।

# আইপি ঠিকানা প্রিন্ট করুন

_IP = $ (হোস্টনেম -I) || সত্য যদি ["$ _IP"]; তারপর printf "আমার আইপি ঠিকানা হল %s / n" "$ _IP" ফাই

./blynk-library/linux/blynk --token = "আপনি টোকেন এখানে যান" &

ঘুম 10 sudo /home/pi/guitareffect.sh এবং 0 থেকে প্রস্থান করুন

ধাপ 27: Github সংগ্রহস্থল ব্যবহার করতে

সানফাউন্ডার LCD এর জন্য এটি ব্যবহার করুন

github.com/daveyclk/SunFounder_SensorKit_f…

সার্ভো ড্রাইভারের জন্য এটি ব্যবহার করুন

github.com/daveyclk/Adafruit_Python_PCA968…

Blynk Python HTTPS Wrapper এর জন্য এটি ব্যবহার করুন

github.com/daveyclk/blynkapi

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

Image
Image
Walabot FX- Guitar Effect Control. Full Demo
Walabot FX- Guitar Effect Control. Full Demo
উপসংহার
উপসংহার
উপসংহার
উপসংহার

ভাল এই একটি খাড়া শেখার বক্ররেখা হয়েছে, কিন্তু এটা এত মূল্যবান হয়েছে।

আমার টেক এওয়েস

  • আমাকে পাইথন শিখতে হয়েছিলো..
  • ব্লাইঙ্ক আইওটি পরিষেবার সাথে রাস্পবেরি পাইতে পাইথনকে ইন্টারফেস করে। এটি আনুষ্ঠানিকভাবে সমর্থিত নয় তাই এর কার্যকারিতার কিছু সীমা আছে। তবুও দারুণ কাজ করে!
  • দেখা যাচ্ছে যে ওয়ালাবোট বাদ্যযন্ত্রের প্রকাশের জন্য দুর্দান্ত। আমি এটি একটি Korg SDD3000 ব্যবহার করেছি, কিন্তু আপনি আপনার পছন্দ মত কোন প্রভাব ব্যবহার করতে পারেন

নিজে যান। এটি গিটারের প্রভাবের মধ্যে সীমাবদ্ধ নয়, আমি যে কোনও যন্ত্রের সাহায্যে যে কোনও প্রভাব ব্যবহার করতে পারি।

রাস্পবেরি পাই প্রতিযোগিতা 2017
রাস্পবেরি পাই প্রতিযোগিতা 2017
রাস্পবেরি পাই প্রতিযোগিতা 2017
রাস্পবেরি পাই প্রতিযোগিতা 2017

রাস্পবেরি পাই প্রতিযোগিতা 2017 তে রানার আপ

প্রস্তাবিত: