সুচিপত্র:

Arduino Guitar Jack Key Holder with Jack Recognition & OLED: 7 ধাপ
Arduino Guitar Jack Key Holder with Jack Recognition & OLED: 7 ধাপ

ভিডিও: Arduino Guitar Jack Key Holder with Jack Recognition & OLED: 7 ধাপ

ভিডিও: Arduino Guitar Jack Key Holder with Jack Recognition & OLED: 7 ধাপ
ভিডিও: Arduino Guitar Jack Key Holder with Jack Recognition & OLED 2024, জুলাই
Anonim
Image
Image
জ্যাক রিকগনিশন এবং ওএলইডি সহ আরডুইনো গিটার জ্যাক কী হোল্ডার
জ্যাক রিকগনিশন এবং ওএলইডি সহ আরডুইনো গিটার জ্যাক কী হোল্ডার

ভূমিকা:

এই নির্দেশযোগ্য আমার Arduino ভিত্তিক গিটার জ্যাক প্লাগইন কী হোল্ডারের বিল্ড বিস্তারিত করবে

এটি আমার প্রথম নির্দেশযোগ্য তাই দয়া করে আমার সাথে সহ্য করুন কারণ আমি পথে পরিবর্তন / আপডেট করতে পারি

ধাপ 1: যন্ত্রাংশ এবং সরঞ্জাম

যন্ত্রাংশ এবং সরঞ্জাম
যন্ত্রাংশ এবং সরঞ্জাম
যন্ত্রাংশ এবং সরঞ্জাম
যন্ত্রাংশ এবং সরঞ্জাম
যন্ত্রাংশ এবং সরঞ্জাম
যন্ত্রাংশ এবং সরঞ্জাম

আমি Amazon.co.uk বা eBay থেকে যেসব যন্ত্রাংশ কিনেছি, তার বেশিরভাগই আমি ইতিমধ্যেই লাথি মারছিলাম - এখানে আপনার যা লাগবে তার একটি তালিকা।

অ্যামাজন লিঙ্কগুলি সব অ্যাফিলিয়েট লিঙ্ক, আপনি অন্যত্র সস্তা খুঁজে পেতে সক্ষম হতে পারেন - আমি অ্যামাজন প্রাইম অনেক ব্যবহার করি, তাই অ্যামাজন আমার যাওয়া -আসা হয়েছে।

আমি এই বিল্ডটি মোটামুটি কম খরচে এবং বাজেট বান্ধব রাখতে চেয়েছিলাম। আপনি একটি বড় TFT স্ক্রিন ব্যবহার করতে পারেন যা আপনি চান, সেইসাথে একটি ভিন্ন Arduino। একটি ন্যানো ব্যবহার করবেন না, কারণ এটি উচ্চ মেমরি ব্যবহারের কারণে ক্র্যাশ হবে। কোডটি মাইক্রো র্যামের প্রায় 72% ব্যবহার করে এবং স্থিতিশীল, কিন্তু পরীক্ষা থেকে, একটি ন্যানো ক্র্যাশ এবং জমাট বাঁধবে।

(কোড ধাপে আরো বিস্তারিত।)

অংশ

1x আরডুইনো প্রো মাইক্রো -

1x 0.96 হলুদ এবং নীল প্রদর্শন সহ OLED -

4x WS2812 'পিক্সেল' -

1x DS3231 RTC -

4x 1/4 মনো জ্যাক (অথবা যতটা আপনি চান) - আমাজন (গোল্ড) বা আমাজন (সিলভার) অথবা eBay.co.uk

1x মিশ্র প্রতিরোধক প্যাক -

4x 1/4 গিটার জ্যাক -

1x মাইক্রো ইউএসবি কেবল এক্সটেনশন কেবল -

4x M3 স্ক্রু

সরঞ্জাম এবং উপাদান

- সোল্ডারিং আয়রন (এটি আমি কিনেছি - একটি টিএস 100 - যেহেতু এটি অতিরিক্ত টিপস নিয়ে এসেছে

- ঝাল

- হট গ্লু গান (https://amzn.to/2UTd9PN)

- ওয়্যার (https://amzn.to/2VK2ILU)

- ওয়্যার কাটার/স্ট্রিপার (https://amzn.to/2KzqUzp)

- 3 ডি প্রিন্টার বা 3 ডি প্রিন্টিং সার্ভিস

--চ্ছিক - এই আইটেমগুলি alচ্ছিক, আপনি কীভাবে সবকিছু সংযুক্ত করবেন তা নির্ভর করে

- ভেরোবোর্ড/স্ট্রিপবোর্ড (https://amzn.to/2KzMFPE)

- স্ক্রু টার্মিনাল সংযোগকারী (2 মেরু | 3 মেরু | 4 মেরু)

- পিসিবি হেডার (https://amzn.to/2X7RjWf)

ধাপ 2: কেস 3 ডি প্রিন্টিং

থ্রিডি প্রিন্টিং কেস
থ্রিডি প্রিন্টিং কেস
থ্রিডি প্রিন্টিং কেস
থ্রিডি প্রিন্টিং কেস
থ্রিডি প্রিন্টিং কেস
থ্রিডি প্রিন্টিং কেস
থ্রিডি প্রিন্টিং কেস
থ্রিডি প্রিন্টিং কেস

আমি ব্ল্যাক পিএলএ+ (https://amzn.to/2X2SDtE) ব্যবহার করে আমার ক্রিয়েলিটি সিআর -10 এস-এ আমার প্রিন্ট করেছি

আমি 25% ইনফিল সহ 0.2 স্তর উচ্চতায় মুদ্রিত।

ধাপ 3: সবকিছু একসাথে রাখা + পরিকল্পিত

এটা সব একসাথে রাখা + পরিকল্পিত
এটা সব একসাথে রাখা + পরিকল্পিত
এটা সব একসাথে রাখা + পরিকল্পিত
এটা সব একসাথে রাখা + পরিকল্পিত
এটা সব একসাথে রাখা + পরিকল্পিত
এটা সব একসাথে রাখা + পরিকল্পিত
এটা সব একসাথে রাখা + পরিকল্পিত
এটা সব একসাথে রাখা + পরিকল্পিত

আপনি কিভাবে আপনার Arduino সংযোগ করতে চয়ন সম্পূর্ণ আপনার উপর নির্ভর করে - আমি ব্যক্তিগতভাবে নিজেকে একটি "ieldাল" তাই কথা বলতে চয়ন। Micাল তৈরি করার জন্য, আমি প্রো মাইক্রো মেলাতে ভেরোবোর্ডে মহিলা হেডার সোল্ডার করেছি, তারপর আমি বিপরীত প্রান্তে +5v এবং GND এর একটি রেল যোগ করেছি। আমি আমার 5v 'রেল' এর সাথে +5v সংযোগ করতে জাম্পার তার ব্যবহার করেছি, এবং GND এর জন্য একই কাজ করেছি। আমি তখন আমার 4x 100k রোধক যোগ করেছি, এক প্রান্ত তাদের সকলের জন্য +5v এর সাথে সংযুক্ত, এবং তারপর অন্য দিকটি যথাক্রমে A0, A1, A2 এবং A3 এর সাথে সংযুক্ত। আমি তারপর এনালগ পিন A0, A1, A2 এবং A3 এবং পিন 2 (SDA), 3 (SCL) এবং 4 তে স্ক্রু টার্মিনাল যুক্ত করেছি

আপনার তারের পরিমাপ এবং উপযুক্ত দৈর্ঘ্য কাটা। আমি প্রথমে WS2812 পিক্সেল LEDs দিয়ে শুরু করেছিলাম - প্রথম WS2812 LED Arduino থেকে +5v, Arduino থেকে GND এবং DIN পিন 4 এর সাথে সংযোগ করে। এর পরে, বাকি 3 টি একসঙ্গে বেঁধে রাখা হয়, সমস্ত 5v> 5v, GND> GND পিন এবং একটি Pixel থেকে DOUT, পরের DIN- এর সাথে সংযোগ স্থাপন করে। একবার সোল্ডার হয়ে গেলে, এইগুলিকে আলতো করে উপরের বর্গাকার গর্তে চাপুন, এবং গরম আঠালো এবং পিছনটিকে কোনও দুর্ঘটনাজনিত সংযোগ বা শর্টস থেকে রক্ষা করুন।

LEDs পরে, আমি তারপর গিটার জ্যাক সকেট মধ্যে screwed। প্রত্যেকটির একটি পিন GND- এর সাথে সংযুক্ত হয় এবং তারপর প্রত্যেকটির ২ য় পিন সেই অনুযায়ী A0, A1, A2 এবং A3 এর সাথে সংযুক্ত হয়। সুতরাং এটি সকেট 1, এ 0, সকেট 2 থেকে এ 1, সকেট 3 থেকে এ 2 এবং সকেট 4 থেকে এ 3।

পরবর্তীতে আমি OLED সংযোগে 4 টি তারের সোল্ডার করেছি এবং যতটা সম্ভব অতিরিক্ত সোল্ডারটি ছাঁটাই করেছি। আপনি পর্দার পিছন থেকে আপনার তারগুলি সংযুক্ত করতে চান, তাই আপনি পর্দার সামনে সোল্ডারিং করছেন।

পিনের দিকে মনোযোগ দিন! কিছু OLED গুলির বাইরের দিকে GND থাকে, তারপর VCC, কারো কারো VCC এর বাইরে থাকে, এবং তারপর GND

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

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

আমি একটি মাইক্রো ইউএসবি এক্সটেনশন ব্যবহার করেছি যাতে ক) ইউএসবি শক্তি সরবরাহ করতে ব্যবহার করা যায়, কিন্তু আরো বেশি, খ) যাতে সবকিছু বাদ দিয়ে প্রয়োজন ছাড়া প্রো মাইক্রো পুনরায় প্রোগ্রাম করা সম্ভব হয়

একবার খুশি হলে, 4 টি স্ক্রু ব্যবহার করে কেসটি একসাথে স্ক্রু করুন

ধাপ 4: প্লাগগুলি

প্লাগগুলি!
প্লাগগুলি!
প্লাগগুলি!
প্লাগগুলি!
প্লাগগুলি!
প্লাগগুলি!

যেভাবে এটি কাজ করে, তা হল, সমস্ত উদ্দেশ্য এবং উদ্দেশ্যগুলির জন্য, নকশাটির একটি অংশ "ওহমিটার" হিসাবে কাজ করে। একটি ওহমিটার বৈদ্যুতিক প্রতিরোধের পরিমাপের একটি যন্ত্র। বেশিরভাগ মাল্টিমিটারে এই ফাংশন থাকে যার মাধ্যমে আপনি স্কেল বাছুন এবং তারপরে একটি মানকে খুঁজে বের করার জন্য একটি প্রতিরোধক পরিমাপ করুন। কার্যকরী প্রিন্সিপাল হল যে আপনি একটি KNOWN রোধকে +ve এর সাথে সংযুক্ত করুন, যা তারপর একটি UNKNOWN প্রতিরোধকের সাথে সংযুক্ত থাকে, যা -ve এর সাথে সংযোগ স্থাপন করে। 2 টি প্রতিরোধকের মধ্যে জয়েন্টটি Arduino এনালগ পিনের সাথে সংযুক্ত হয় যাতে এটি ভোল্টেজ পড়তে পারে এবং প্রতিরোধের হিসাব করতে পারে।

এটি একটি ভোল্টেজ ডিভাইডারের মত কাজ করে এবং অজানা প্রতিরোধকের প্রতিরোধের হিসাব করে।

প্রতিরোধক R1 এবং R2 এর একটি ভোল্টেজ বিভাজক নেটওয়ার্ক হিসাবে, Vout = Vin * R2 / (R1 + R2) - আমরা আমাদের পরিচিত (R1) প্রতিরোধকের জন্য 100k ব্যবহার করছি। এটি আমাদের "ভোল্টেজ ড্রপ" দেয়

এটি থেকে, আমরা এখন অজানা (R2) প্রতিরোধকের প্রতিরোধের কাজ করতে পারি, R2 = Vout * R1 / (Vin - Vout) - যেখানে R1 আমাদের 100k (100, 000 ohm) রোধক

প্রতিটি প্লাগ জ্যাকের মধ্যে একটি ভিন্ন রোধকারী ব্যবহার করে আপনি ব্যবহার করতে চান, তারপর আপনি সেই অনুযায়ী জ্যাকের উপর নির্ভর করে কোডটি সামঞ্জস্য করতে পারেন।

আমি 4 জ্যাক প্লাগ ব্যবহার করছি। আমি ব্যবহার করতে পছন্দ করেছি:

পরিচিত প্রতিরোধক (x4) - 100k

জ্যাক প্লাগ 1 - 5.6 কে

জ্যাক প্লাগ 2 - 10k

জ্যাক প্লাগ 3 - 22k

জ্যাক প্লাগ 4 - 39k

আপনি অবশ্যই এটিকে প্রসারিত করতে পারেন এবং যতটা চান কোড করতে পারেন।

ধাপ 5: কোড

কোড
কোড

প্রথমত, আপনার Arduino IDE এর প্রয়োজন হবে, এখান থেকে উপলব্ধ:

আপনার কিছু Arduino লাইব্রেরিও আছে তা নিশ্চিত করতে হবে:

Adafruit NeoPixel:

u8g2:

Adafruit RTCLib:

Adafruit SleepyDog (ptionচ্ছিক):

ডান "Arduino" বোর্ড নির্বাচন সম্পর্কে একটি নোট। মূলত আমি একটি Arduino ন্যানো দিয়ে এই প্রকল্পটি শুরু করেছি, কারণ তারা যুক্তরাজ্যে প্রায়-3- £ 4, অথবা আপনি যদি AliExpress থেকে ক্রয় করেন তবে £ 1.50 হিসাবে খুব কম সস্তা (কিন্তু 30-50 দিনের অপেক্ষা মনে করবেন না)। ন্যানোর সমস্যা হল এটি SRAM হল 2 KB (2048 বাইট)। এই স্কেচে গ্লোবাল ভেরিয়েবলের সাথে 1728 বাইট গতিশীল মেমরি ব্যবহার করা হয়েছে। এটি SRAM এর 84%, স্থানীয় ভেরিয়েবলের জন্য মাত্র 320 বাইট মুক্ত রেখে। এটি অপর্যাপ্ত ছিল এবং ন্যানোকে লক আপ এবং হিমায়িত করবে।

প্রো মাইক্রো (লিওনার্দো) এর 2.5K SRAM (2560 বাইট) আছে, যার মানে স্থানীয় ভেরিয়েবলের জন্য 694 বাইট ফ্রি আছে (স্কেচটি প্রো মাইক্রোর SRAM এর 72% ব্যবহার করে)। এখন পর্যন্ত এটি আমার ব্যবহারের জন্য পুরোপুরি পর্যাপ্ত এবং স্থিতিশীল প্রমাণিত হয়েছে। আপনি যদি অনেক জ্যাক প্লাগ ব্যবহার করতে চান, তাহলে আপনি আরও SRAM দিয়ে কিছু ব্যবহার করার কথা ভাবতে পারেন।

যতদূর ফ্ল্যাশ স্টোরেজ সম্পর্কিত, এই স্কেচ 30k এর 88% (25252 বাইট) ব্যবহার করে (ATMega328p [Nano] এবং ATMega32u4 [Pro Micro] উভয়েরই 32k আছে, কিন্তু 2k বুটলোডারের জন্য সংরক্ষিত)

আমি কয়েক বছর ধরে শত শত আরডুইনো স্কেচ লিখেছি, কিন্তু আমি একজন শখের লোক - তাই মনে রাখবেন কোডের কিছু অংশ অকার্যকর হতে পারে বা "এটি করার আরও ভাল উপায়" পরিস্থিতি থাকতে পারে। বলা হচ্ছে, এটি আমার জন্য পুরোপুরি কাজ করছে এবং আমি এতে খুশি। আমি লাইব্রেরি ব্যবহার করেছি যা বেশিরভাগ বোর্ডে কাজ করতে হবে, তা AVR (সবচেয়ে মৌলিক Arduino এর) বা SAMD21 (আমার হাতে কয়েকটি কর্টেক্স M0 ডিভাইস আছে)

আমি ব্যবহৃত জ্যাকের উপর ভিত্তি করে একটি ভিন্ন গ্রাফিক প্রদর্শন করতে চেয়েছিলাম। আপনি যদি নিজের তৈরি করতে চান, তাহলে এই ডিসপ্লের সাহায্যে ইমেজ ব্যবহারের জন্য সি অ্যারে কিভাবে তৈরি করা যায় তার একটি উজ্জ্বল সহজ গাইড:

sandhansblog.wordpress.com/2017/04/16/interfacing-displaying-a-custom-graphic-on-an-0-96-i2c-oled/

আপনার গ্রাফিক্সের জন্য PROGMEM ব্যবহার করতে ভুলবেন না। যেমন:

স্ট্যাটিক কনস্ট স্বাক্ষরবিহীন চার YOUR_IMAGE_NAME প্রোগ্রাম = {}

নকশা অনুসারে, স্ক্রিনটি 5 সেকেন্ডের পরে "টাইমআউট" হবে এবং সময় প্রদর্শনে ফিরে আসবে।

বেশিরভাগ সেটিংস সেটিংসে পাওয়া যাবে।

#প্লাগ 1 "কী" সংজ্ঞায়িত করুন

#PLUG2 "P2" নির্ধারণ করুন #PLUG3 "P3" #PLUG4 "P4" নির্ধারণ করুন

Variables.h এর ভিতরে কোডের কিছু গুরুত্বপূর্ণ অংশও রয়েছে

ভাসা R1 = 96700.0;

ভাসা R2 = 96300.0; ভাসা R3 = 96500.0; ভাসা R4 = 96300.0;

এগুলি 4 টি প্রতিরোধকের প্রতিটিতে ওহমে জ্ঞাত প্রতিরোধের মান।

R1 A0, R2 থেকে A1, R3 থেকে A2, এবং R4 থেকে A3 এর সাথে সংযুক্ত।

মাল্টিমিটার ব্যবহার করে আপনার 100 কে প্রতিরোধক পরিমাপ করা এবং প্রতিরোধকের সঠিক মান ব্যবহার করা বাঞ্ছনীয়। সবকিছু সংযুক্ত হয়ে গেলে প্রতিরোধকের পরিমাপ নিন। (কিন্তু চালিত নয়)।

আপনার জ্যাক প্লাগগুলির জন্য প্রতিরোধক নির্বাচন করার সময়, নিশ্চিত করুন যে তাদের মধ্যে একটি ভাল ওহম ফাঁক আছে, এবং তাদের কোডিং করার সময়, নিজেকে আপনার নির্বাচিত প্রতিরোধকের চেয়ে কম এবং উচ্চতর পরিসর দিন। এখানে আমি আমার কোড ব্যবহার করেছি:

ভাসা P1_MIN = 4000.0, P1_MAX = 7000.0; // 5.6 কে

ভাসা P2_MIN = 8000.0, P2_MAX = 12000.0; // 10K ভাসা P3_MIN = 20000.0, P3_MAX = 24000.0; // 22K ভাসা P4_MIN = 36000.0, P4_MAX = 42000.0; // 39 কে

এর কারণ হল এনালগ পড়া এবং ছোট ভোল্টেজের ওঠানামা ইত্যাদি

তাহলে যা হয় তা হল, যদি সনাক্ত করা প্রতিরোধ 4000 ওহম এবং 7000 ওহমের মধ্যে হয়, আমরা ধরে নিচ্ছি আপনি একটি 5.6k রোধক ব্যবহার করেছেন এবং এইভাবে কোডটি জ্যাক প্লাগ 1 হিসাবে দেখবে। যদি পরিমাপ করা প্রতিরোধ 8000 ওহম এবং 12000 ohms, অনুমান হল যে এটি একটি 10k প্রতিরোধক এবং জ্যাক প্লাগ 2 এবং তাই।

যদি আপনার কিছু ডিবাগিং করার প্রয়োজন হয় (সিরিয়াল ডিবাগিং মূল্যবান র্যাম ব্যবহার করে 'প্রোডাকশনে' অসন্তুষ্ট হবেন না) সেটিংসের শীর্ষে আপনার প্রয়োজনীয় লাইনগুলিকে কেবল অসম্পূর্ণ করুন।

//#SERIAL_DEBUG সংজ্ঞায়িত করুন

//#WAIT_FOR_SERIAL সংজ্ঞায়িত করুন

অস্বস্তির জন্য, সরান সরান //…। লাইনটি আবার মন্তব্য করার জন্য, লাইনের সামনে // আবার যোগ করুন।

SERIAL_DEBUG সিরিয়াল ডিবাগিং এবং জিনিসের ব্যবহার যেমন (উদাহরণস্বরূপ) সক্ষম করে

Serial.println (F ("হ্যালো ওয়ার্ল্ড"));

WAIT_FOR_SERIAL হল একটি অতিরিক্ত পদক্ষেপ, তার মানে, যতক্ষণ না আপনি সিরিয়াল মনিটর না খুলবেন, ততক্ষণ কোডটি চলবে না। এটি নিশ্চিত করতে সাহায্য করে যে আপনি কোন গুরুত্বপূর্ণ সিরিয়াল বার্তা মিস করবেন না। - কখনই এটিকে সক্ষম করবেন না

যদি আপনি WAIT_FOR_SERIAL সক্ষম করে রাখেন, তাহলে আপনি কোন "বাস্তব জগতের" পরিবেশে আপনার কী হোল্ডারটি ব্যবহার করতে পারবেন না কারণ এটি স্কেচের মূল লুপে যাওয়ার আগে Arduino IDE সিরিয়াল মনিটরের অপেক্ষায় আটকে থাকবে। একবার আপনি আপনার ডিবাগিং সম্পন্ন করলে, নিশ্চিত করুন যে আপনি এই লাইনটি আবার অস্বস্তিকর করেছেন, এবং উত্পাদন/সমাপ্তির জন্য আপনার স্কেচটি পুনরায় আপলোড করুন।

SERIAL_DEBUG বিকল্পটি ব্যবহার করার সময়, আমার কোডে নিম্নলিখিতগুলি রয়েছে:

#ifdef সিরিয়াল_ডিবেগ

Serial.print (F ("ACTIVE JACK =")); Serial.println (ACTIVE_JACK); int len = sizeof (SOCKET_1234_HAS_PLUGTYPE_X)/sizeof (SOCKET_1234_HAS_PLUGTYPE_X [0]); জন্য (int i = 0; i <len; i ++) {Serial.print (F ("SOCKET_1234_HAS_PLUGTYPE_X [")); সিরিয়াল.প্রিন্ট (i); সিরিয়াল.প্রিন্ট (F ("] =")); Serial.println (SOCKET_1234_HAS_PLUGTYPE_X ); } Serial.println (); যদি (সন্নিবেশিত [সকেট]) {Serial.print (F ("প্লাগ ইন সকেট")); সিরিয়াল.প্রিন্ট (সকেট+1); Serial.print (F ("এর রেসিট্যান্স আছে:")); Serial.println (প্রতিরোধ); } #যদি শেষ

শেষ সিরিয়াল.প্রিন্ট লাইনটি আপনাকে বলবে যে, শেষ সন্নিবেশিত জ্যাকের প্রতিরোধ ক্ষমতা কি। সুতরাং আপনি একটি জ্যাক প্লাগের প্রতিরোধের পরীক্ষা করার জন্য এই স্কেচটিকে ওহমিটার হিসাবে ব্যবহার করতে পারেন।

ধাপ 6: নোট

আমি মনে করি আমি সবকিছু আবৃত করেছি, কিন্তু দয়া করে মন্তব্য করুন এবং যখন আমি পারব তখন আমি পড়ার এবং উত্তর দেওয়ার জন্য যথাসাধ্য চেষ্টা করব:)

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

পড়ার জন্য ধন্যবাদ.

প্রস্তাবিত: