সুচিপত্র:

কিভাবে একটি হালকা আপ Ukulele তৈরি করতে হয় !: 21 ধাপ
কিভাবে একটি হালকা আপ Ukulele তৈরি করতে হয় !: 21 ধাপ

ভিডিও: কিভাবে একটি হালকা আপ Ukulele তৈরি করতে হয় !: 21 ধাপ

ভিডিও: কিভাবে একটি হালকা আপ Ukulele তৈরি করতে হয় !: 21 ধাপ
ভিডিও: Ukulele তে সহজেই গান বাজান এবং যেইভাবে টিউন করবেন। || Dipra || 2024, জুলাই
Anonim
Image
Image
একটা পরিকল্পনা কর
একটা পরিকল্পনা কর

আমি উকুলেলে খেলি। কিছুটা মধ্যবিত্ত (যদি এটি একটি শব্দ) তাই আমি ভেবেছিলাম, "আপনি যদি সত্যিই মহিলাদের প্রভাবিত করতে চান, তাহলে মঞ্চে যে বিপর্যয় চলছে তা থেকে তাদের বিভ্রান্ত করার জন্য আপনার একটি উপায় দরকার।" অতএব "লাইট-আপ উকুলেলে" এর জন্ম হয়েছিল।

এই প্রকল্পটি একটি কনসার্ট উকুলেলে কিট নেয় এবং প্রতিটি স্ট্রিং এবং ঝাঁকুনি অবস্থানে একটি Arduino নিয়ন্ত্রিত LED যোগ করে। এটি LED স্ট্রিং এর মোড এবং তীব্রতা নির্বাচন করতে একটি অভিনব OLED ডিসপ্লে এবং রোটারি এনকোডার ভিত্তিক ইউজার ইন্টারফেস যোগ করে।

সম্পূর্ণ ইউকে হার্ডওয়্যার বৈশিষ্ট্য:

  1. আরডুইনো মাইক্রো LED স্ট্রিং, ডিসপ্লে এবং ইনপুট ডিভাইসে ইন্টারফেস করতে।
  2. 48 স্বতন্ত্রভাবে প্রোগ্রামযোগ্য সম্পূর্ণ রঙ LEDs
  3. একটি OLED ডিসপ্লে
  4. ব্যবহারকারীর ইনপুটের জন্য একটি ঘূর্ণমান এনকোডার
  5. বাহ্যিক শক্তি এবং আরডুইনো প্রোগ্রামিংয়ের জন্য ইউএসবি ইন্টারফেস

ইউকে সফটওয়্যারে আছে:

  1. বেসিক লাইট কন্ট্রোল মোড যা তাদের পেস দিয়ে এলইডি চালায়
  2. একটি নিফটি থিয়েটার মার্কি মোড (পারফরম্যান্সের জন্য খুব সহজ!)
  3. LED তীব্রতা নিয়ন্ত্রণ
  4. সমস্ত প্রথম অবস্থানের একটি পূর্ণাঙ্গ কর্ড লাইব্রেরি
  5. একটি অনন্য 4 x 6 পিক্সেল অক্ষর সেট ব্যবহার করে চলমান পাঠ্য (উল্লম্বভাবে) প্রদর্শন করার ক্ষমতা

এই নির্দেশযোগ্য সম্পূর্ণ প্রোটোটাইপ বর্ণনা করে। সম্পূর্ণ বিকাশের কাহিনী এখানে পাওয়া যায়, যার মধ্যে রয়েছে কিছু শিক্ষাগত (বেদনাদায়ক) ভুল এবং একটি মূল্যবান পাঠ কেন আপনি আপনার প্রথম নকশাটি শেষ করতে হবে (যতই কুৎসিত হোক না কেন)। আপনি শেষ পর্যন্ত না পৌঁছানো পর্যন্ত আপনি সত্যিই জানেন না এমন সব জিনিস কখনই জানেন না (এবং তারপর আপনি এখনও জানেন না!), কিন্তু আপনি অনেক ভাল এবং পরবর্তী ডিজাইনের জন্য অনেক বেশি স্মার্ট

আমি একটি গ্রিজলি কনসার্ট ইউকুলেলে কিটের চারপাশে প্রোটোটাইপ তৈরি করেছি। একটি কিট দিয়ে শুরু করা ইউকে (ভাল, বেশিরভাগ) এর শরীর সম্পর্কে উদ্বেগ দূর করে এবং বেশিরভাগ লুথিয়ার-টাইপ কাজকে বাদ দেয়। এই কিটগুলি বেশ পরিপূর্ণ এবং গ্র্যান্ড স্কিমের ক্ষেত্রে এত ব্যয়বহুল নয় (এবং আপনি যখন ভুল করবেন তখন কম বেদনাদায়ক)।

ধাপ 1: একটি পরিকল্পনা করুন

একটা পরিকল্পনা কর
একটা পরিকল্পনা কর

কিছু কিটে অন্তর্ভুক্ত ফ্রেটবোর্ড (বা ফিঙ্গারবোর্ড) এর মধ্যে ইতিমধ্যেই ফ্রেট সংযুক্ত রয়েছে। এটা ভালো/খারাপ। এটি একটি সময় সাশ্রয়কারী হিসাবে চমৎকার, কিন্তু একটি ড্রিল প্যাটার্ন স্থাপন এবং মিলিংয়ের সময় এটিকে ধরে রাখার ক্ষেত্রে, এটি কিছুটা ব্যথা। কিটে প্রদত্ত একটি নষ্ট করার পর, আমি একটি নতুন ফ্রেটবোর্ড কিনতে (ভাল, আমার অন্য কিট কেনা ছাড়া অন্য কোন বিকল্প ছিল না) বেছে নিয়েছি।

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

LED মুদ্রিত সার্কিট বোর্ড (PCB) একটি সাধারণ 2 স্তর বোর্ড হিসাবে ডিজাইন করা হয়েছে। এটি এলইডি স্ট্রিংয়ের হাতের সমাবেশে অনেক সাহায্য করে এবং ইউকুলেলে ঘাড়ে কিছু যান্ত্রিক শক্তি (এটি ফাইবারগ্লাস এবং ইপক্সি) সরবরাহ করে। আমি agগলে লেআউট শুরু করেছি, কিন্তু বোর্ডের আকার সীমাবদ্ধতার কারণে আলটিয়াম ডিজাইনার ব্যবহার করে শেষ করেছি। Altium পরিকল্পিত এবং PCB ফাইল এখানে।

কিট ফ্রেটবোর্ড ছিল মাত্র 0.125 ইঞ্চি পুরু। সুতরাং, একটি 0.062 ইঞ্চি পুরু PCB অনুমান করা এবং LEDs এর জন্য একটি অতিরিক্ত 0.062 ইঞ্চি অনুমতি দেওয়া, এর মানে হল যে আমরা ফ্রেটবোর্ডের অনেকগুলি (সবগুলির মতো) কেটে ফেলতে চাই। ক্ষতিপূরণ দেওয়ার জন্য আমরা পিসিবির জন্য ঘাড়ের সাথে সংশ্লিষ্ট পকেট দিয়ে ফ্রেটবোর্ডে এলইডিগুলির জন্য আংশিকভাবে পকেট কাটাতে পারি, অথবা আমরা লুথার মার্কেন্টাইল ইন্টারন্যাশনাল (এলএমআইআই) থেকে একটি ঘন সংস্করণ সহ পুরো ফ্রেটবোর্ড (যে বিকল্পটি নিয়েছিলাম) প্রতিস্থাপন করতে পারি।, যা শুরু করতে 0.25 ইঞ্চি।

কিন্তু, মনে রাখবেন যে ফ্রেটবোর্ডে বেধ বৃদ্ধির ক্ষতিপূরণ দিতে আপনাকে ঘাড় মেশাতে হবে। আপনি যে অন্য সুবিধাটি পান তা হল প্রসাধনী, যেহেতু পিসিবি এখন সম্পূর্ণভাবে ফ্রেটবোর্ডের ভিতরে এম্বেড করা হয়েছে যা প্রান্তগুলি শেষ করা আরও সহজ করে তোলে (এবং অনেক সুন্দর দেখায়!) এবং ঘাড়ের কলিং সহজ করে।

ইঞ্জিনিয়ারিং স্টাফ (আপনি চাইলে উপেক্ষা করুন):

যাইহোক, এটি সত্যিই ঘাড়ের শক্তিকে এতটা আপোষ করে না। পিসিবি উপাদান আসল ফ্রেটবোর্ড কাঠের চেয়ে অনেক বেশি শক্ত বা পাটা) ঘাড়।

একটি খুব আকর্ষণীয় বিবেচনা (যা সম্ভবত আমি এখনও গণনা করা উচিত) তাপমাত্রার উপর কি ঘটে। সাধারণভাবে কাঠের জন্য, শস্যের সমান্তরাল, সম্প্রসারণের তাপীয় সহগ মোটামুটি 3 x 10^-6/K এবং FR4 এর জন্য এটি 14 × 10^-6/K। সুতরাং, বেশ উল্লেখযোগ্য পার্থক্য রয়েছে। উদ্বেগের বিষয় হল ঘাড়ের মধ্যে তাপমাত্রা পরিবর্তিত হওয়ায় উত্তেজনা সৃষ্টি হয়, যা পরিবর্তে স্ট্রিংগুলিকে ডি-টিউন করে। এটি এমন কিছু যা নিরপেক্ষ অক্ষের বিপরীত দিকে অনুরূপ স্তর প্রয়োগ করে বা নিরপেক্ষ অক্ষের যতটা সম্ভব FR4 পেয়ে ক্ষতিপূরণ দেওয়া যেতে পারে। কিন্তু এটি 2.0 এর জন্য রেখে দেওয়া হবে … মডেলিং এবং মূল্যায়নের জন্য কিছু।

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

পদক্ষেপের রূপরেখা নিম্নরূপ:

  1. উপকরণ সংগ্রহ করুন
  2. আপনার প্রয়োজনীয় সরঞ্জামগুলি পান
  3. ঘন fretboard মিটমাট ঘাড় মিল
  4. প্রয়োজনীয় স্থানে গর্ত তৈরি করতে এবং বোর্ড এবং এলইডি -র জন্য পকেট তৈরি করতে ফ্রেটবোর্ডটি তৈরি করুন
  5. LEDs ধারণ করে পিসিবি পান এবং নির্মাণ করুন
  6. OLED ডিসপ্লে, রোটারি এনকোডার, এবং অ্যাক্সেস প্যানেলের জন্য Ukulele শরীরের মিল অ্যাক্সেস গর্ত
  7. কভার প্লেট তৈরি করুন
  8. পিসিবিতে তারগুলি সংযুক্ত করুন; ইলেকট্রনিক্স সংযোগ করুন এবং পরীক্ষা করুন
  9. Ukulele শরীরের সঙ্গে ঘাড় সংযুক্ত করুন
  10. পিসিবি তারের শরীরে প্রবেশ করার জন্য একটি অ্যাক্সেস হোল্ড ড্রিল করুন
  11. পিসিবি এবং ফ্রেটবোর্ড ঘাড়ের সাথে সারিবদ্ধ করুন এবং আঠালো করুন
  12. ঘাড়ের দিকে ফ্রেটবোর্ডের প্রান্ত সমতল করুন (অতিরিক্ত উপাদান সরান)
  13. বিরক্ত তারগুলি ইনস্টল করুন
  14. মাস্কিং প্রয়োগ করুন এবং উকুলেলে ফিনিস প্রয়োগ করুন
  15. সারিবদ্ধ করুন এবং সেতুটি সংযুক্ত করুন
  16. ইলেকট্রনিক্স ইনস্টল করুন এবং পরীক্ষা করুন।
  17. টিউনার ইনস্টল করুন এবং যন্ত্রটি স্ট্রিং করুন
  18. ইউকে কন্ট্রোলার প্রোগ্রাম করুন
  19. আপনার উকুলেলে অসাধারণতা দিয়ে বিশ্বকে বিস্মিত করুন!

ধাপ 2: উপকরণ সংগ্রহ করুন

আমাদের উপকরণ তালিকা এই মত দেখাচ্ছে:

  1. ইউকুলেলে কিট - আমি একটি গ্রিজলি কনসার্ট ইউকুলেলে কিট (অ্যামাজনে গ্রিজলি ইউকে কিট) ব্যবহার করেছি, কিন্তু এটি বন্ধ বলে মনে হচ্ছে। জিমো একটি অনুরূপ মডেল (জিমো ইউকে কিট -আমাজন) তৈরি করে যা দেখে মনে হচ্ছে এটি কাজটি করবে
  2. Ukulele fretboard, pre-slotted (LMII Uke Fingerboards)। তারা আপনার স্কেলে ফ্রেটবোর্ড স্লট করবে, যা ঝামেলা থেকে বাঁচায়
  3. Epoxy - ঘাড় fretboard gluing জন্য। আমি ইপক্সি বেছে নিয়েছি কারণ এটি পিসিবি উপাদানের সাথে সামঞ্জস্যপূর্ণ। কমপক্ষে 60 মিনিটের কর্মজীবনের সাথে এমন কিছু সন্ধান করুন। 5 মিনিটের ধরন ব্যবহার করবেন না, সমন্বয় করতে আপনার সময় প্রয়োজন
  4. Fret তারগুলি - LMII থেকেও পাওয়া যায়
  5. কাস্টম PCB - Altium ফাইল এখানে আছে। আমি সাধারণ FR4 ধরনের উপাদান বেছে নিয়েছি। ফ্লেক্স (পলিমাইড) বোর্ডগুলি একটি আকর্ষণীয় (যদি বেশি দামি) বিকল্প হয়, কারণ সেগুলি অনেক পাতলা হতে পারে
  6. 48x Neopixel (SK6812) LEDs। Adafruit এবং Digikey থেকে পাওয়া যায়
  7. 48x 0.1uF 0402 ক্যাপ - বড় গ্রহণযোগ্য, কিন্তু আপনি বসানো দেখতে হবে
  8. হুকআপ তার - বিভ্রান্তি এড়াতে কমপক্ষে 4 থেকে 6 টি রঙ, আমি প্রাথমিকভাবে 28 গেজ তার ব্যবহার করেছি। এলইডি বিদ্যুৎ সংযোগে ডিসি ড্রপ দেখুন (উভয় ভিসিসি এবং গ্রাউন্ড… সেই স্রোতকে উৎসে ফিরে যেতে হবে!)
  9. রোটারি এনকোডার-PEC16-4220F-S0024
  10. অভিনব কাঠের গিঁট - ঘূর্ণমান এনকোডারের জন্য (আমি LMII থেকে খনি পেয়েছি)
  11. OLED ডিসপ্লে - 4D সিস্টেম থেকে OLED ডিসপ্লে
  12. বাহ্যিক ইউএসবি ব্যাটারি - সব সময় সস্তা, প্লাস আপনি খুচরা বহন করতে পারেন!
  13. আরডুইনো মাইক্রো
  14. শীট ব্রাস - প্রদর্শনের জন্য আরডুইনো এবং বেজেল রাখার জন্য প্লেট তৈরি করা
  15. বিবিধ উপভোগ্য সামগ্রী সহ: স্যান্ডপেপার, ইউরেথেন ফিনিশ, পপসিকল স্টিকস, রাবার ব্যান্ড, সোল্ডার, ফ্লাক্স, ব্রাশ, ডাবল সাইডেড টেপ (আমি ইউএইচসি টেপ 3M পছন্দ করি) এবং ছোট ব্রাস উডস্ক্রু (প্লেটের জন্য)
  16. Uচ্ছিক Ukulele বর্ধন - ভাল tuners, ভাল স্ট্রিং, ভাল বাদাম এবং স্যাডেল, যদি আপনি আপনার luthier দক্ষতা প্রদর্শন করতে চান inlay)

ধাপ 3: আপনার প্রয়োজনীয় সরঞ্জামগুলি পান

শীঘ্রই বা পরে আপনাকে এইগুলি পেতে বা অ্যাক্সেস পেতে হবে:

আমাদের সরঞ্জাম তালিকা অন্তর্ভুক্ত:

  1. মিলিং মেশিন - সিএনসি পছন্দসই, তবে আপনি এমনকি রাউটার এবং অনেক ভাগ্যের সাথেও পেতে পারেন। আমি একটি কম্বো সিএনসি মিল/রাউটার ব্যবহার করেছি
  2. রাউটার বিট - কার্বাইড পছন্দ। রাউটার বিটগুলি শেষ মিলের উপর বেছে নেওয়া হয়েছে যেহেতু আমরা কাঠ মেশিন করছি, ধাতু নয়
  3. Clamps - অনেক 'তাদের। আঠালো করার সময় বেশিরভাগ অংশ ধরে রাখার প্রয়োজন হয়
  4. সোল্ডারিং আয়রন - সারফেস মাউন্ট সোল্ডারিং এর জন্য ছোট টিপ
  5. মাইক্রোস্কোপ বা ম্যাগনিফায়ার - আপনি কেবল আপনার চোখ দিয়ে সোল্ডার করার চেষ্টা করতে পারেন, কিন্তু আমি এটি সুপারিশ করব না, সর্বনিম্ন 10x
  6. টুইজার (জায়গায় অংশ রাখার জন্য)
  7. Fretting টুলস (LMII- এ সঠিক সরঞ্জামগুলি দেখুন
  8. কাঠের ছোলা, স্ক্রু ড্রাইভার, নরম ঘা বা কাঁচা হাতুড়ি (ঝাঁকুনির জন্য) ইত্যাদি বিভিন্ন ধরণের সরঞ্জাম
  9. Abrasives - sandpaper বিভিন্ন grits

আমাদের সফটওয়্যার টুলগুলির মধ্যে রয়েছে (কিছু আপনার বাজেট/দক্ষতার উপর নির্ভর করে optionচ্ছিক):

  1. Arduino সফটওয়্যার
  2. ইউকুলেলে সোর্স কোড (https://github.com/conrad26/Ukulele)
  3. পিসিবি লেআউট প্যাকেজ - আমি আলটিয়াম ব্যবহার করেছি কারণ agগলের বিনামূল্যে সংস্করণটি আমি যে বোর্ডের আকার চেয়েছিলাম তা সমর্থন করে না। Altium একটি সম্পূর্ণ বৈশিষ্ট্যযুক্ত লেআউট প্যাকেজ এবং সত্যিই একটি hobbyist মূল্য পরিসীমা নয়। আমি প্রোটোটাইপের জন্য আমার সাইটে গারবার ফাইলগুলি অন্তর্ভুক্ত করেছি, তবে এগুলি অবশ্যই একটি আপডেটের প্রয়োজন
  4. 3D মডেলিং সফটওয়্যার - আমি SolidWorks ব্যবহার করেছি, কিন্তু একটি বিনামূল্যে বিকল্প হল FreeCAD (https://www.freecadweb.org/)
  5. CAM সফটওয়্যার - NC মিল ফাইল তৈরির জন্য Autodesk থেকে FeatureCAM এর মত।

ফ্রেটিবোর্ডের একটি 3D মডেলের সাথে Altium থেকে 3D স্টেপ ফাইল এক্সপোর্টের সংমিশ্রণ নিশ্চিত করে যে সবকিছু লাইন আপ করা নিশ্চিত করতে অনেক অসুবিধা দূর করে, কিন্তু এটি একটি প্রয়োজনীয়তা নয়। যত্নশীল বিন্যাস একই ফলাফল অর্জন করবে।

এখন আমরা জানি যে আমরা কি করতে চাই, এবং আমাদের কি করতে হবে, আসুন একটি Ukulele তৈরি করি।

ধাপ 4: মোটা ফ্রেটবোর্ডে থাকার জন্য ঘাড়টি মিল করুন।

মোটা Fretboard থাকার জন্য ঘাড় মিল।
মোটা Fretboard থাকার জন্য ঘাড় মিল।

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

শুধু সেখানে যাবেন না, আপনার সময় নিন এবং সাবধানে এবং কঠোরভাবে ঘাড় বেঁধে নিন এবং কাটার আগে পুরো ঘাড় জুড়ে রাউটারের বিট এর সারিবদ্ধতা পরীক্ষা করুন। এখানে কাটানো সময় আপনাকে পরে অনেক দু griefখ বাঁচাবে।

ঘাড়ের মধ্যে একটি জলাবদ্ধতার উপর আমি একটি ঘন ফ্রেটবোর্ড বেছে নেওয়ার একটি কারণ ছিল মাউন্টিং (আঠালো) পৃষ্ঠের বর্ধিত এলাকা। আরেকটি কারণ হল এটি ঘাড়ের মিলিংকে সহজ করে। আপনি কেবলমাত্র উচ্চতাতে পুরো পৃষ্ঠটি কেটে ফেলেন।

ধাপ 5: LEDs ধারণ করে পিসিবি পান এবং গঠন করুন

পিসিবি এলইডি হোল্ডিং করুন এবং তৈরি করুন
পিসিবি এলইডি হোল্ডিং করুন এবং তৈরি করুন
পিসিবি এলইডি হোল্ডিং করুন এবং তৈরি করুন
পিসিবি এলইডি হোল্ডিং করুন এবং তৈরি করুন

আমি সমগ্র সমাবেশ হাত soldered। এলইডি প্যাকেজগুলি বিশেষভাবে গলানো সহজ, তাই তাদের ক্ষতি না করার জন্য যত্ন নিন। আমি একটি স্ট্যাটিক স্ট্র্যাপ পরার পরামর্শ দিচ্ছি, যেহেতু স্ট্রিংটি প্রতিটি LED কাজ করার উপর নির্ভরশীল।

Fretboard নকশা WS2812B LEDs কাছাকাছি ভিত্তিক। আমি শুধুমাত্র ফ্রেটবোর্ডের প্রথম অষ্টভ (48 LEDs !!) করার সিদ্ধান্ত নিয়েছি। প্রতিটি LED একটি শিফট রেজিস্টারে এক বিট হিসাবে চিন্তা করা যেতে পারে। শিফট রেজিস্টার 800 kHz এ ক্লক করা আছে। জিনিসগুলি দ্রুত এবং দ্রুত চালানোর জন্য আমি অ্যাডাফ্রুট লাইব্রেরি (প্রোগ্রামিং বিভাগটি দেখুন) ব্যবহার করেছি।

আমি agগলে নকশা শুরু করেছি, কিন্তু বোর্ডের আকার 4 x 5 ইঞ্চির মতো সীমাবদ্ধ, তাই আমাকে আলটিয়ামে স্যুইচ করতে হয়েছিল (বা আরও সঠিকভাবে, আমি বেছে নিয়েছিলাম)। আমি কর্মক্ষেত্রে Altium ব্যবহার করি, তাই বাস্তবে, এটি আমার জন্য জিনিসগুলিকে দ্রুততর করেছে। Altium প্রকল্প, পরিকল্পিত এবং পিসিবি ফাইল (এবং লাইব্রেরি অংশ) আমার সাইটে আছে। বোর্ডটি আকারে ট্র্যাপিজয়েডাল এবং প্রায় 10 ইঞ্চি লম্বা। আমি মনে করি আমার রূপরেখাটি আরও কিছুটা সংকুচিত করার চেষ্টা করা উচিত ছিল (পরবর্তী স্পিন!) সমাবেশ খারাপ ছিল না, কিন্তু যদি আপনি এটি সামর্থ্য করতে পারেন, আমি সত্যিই একটি ভাল সোল্ডারিং লোহা (JBC সোল্ডারিং আয়রন) এবং একটি ভাল মাইক্রোস্কোপ সুপারিশ করি। হ্যাঁ, আমি নষ্ট হয়ে গেছি এবং না, আমার বাড়ির ল্যাবে এই ধরনের জিনিস নেই। আমি সস্তা।

সানস্টোনে আমার তৈরি বোর্ড ছিল। দুটি বোর্ডের জন্য $ 129। এক সপ্তাহের পালা নিশ্চিত। যদিও শিপিং উপর scrimp না। আমি লক্ষ্য করিনি যে আমি ইউপিএস গ্রাউন্ড ব্যবহার করেছি এবং আমি আমার বোর্ড আসার জন্য একটি অতিরিক্ত সপ্তাহ অপেক্ষা করেছি। মোট সমাবেশের সময় ছিল প্রায় 2 ঘন্টা (98 অংশ)।

ধাপ 6: Fretboard মিল

Image
Image
Ukulele শরীরের মিল অ্যাক্সেস গর্ত
Ukulele শরীরের মিল অ্যাক্সেস গর্ত

প্রয়োজনীয় স্থানে ছিদ্র করতে এবং বোর্ড এবং এলইডি -র জন্য পকেট তৈরির জন্য আমাদের ফ্রেটবোর্ড মিল করতে হবে।

আমি সলিডওয়ার্কস -এ সম্পন্ন ফ্রেটবোর্ডের একটি 3D মডেল তৈরি করেছি এবং ফিচারক্যাম ব্যবহার করে সিএনসি মিলিং রুটিন তৈরি করেছি।

ফ্রেটবোর্ডের নিচের অংশ (সাউন্ডহোলের নিকটতম) ঘাড় এবং শরীরের মধ্যে উচ্চতার ধাপ পরিবর্তনের জন্য পাতলা করতে হবে। নিশ্চিতভাবে মূল্যবান টেস্ট ফিটিং বেশ কয়েকবার নিশ্চিত হতে হবে যে এটি একটি যুক্তিসঙ্গত স্নুগ ফিট।

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

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

ধাপ 7: ইউকুলেলে শরীরে মিল অ্যাক্সেস হোলস

Ukulele শরীরের মিল অ্যাক্সেস গর্ত
Ukulele শরীরের মিল অ্যাক্সেস গর্ত

আমি ম্যানুয়ালি শরীরের অ্যাক্সেস গর্ত milled। সবচেয়ে কঠিন অংশ হল একটি খুব বাঁকা পৃষ্ঠের "সমতল" অঞ্চল খুঁজে বের করা। পেন্সিলে রূপরেখাটি চিহ্নিত করুন এবং ধীরে ধীরে উপাদানগুলিকে দূরে সরিয়ে দিন যতক্ষণ না আপনি OLED ডিসপ্লের জন্য একটি উপযুক্ত ফিট না পান। আমি একটি মেশিনযুক্ত ব্রাস বেজেল পেয়েছিলাম এবং এটি 3M VHB বন্ধন টেপ ব্যবহার করে সংযুক্ত করেছি।

যেহেতু কোনটিই খুব নির্ভুলতার প্রয়োজন হয় না, তাই ঘূর্ণমান এনকোডার এবং অ্যাক্সেস প্যানেল গর্ত তৈরি করা অনেক সহজ।

ধাপ 8: কভার প্লেট তৈরি করুন

কভার প্লেট তৈরি করুন
কভার প্লেট তৈরি করুন
কভার প্লেট তৈরি করুন
কভার প্লেট তৈরি করুন
কভার প্লেট তৈরি করুন
কভার প্লেট তৈরি করুন

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

বোর্ডটি জায়গায় রাখার জন্য, ফ্যাশন এল বন্ধনীগুলি পিতল থেকে বের করে অ্যাক্সেস প্লেটের পিছনে সোল্ডার করুন। এটি আপনাকে পজিশনিংয়ে কিছু অক্ষাংশের অনুমতি দেয়। পজিশনিং সঠিকভাবে পেতে, প্রথমে Arduino MICRO এর জন্য একটি পারফোর্ড মাউন্ট বোর্ড (মাউন্টিং হোল সহ) তৈরি করুন এবং 2-56 মেশিন স্ক্রু ব্যবহার করে এটিতে L বন্ধনী সংযুক্ত করুন। তারপরে আপনি ইউএসবি পোর্টের লাইন আপ করতে এবং প্লেটে বন্ধনীগুলির জন্য অবস্থানগুলি সঠিকভাবে চিহ্নিত করতে অবস্থানটি পরিবর্তন করতে পারেন। পারফোর্ড থেকে বন্ধনীগুলি সরান এবং তাদের জায়গায় সোল্ডার করুন। অবশেষে পারফোর্ড সমাবেশ মাউন্ট করুন।

আমি ব্রাস অ্যাক্সেস প্যানেলটি ধরে রাখার জন্য চারটি ছোট ব্রাস কাঠের স্ক্রু ব্যবহার করেছি।

এই মুহুর্তে আমি চূড়ান্ত সমাবেশ শুরু হওয়ার আগে একটি পরীক্ষা ফিট করার সুপারিশ করি। এই পদক্ষেপটি alচ্ছিক কিন্তু প্রস্তাবিত। এটি gluing আগে সমন্বয় করা অনেক সহজ।

ধাপ 9: PCB- এ তারগুলি সংযুক্ত করুন; ইলেকট্রনিক্স সংযোগ করুন এবং পরীক্ষা করুন

Image
Image
Ukulele শরীরের সঙ্গে ঘাড় সংযুক্ত করুন
Ukulele শরীরের সঙ্গে ঘাড় সংযুক্ত করুন

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

ধাপ 10: ইউকুলেলে শরীরের সাথে ঘাড় সংযুক্ত করুন

ইউকুলেলে কিটের সাথে অন্তর্ভুক্ত নির্দেশাবলী অনুসরণ করে ইউকুলেলে শরীরের সাথে ঘাড় সংযুক্ত করুন। বিশেষ করে ইউকে শরীরে ফ্রেটবোর্ড পৃষ্ঠের সারিবদ্ধকরণ দেখুন।

ধাপ 11: শরীরের মধ্যে PCB তারগুলি পাস করার জন্য একটি অ্যাক্সেস হোল ড্রিল করুন।

পিসিবি তারের দেহে প্রবেশ করতে একটি অ্যাক্সেস হোল ড্রিল করুন।
পিসিবি তারের দেহে প্রবেশ করতে একটি অ্যাক্সেস হোল ড্রিল করুন।

একবার আঠা শুকিয়ে গেলে, পিসিবি থেকে তারগুলিকে উকুলেলে শরীরে প্রবেশের অনুমতি দেওয়ার জন্য একটি কোণে ~ 1/4 (10 মিমি) ছিদ্র করুন। সাউন্ডবোর্ডটি ক্ষতিগ্রস্ত করবেন না।

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

আরেকটি টেস্ট ফিট এই সময়ে আঘাত করবে না।

ধাপ 12: ঘাড়ের সাথে PCB এবং Fretboard সারিবদ্ধ করুন এবং আঠালো করুন

পিসিবি এবং ফ্রেটবোর্ডকে ঘাড়ের সাথে সারিবদ্ধ করুন এবং আঠালো করুন
পিসিবি এবং ফ্রেটবোর্ডকে ঘাড়ের সাথে সারিবদ্ধ করুন এবং আঠালো করুন

আমি gluing আগে clamping (এবং এটি চেষ্টা করে!) মাধ্যমে চিন্তা করার পরামর্শ। আপনি একটি সমতল clamping পৃষ্ঠ দিতে ঘাড়ের নীচে আকৃতির একটি ব্লক ফ্যাশন করতে চাইতে পারেন। ফ্রেটবোর্ড এই মুহুর্তে ঘাড়ের চেয়ে বড়, তাই আপনাকে এর জন্য অনুমতি দিতে হবে।

আপনি যে কোন পৃষ্ঠায় ইপক্সি না পেতে খুব সতর্ক থাকুন যা আপনি পরে শেষ করতে চান। আঠালো হওয়ার আগে সমস্ত আঠালো পৃষ্ঠগুলিতে মাস্কিং প্রয়োগ করা ভাল, এটি নিশ্চিত করুন যে এটি কেবল যেখানে আপনি চান।

ন্যূনতম minutes০ মিনিটের কর্মজীবনের সাথে ইপক্সি ব্যবহার করুন … এর সবই আপনার প্রয়োজন হবে।

প্রথমে পিসিবিকে আঠালো করুন, নিশ্চিত করুন যে অতিরিক্ত আঠালো ফ্রেটবোর্ডের আঠালো পৃষ্ঠে বেরিয়ে যায় না। এটি ঘাড়ের সাথে ফ্রেটবোর্ডটি সারিবদ্ধ করার একটি পদ্ধতি সরবরাহ করে। পিসিবির একটি মসৃণ সোল্ডার মাস্ক ফিনিশ আছে, তাই ইপক্সিকে কিছুটা উন্নত পৃষ্ঠের ফিনিস দিতে আমি এটিকে কিছুটা স্যান্ডপেপার দিয়ে ধুয়ে ফেললাম।

ফ্রেটবোর্ড ঘাড়ের সাথে সারিবদ্ধ করুন এবং আঠালো করুন। পরবর্তীতে অনুরণিত হয়ে উঠতে পারে এমন কোনও পকেট ছাড়তে সতর্ক থাকুন (গুঞ্জন!)। এছাড়াও LED পৃষ্ঠতলে আঠালো না পেতে সতর্ক থাকুন।

একবার আঠালো শুকিয়ে গেলে আপনি আরও একবার ইলেকট্রনিক্সের তার এবং পরীক্ষা করতে চাইতে পারেন। একটি খারাপ LED আপনাকে জীবনকে ঘৃণা করবে। প্রোটোটাইপে আমার একটি খারাপ এলইডি (প্রথম!) ছিল এবং ত্রুটিযুক্ত এলইডি অ্যাক্সেস করতে এবং এটি পরিষ্কারভাবে প্যাচ করার জন্য আমাকে কিছু সৃজনশীল কাঠের কাজ করতে হয়েছিল।

ধাপ 13: ঘাড়ের ফ্রেটবোর্ডের প্রান্তগুলি সমান করুন এবং ফ্রেট তারগুলি যুক্ত করুন

একবার আঠা শুকিয়ে গেলে, আপনি প্রান্তগুলি শেষ করতে শুরু করতে পারেন। আমি সাবধানে অতিরিক্ত ফ্রেটবোর্ড সামগ্রী (একটি মিল ব্যবহার করে) কেটে ফেলেছি এবং হাতের স্যান্ডিংয়ের মাধ্যমে শেষ মিলিমিটারটি শেষ করেছি।

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

যে জিনিসটি আপনাকে দেখতে হবে তা হল LED পকেটের পাতলা পৃষ্ঠ ভেঙে দেওয়া। প্রোটোটাইপে, আমি কিছু এলইডি পকেট (12 তম ঝাঁকের কাছাকাছি, যেখানে স্থান শক্ত হয়ে যায়) ফ্রট স্লটে প্রসারিত করার অনুমতি দিয়েছিলাম। এটি একটি খারাপ ধারণা, যেহেতু এটি একটি দুর্বল স্পট তৈরি করে যা ফ্রেট ওয়্যার isোকানোর পরে (এবং করেছিল) ক্র্যাক করতে পারে।

ধাপ 14: মাস্কিং প্রয়োগ করুন এবং ইউকুলেলে ফিনিশ প্রয়োগ করুন

ফ্রেটবোর্ড মাস্ক করুন (এটি শেষ হয় না) এবং ব্রিজ আঠালো এলাকা এবং ফিনিস প্রয়োগ শুরু করুন।

ব্রিজ এলাকায় মাস্কিং করার সময়, আপনার কিট দিয়ে নির্দেশাবলী পড়ুন, তারপর নিশ্চিত হওয়ার জন্য স্কেলের দৈর্ঘ্য দুবার পরীক্ষা করুন।প্রোটোটাইপের জন্য আমি যে কিটটি ব্যবহার করেছি তা ভুল স্কেল দৈর্ঘ্য ব্যবহার করেছে এবং সেতুটি সনাক্ত করার জন্য ভুল মাত্রা প্রদান করেছে (তবে সর্বশেষ নির্দেশাবলীর জন্য ওয়েবসাইটটি পরীক্ষা করার জন্য এটি একটি নোট ছিল!)। আমার অন্তর আমাকে বলেছিল এটা ভুল, কিন্তু আমি অন্ধভাবে কর্তৃত্ব গ্রহণ করেছি।

নির্দেশাবলী অন্ধভাবে অনুসরণ করার পরিবর্তে আপনি কেন কিছু করছেন তা বোঝা সবসময় ভাল।

সমাপ্তির জন্য, লুথিয়ারদের কাছ থেকে প্রচুর টিউটোরিয়াল রয়েছে যারা জানে যে তারা ওয়েবে কী করছে, তাই আমি সমাপ্তি প্রক্রিয়ায় ঝাঁপ দেওয়ার আগে তাদের সাথে পরামর্শ করার পরামর্শ দিই।

আমি অবশ্যই তা করিনি, তাই আমি ভুল সিলার ব্যবহার করে শেষ করেছি, যার ফলস্বরূপ একটি খুব দানাদার পৃষ্ঠ। এমন করো না।

আপনার হোমওয়ার্ক করুন।

ধাপ 15: সারিবদ্ধ করুন এবং সেতুটি সংযুক্ত করুন

সারিবদ্ধ করুন এবং সেতুটি সংযুক্ত করুন
সারিবদ্ধ করুন এবং সেতুটি সংযুক্ত করুন

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

ধাপ 16: ইলেকট্রনিক্স এবং পরীক্ষা ইনস্টল করুন

ইলেকট্রনিক্স এবং পরীক্ষা ইনস্টল করুন
ইলেকট্রনিক্স এবং পরীক্ষা ইনস্টল করুন

আপনার ওয়্যারিংকে সুন্দর করার এখনই সময়। প্লাস আপনি চান না যে এটি শরীরের ভিতরে ঘুরে বেড়ায় এবং মজাদার আওয়াজ বা আরও খারাপ মঞ্চে ভেঙে যায়।

আরডুইনো কোডটি ইউএসবি পোর্টের মাধ্যমে আপডেট করা যেতে পারে, তাই আপনি যদি টিঙ্কার করতে না চান তবে এটি আলাদা করার দরকার নেই।

ধাপ 17: টিউনার এবং স্ট্রিং যন্ত্র ইনস্টল করুন।

Image
Image
ইউকে প্রোগ্রামিং
ইউকে প্রোগ্রামিং

আপনি সম্ভবত frets স্তর এবং সেটআপ সঙ্গে একটি বিট খেলতে প্রয়োজন হবে, কিন্তু এখন কেন চিন্তা, যখন আপনি শেষের খুব কাছাকাছি?

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

ধাপ 18: ইউকে প্রোগ্রামিং

চূড়ান্ত Arduino কোড Github হয়। ভবিষ্যতে বর্ধিতকরণকে সমর্থন করার জন্য কোডে কিছু লাইন রয়েছে (যেমন একটি মেট্রোনোম ফাংশন এবং ডিসপ্লের জন্য "স্লাইডার" (একটি UI উপাদান যা স্লাইডারের মতো দেখাচ্ছে)

এই কোডটি রোটারি এনকোডার লাইব্রেরি ব্যবহার করে

এটি এখানে অবস্থিত অ্যাডাফ্রুট নিওপিক্সেল লাইব্রেরি এবং উদাহরণ কোড ব্যবহার করে। থিয়েটার এবং রামধনু মোডগুলি লাইব্রেরির সাথে প্রদত্ত উদাহরণগুলি থেকে উদ্ভূত। (strandtest.ino দেখুন)।

ডিসপ্লে ড্রাইভার 4D সিস্টেম দ্বারা সরবরাহ করা হয় এবং এখানে Github এ পাওয়া যায়।

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

সংযুক্ত চিত্রটি ফ্রেটবোর্ডের এলইডি অবস্থানগুলি এবং কীভাবে তারা সংযুক্ত রয়েছে তা দেখায়। LED 0 উপরের ডান দিকের কোণে অবস্থিত।

ধাপ 19: কিভাবে একটি জিন প্রদর্শন করতে হয়

কিভাবে একটি কর্ড প্রদর্শন করবেন
কিভাবে একটি কর্ড প্রদর্শন করবেন

DisplayChord ফাংশন প্রতিটি আঙুলের জন্য আঙুলের অবস্থান (শুধুমাত্র প্রথম অবস্থানে) প্রদর্শন করে। ব্যবহারকারীর দ্বারা নির্বাচিত কর্ড (মূল নোট এবং গুণমান) সূচকগুলির একটি জোড়া হিসাবে সংরক্ষণ করা হয়। এগুলি পরিবর্তে প্রতিটি জিনের জন্য আঙুলগুলি দেখতে ব্যবহৃত হয়।

আমি chords সংরক্ষণ করতে "GCEA" স্বরলিপি ব্যবহার করেছি (যেমন "A" হল "2100")। Chords প্রতিটি রুট নোটের জন্য প্রাক-গণনা করা হয় এবং জিনের গুণমানের সাথে সম্পর্কিত একটি ভেরিয়েবলে সংরক্ষণ করা হয়। (সুতরাং, একটি মেজর, "2100" এর অনুরূপ "মেজরচার্ডস" অ্যারের প্রথম অবস্থানে সংরক্ষণ করা হয়)।

char* majorChords = {"2100 / n", "3211 / n", "4322 / n", "0003 / n", "1114 / n", "2220 / n", "3331 / n", " 4442 n "," 2010 / n "," 3121 / n "," 0232 / n "," 5343 / n "};

উল্লেখ্য, যেহেতু এটি একটি টেক্সট স্ট্রিং, তাই প্রতিটি অংক একটি হেক্স মানকে প্রতিনিধিত্ব করতে পারে যা 9 এর চেয়ে বড় অবস্থানের জন্য। ।

LED স্ট্রিংটি প্রতিটি স্ট্রিং (A স্ট্রিং দিয়ে শুরু) বরাবর 12 (একটি অষ্টভ) সারিতে দৈর্ঘ্যের তারের সাথে সংযুক্ত করা হয়, পরবর্তী স্ট্রিংয়ের প্রথম ধাক্কায় 12 এর পরবর্তী রান শুরু হয় (ধাপ 18 এ চিত্রটি দেখুন)। অ্যালগরিদমের জন্য এটি গুরুত্বপূর্ণ যে একটি প্রদত্ত জিনের জন্য কোন আলো জ্বালাতে হবে। এর মানে হল যে 0 থেকে 11 পিক্সেল হল A স্ট্রিং LEDs, 12 থেকে 23 হল E স্ট্রিং LEDs ইত্যাদি। যখন একটি A = "2100" বিশ্লেষণ করা হয় (একটি স্ট্রিং হিসাবে সংরক্ষণ করা হয়, কোডে একটি নাল টার্মিনেটর "\ n" আছে), আমরা এটিকে ব্যাখ্যা করি: A স্ট্রিংয়ে কোন পিক্সেল জ্বালানো হয় না, এবং E স্ট্রিং, পিক্সেল 0 (স্ট্রেট 1) সি স্ট্রিংয়ে জ্বলছে এবং জি স্ট্রিংয়ে পিক্সেল 1 (ফ্রেট 2)। লক্ষ্য করুন যে একটি "0" বন্ধ, প্রথম LED নয়। তারের উপর ভিত্তি করে, আমরা LEDs 24 এবং 37 জ্বালাতে চাই। একটি জিন প্রদর্শন করার কোডটি নিচে দেখানো হয়েছে।

জন্য) + (3 - i) * 12 - 1; // উপরের আলোচনা দেখুন, (3-i) হল সূচী strip.setPixelColor (ledNumber, 0, 125, 125) উল্টানো; // setPixelColor (ledNumber, লাল মান, সবুজ মান, নীল মান)}}

If স্টেটমেন্ট চেক করে যদি নেতৃত্ব বন্ধ থাকে। যদি এটি না হয় তবে এটি অক্ষরের অ্যাসসিআই মান, জ্যোতি গ্রহণ করে, এবং '0' এর জন্য অ্যাসসিআই মানটি বিয়োগ করে যাতে লিড নাম্বারটি আলোকিত হয়।

স্ট্রিপ হল Adafruit_NeoPixel ক্লাসের একটি উদাহরণ। SetPixelColor ফাংশন এই ক্ষেত্রে গণনা করা পিক্সেল ((0, 125, 125) এ রঙ নির্ধারণ করে।

ধাপ 20: কিভাবে একটি স্ক্রোলিং বার্তা প্রদর্শন করবেন

কিভাবে একটি স্ক্রোলিং বার্তা প্রদর্শন করবেন
কিভাবে একটি স্ক্রোলিং বার্তা প্রদর্শন করবেন

তাই আমাদের একটি 12 x 4 এলইডি অ্যারে আছে … কেন এটিকে বেশ এলোমেলো আলোর প্যাটার্ন ছাড়া অন্য কিছু প্রদর্শন করা যায় না!

প্রথম সমস্যা হল যে ইউকেতে স্ট্রিং সংখ্যার কারণে ডিসপ্লে উচ্চতা (4) বরং সীমিত। অনুভূমিক স্ক্রোলিং বেশিরভাগই অবৈধ হবে, কিন্তু একটি উল্লম্ব দিকগুলিতে, আমরা 4 x 5 অক্ষরগুলি উল্লম্বভাবে চলতে সমর্থন করতে পারি।

অক্ষরগুলিকে পাঁচটি "উল্লম্ব" সারি হিসাবে সংগঠিত করার অর্থ হল যে দুটি অক্ষর একই সাথে প্রদর্শিত হতে পারে যাতে প্রতিটি অক্ষরের মধ্যে একটি লাইনের স্থান থাকে।

অসুবিধা ছিল যে কোন মান 4 x 5 অক্ষর সেট ছিল না। আমি সংযুক্ত স্প্রেডশীট ব্যবহার করে আমার নিজের তৈরি করেছি। আমি প্রতিটি সারি একটি একক হেক্স মান (4 বিট যা পিক্সেল চালু বা বন্ধ প্রতিনিধিত্ব করে) নির্ধারিত। পাঁচটি হেক্স মানের সমন্বয় একটি অক্ষর গঠন করে (যেমন "0" হল 0x69996)।

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

প্রদর্শিত স্ট্রিং স্ট্রিং ভেরিয়েবল, মেসেজের মধ্যে রয়েছে।

অক্ষর প্রদর্শনের প্রতিনিধিত্ব করার জন্য একটি বাফার তৈরি করা হয়। আমি অনুমান করি আমি পুরো অনুবাদকৃত বার্তা ক্রম সহ একটি বড় বাফার তৈরি করতে পারতাম, বিশেষ করে যেহেতু বেশিরভাগ বার্তা 20 অক্ষরের কম হবে। যাইহোক, আমি একটি নির্দিষ্ট তিনটি অক্ষর (18 বাইট) বাফার তৈরি করার পরিবর্তে বেছে নিয়েছি। মাত্র দুটি অক্ষর সক্রিয়ভাবে প্রদর্শিত হচ্ছে, এবং তৃতীয়টি সামনে একটি চেহারা, যেখানে পরবর্তী চরিত্রটি লোড করা হয়েছে। LED স্ট্রিং (এটি একটি বড় শিফট রেজিস্টার হিসাবে মনে করুন) স্ট্রিং এর জন্য 48 বিট দিয়ে লোড করা হয়। এই ধারণাকে সহজ করার জন্য আমি কিছু স্মৃতি স্থান নষ্ট করেছি। প্রতিটি নিবল তার নিজস্ব মেমরির অবস্থান পায়, মেমরির প্রয়োজনীয়তা দ্বিগুণ করে, কিন্তু এটি বাফারের আকার দেওয়া হয় না।

বাফারটি পরবর্তী অক্ষরের সাথে লোড করা হয় যখন আউটপুট সূচক (পয়েন্টার) একটি অক্ষরের সীমানায় (আউটপুট পয়েন্টার 5, 11, বা 17) পায়।

বাফার লোড করার জন্য, আমরা ASCII মান হিসাবে "বার্তা" -এ প্রথম অক্ষরটি ধরি এবং asciiFont অ্যারেতে সূচক পেতে 48 বিয়োগ করি। সেই সূচকের মান কোডেডচারে সংরক্ষণ করা হয়।

বার্তাটির প্রথম অংশ এলইডি 47, 35, 23, এবং 11 (ডিসপ্লের নীচে) এর সাথে সামঞ্জস্যপূর্ণ। তাই শূন্য 0x0F999F সংখ্যার জন্য, F (বাম এক) প্রথম, 9 সেকেন্ডে স্থানান্তরিত হয়।

পরবর্তী অক্ষরটি প্রতিটি নিবলকে মুখোশ করে এবং ডানদিকে স্থানান্তর করে লোড করা হয়। উপরের উদাহরণের জন্য, অ্যালগরিদম দেয় (0x0F999F এবং 0xF00000) >> 20, তারপর (0x0F999F এবং 0x0F0000) >> 16, ইত্যাদি।

int সূচক; if (outputPointer == 17 || outputPointer == 5 || outputPointer == 11) {char displayChar = message.charAt (messagePointer); // দীর্ঘ codedChar = asciiFont [displayChar - 48] বার্তার প্রথম চরিত্রটি ধরুন; যদি (displayChar == 32) codedChar = 0x000000; messageBuffer [bytePointer+5] = বাইট ((কোডেডচার এবং 0xF00000) >> 20); // শেষ নিবল ছাড়া সব মুখোশ এবং এটি 20 (এবং তাই) মেসেজ বাফার [bytePointer+4] = বাইট ((কোডেডচার এবং 0x0F0000) >> 16) দ্বারা স্থানান্তর করুন; // এটি প্রতি মেমরি লোকেশন মেসেজ বাফার [bytePointer+3] = বাইট ((কোডেডচার এবং 0x00F000) >> 12); // সমস্ত ছয়টি অক্ষর বার্তার প্রতিনিধিত্ব করে messageBuffer [bytePointer+1] = বাইট ((কোডেডচার এবং 0x0000F0) >> 4); messageBuffer [bytePointer] = বাইট ((কোডেডচার এবং 0x00000F)); যদি (bytePointer == 0) {// bytePointer bytePointer = 12 এ লুপটি সামলান; } অন্য {bytePointer -= 6; // আমরা নিচ থেকে উপরে ভরাট করছি; দ্রষ্টব্য: এটিকে আরও সহজ করে কিনা তা দেখার জন্য এটিকে উল্টে দেখার প্রয়োজন আছে} } অন্য {messagePointer += 1; // পরবর্তী অক্ষরে যান}}

একবার বাফার লোড হয়ে গেলে, এটি ট্র্যাকিংয়ের বিষয় হয়ে দাঁড়ায় যেখানে আউটপুট পয়েন্টার কোথায় আছে এবং সঠিক 48 বিট (বর্তমান 4 এবং আগের 44) সহ LED স্ট্রিং লোড করছে। পূর্বে উল্লেখ করা হয়েছে, স্ট্রিপ হল নিওপিক্সেল শ্রেণীর একটি উদাহরণ এবং setPixelColor প্রতিটি পিক্সেলের রঙ (RGB) সেট করে। শো () ফাংশন ডিসপ্লের মানগুলিকে এলইডি স্ট্রিং -এ স্থানান্তর করে।

// লুপ ক্রমাগত বাফার আউট স্থানান্তর

// লুপের মধ্য দিয়ে প্রতিটি পাসে সম্পূর্ণ স্ট্রিপটি লিখতে চান, শুধুমাত্র শুরু করার অবস্থান (int row = 12; row> 0; row--) {index = outputPointer + (12-row); if (index> 17) index = outputPointer+(12-row) -18; // লুপ যদি 17 এর চেয়ে বড় হয় (int কলাম = 4; কলাম> 0; কলাম--) {strip.setPixelColor (uint16_t (12*(কলাম -1)+(সারি -1)), uint8_t (RedLED*(bitRead))); // প্রতিটি লোকেশনে LED আলো জ্বলে যদি বিট এক হয়}} // outputPointer ডিসপ্লে স্ট্রিং এ বর্তমান সর্বনিম্ন বাইট নির্দেশ করে যদি (outputPointer == 0) outputPointer = 17; অন্য আউটপুট পয়েন্টার -= 1; strip.show (); }

ধাপ 21: আপনার উকুলেলে অসাধারণতা দিয়ে বিশ্বকে বিস্মিত করুন

Image
Image

চূড়ান্ত উকুলেলে প্রোটোটাইপ শুরু হতে প্রায় months মাস সময় নেয় এবং বন্ধ হয়ে যায়।

শেখার জন্য অনেক নতুন প্রযুক্তি এবং সম্ভবত কিছু কাঠের কাজ এবং বাদ্যযন্ত্র তত্ত্ব বুট করার জন্য!

পরবর্তী সংস্করণের জন্য কি করতে হবে?

  1. ডিসপ্লে এবং রোটারি এনকোডার থেকে মুক্তি পান। Arduino এর সাথে সংযুক্ত একটি ব্লুটুথ মডিউল দিয়ে তাদের প্রতিস্থাপন করুন। ফোন বা ট্যাবলেট ব্যবহার করে এটিকে দূর থেকে নিয়ন্ত্রণ করুন। ব্লুটুথ দিয়ে সবকিছু ভাল।
  2. রিয়েল টাইমে দূরবর্তী প্যাটার্ন আপডেট করুন। অ্যাপটির জন্য সেরা কিছু বাকি আছে।
  3. LED কভার। বর্তমান সংস্করণটি এলইডি গর্তে প্রবেশ করতে বাধা দিতে কিছুই করে না। এক বন্ধু একগুচ্ছ ছোট ছোট লেন্স তৈরি করেছিল, কিন্তু আমি কখনই বুঝতে পারছিলাম না কিভাবে সেগুলো যথাযথভাবে রাখা যায়।
  4. বিকল্প ফ্রেটবোর্ড উপকরণ, যতক্ষণ পর্যন্ত ফ্রটগুলি ধরে থাকে ততক্ষণ স্পষ্ট কিছু।
  5. আরো আলো! আরও "সারি" যোগ করে পাঠ্যের সীমাবদ্ধতা দূর করুন। এটি সত্যিই একটি সীমাবদ্ধতা যা ফ্রেটবোর্ড এবং এলইডি বডির আকারের কারণে ঘটে।

আবার, সঙ্গী নির্দেশিকা দেখুন যা স্ক্রোলিং পাঠ্যের অনুমতি দেওয়ার জন্য আমাকে তৈরি করা অক্ষর সেট বর্ণনা করে।

এতদূর নিয়ে যাওয়ার জন্য অনেক ধন্যবাদ! মহালো!

প্রস্তাবিত: