সুচিপত্র:

Guino: আপনার Arduino এর জন্য ড্যাশবোর্ড: 4 টি ধাপ (ছবি সহ)
Guino: আপনার Arduino এর জন্য ড্যাশবোর্ড: 4 টি ধাপ (ছবি সহ)

ভিডিও: Guino: আপনার Arduino এর জন্য ড্যাশবোর্ড: 4 টি ধাপ (ছবি সহ)

ভিডিও: Guino: আপনার Arduino এর জন্য ড্যাশবোর্ড: 4 টি ধাপ (ছবি সহ)
ভিডিও: 01 কিভাবে মিনিয়েচার VW নক্ষত্রপুঞ্জ 8x2 বডিওয়ার্ক Boiadeiro বানাতে হয় 2024, নভেম্বর
Anonim
গুইনো: আপনার আরডুইনোর জন্য ড্যাশবোর্ড
গুইনো: আপনার আরডুইনোর জন্য ড্যাশবোর্ড
গুইনো: আপনার আরডুইনোর জন্য ড্যাশবোর্ড
গুইনো: আপনার আরডুইনোর জন্য ড্যাশবোর্ড
গুইনো: আপনার আরডুইনোর জন্য ড্যাশবোর্ড
গুইনো: আপনার আরডুইনোর জন্য ড্যাশবোর্ড
গুইনো: আপনার আরডুইনোর জন্য ড্যাশবোর্ড
গুইনো: আপনার আরডুইনোর জন্য ড্যাশবোর্ড

এই প্রকল্পটি ইন্সট্রাকটেবলের বাসভবনে একজন শিল্পী করার সময় করা পরীক্ষার একটি অংশ। আপনি এখানে অন্যান্য প্রকল্প দেখতে পারেন। আরডুইনো বোর্ডে রিয়েলটাইম ডেটা ডিবাগ এবং কল্পনা করা একটি কঠিন কাজ হতে পারে। আপনি সাধারণত স্ট্যান্ডার্ড সিরিয়াল আউটপুট নিয়ে আটকে থাকেন, কারণ আপনার আরডুইনো কোডের জটিলতা বৃদ্ধি পাওয়ায় বোর্ডের ভিতরে আসলে কী চলছে তা বোঝা অসম্ভব করে তোলে। এটি সমাধান করার জন্য আমি একটি ছোট লাইব্রেরি তৈরি করেছি যা আপনাকে আপনার Arduino প্রকল্পগুলির জন্য আপনার নিজস্ব কাস্টম GUI তৈরি করতে সক্ষম করবে। একটি পটমিটার এবং ডায়োড সহ একটি মৌলিক হ্যালো জগতের প্রদর্শনী পেতে এই ভিডিওটি দেখুন: এখন পর্যন্ত, প্রোগ্রামের নিম্নলিখিত সম্ভাবনা এবং বৈশিষ্ট্য রয়েছে: Arduino বোর্ড থেকে আপনার ইন্টারফেসটি কাস্টম ডিজাইন করুন আপনি কোন স্লাইডার, গ্রাফ এবং বোতামগুলি প্রয়োজন তা নির্ধারণ করুন আপনার ইন্টারফেসের জন্য। আপনি এটি আপনার আরডুইনো স্কেচে করেন যার অর্থ গুই প্রোগ্রাম স্কেচের দাস হিসাবে কাজ করে। সমস্ত তথ্য আপনার বোর্ডে সংরক্ষিত আছে রিয়েলটাইম ডেটা ভিসুয়ালাইজ করুন এবং ম্যানিপুলেট করুন আপনি আরজিবি লাইট কন্ট্রোলার বা রোবট আর্ম তৈরি করছেন কিনা, বোর্ডের ভিতরে কী চলছে তা বোঝার জন্য গ্রাফিক্যাল ফিডব্যাক পাওয়া গুরুত্বপূর্ণ। এটি আপনাকে বুঝতে সক্ষম করে যে এটি আপনার হার্ডওয়্যার বা কোড যা সমস্যা সৃষ্টি করছে। আরও স্লাইডার এবং বোতামগুলি আপনাকে রিয়েলটাইমে পৃথক প্যারামিটারগুলি টুইক করতে সক্ষম করে। এইভাবে আপনি দেখতে পারেন যে বিভিন্ন থ্রেশহোল্ডগুলি মিথস্ক্রিয়াতে কী প্রভাব ফেলে।বোর্ড মেমরিতে প্যারামিটারগুলি সংরক্ষণ করুন যখন আপনি প্যারামিটারগুলি টুইক করেন তখন আপনি তাদের বোর্ডের EEProm এ সংরক্ষণ করতে পারেন। পরের বার যখন আপনি বোর্ডে পাওয়ার করবেন তখন প্যারামিটারগুলি স্বয়ংক্রিয়ভাবে লোড হবে, এমনকি কম্পিউটার সংযুক্ত না থাকলেও আপনার সমস্ত Arduino প্রকল্পের জন্য একই অ্যাপ ব্যবহার করুন আমি বিভিন্ন প্রকল্পের জন্য ছোট ছোট অ্যাপ তৈরি করেছি। আমার সমস্যা সবসময় এক বছর পরে তাদের আবার খুঁজে পাওয়া। কারণ আমরা আরডুইনোতে সবকিছু সংরক্ষণ করি কারণ আমার কাছে শুধুমাত্র একটি অ্যাপ রাখা দরকার আরডুইনো বর্তমান প্রকল্পের জন্য স্বয়ংক্রিয়ভাবে অ্যাপটি কনফিগার করবে।সোল্ডারিং আয়রন চালু করার আগে ইন্টারফেসের প্রোটোটাইপ করুন কারণ আপনি গুইকে আপনার পছন্দ মতো ডিজাইন করতে পারেন (যুক্তিসঙ্গত মধ্যে সীমা), আপনি একটি শারীরিক ইন্টারফেস তৈরি করার আগে আপনি ইন্টারফেসটি প্রোটোটাইপ করতে পারেন। এটি আপনাকে একাধিক ব্যক্তির মধ্যে কাজগুলি ভাগ করতে সক্ষম করে। একজন ব্যক্তি হার্ডওয়্যারে কাজ করছেন এবং অন্য ব্যক্তি কোডে কাজ করছেন। যখন আপনি ফিজিক্যাল ইন্টারফেস তৈরি করবেন তখন গুইনো নির্বিঘ্নে সংহত হবে। এটি একটি পূর্ণস্ক্রীন ড্যাশবোর্ড হিসাবে ব্যবহার করুন আপনি F টিপে এবং টি টিপে সেটিংস প্যানেলের দৃশ্যমানতা টগল করে ফুলস্ক্রিন ড্যাশবোর্ড হিসেবে ব্যবহার করতে পারেন। আপনি এর মাধ্যমে শুধুমাত্র আপনার চারপাশের বিশ্বের জন্য আপনার কাস্টম ইন্টারফেস উপস্থাপন করুন। এটি কিছু ভুল হলে সতর্কতা তৈরি করতেও ব্যবহার করা যেতে পারে। সবকিছু ঠিক থাকলে সবুজ হতে পারে এবং কিছু ভুল হলে লাল হতে পারে। দ্রুত এবং স্লিম আমি আরডুইনোতে পায়ের ছাপ যতটা সম্ভব ছোট করার ক্ষেত্রে খুব যত্ন নিয়েছি - এটি কেবল মেমরিতে ন্যূনতম পরিমাণ ডেটা সংরক্ষণ করে (কংক্রিটভাবে একটি পয়েন্টার 100 টি আইটেমের তালিকা)। আপনি আপনার ইন্টারফেসে থাকা গুই আইটেমের পরিমাণের উপর নির্ভর করে এই সেটিংটি কম বা উচ্চতর পরিবর্তন করা যেতে পারে। আরও সিস্টেম ইজি ট্রান্সফার লাইব্রেরির উপর নির্ভর করে যা বাইনারি আকারে তথ্য স্থানান্তর করে। প্রতিটি প্যাকেজে কমান্ডের জন্য একটি বাইট, আইটেম # এর জন্য একটি বাইট এবং মানের জন্য একটি পূর্ণসংখ্যা থাকে। আদর্শভাবে, আপনার সমস্ত ডেটা 16 বিট স্বাক্ষরিত পূর্ণসংখ্যার পরিসরে স্বাভাবিক করা উচিত। এর অর্থ পূর্ণসংখ্যার সাথে কাজ করার সময় সিরিয়াল পোর্টের সর্বোত্তম ব্যবহার (টেকনিক্যালি আমরা চেকসামের জন্য একটু অতিরিক্ত জায়গা ব্যবহার করি)। ইন্সট্রাকটেবলের জন্য ভালো GUI আপনাকে ইন্সট্রাকটেবল তৈরি করতে সক্ষম করে যার জন্য শুধুমাত্র মূল উপাদান প্রয়োজন। পটমিটার ইত্যাদির মতো অতিরিক্ত উপাদানগুলি গুইয়ের মাধ্যমে কার্যত তৈরি করা যেতে পারে। এটি Openframeworks এ লেখা আছে তাই এটি অন্যান্য প্ল্যাটফর্মেও চালাতে সক্ষম হওয়া উচিত। যেহেতু অ্যাপটি সিরিয়াল পোর্ট ব্যবহার করছে তাই আপনি অন্য প্রোগ্রামগুলিকে আরডুইনোতে সংযুক্ত করতে পারবেন না। এটি একটি ভবিষ্যতে রিলিজের মধ্যে সমাধান করা হবে যা একটি ওপেন সাউন্ড কন্ট্রোল এবং একটি মিডি ব্রিজ অন্তর্ভুক্ত করবে। ক্রেডিট: প্রোগ্রামিং এবং আইডিয়া: ম্যাডস হবি ইজিট্রান্সফার লাইব্রেরি: বিল পোর্টার জিইউআই লাইব্রেরি: রেজা আলী

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

শুরু হচ্ছে
শুরু হচ্ছে
শুরু হচ্ছে
শুরু হচ্ছে
  • GUINO প্যাকেজটি ডাউনলোড এবং আনজিপ করুন।
  • Arduino ডাউনলোড করুন
  • আপনার Arduino লাইব্রেরি ফোল্ডারে লাইব্রেরি ফোল্ডারটি অনুলিপি করুন (কিভাবে এখানে)
  • আরডুইনো পুনরায় চালু করুন।
  • Arduino এর মধ্যে একটি উদাহরণ খুলুন। (মেনু: ফাইল -> উদাহরণ -> গুইনো -> একটি বেছে নিন)
  • যদি আপনি সহজ উদাহরণ ব্যবহার করেন তাহলে উপরে বর্ণিত হিসাবে একটি সার্কিট তৈরি করুন।
  • উদাহরণ আপলোড করুন।
  • গুইনো অ্যাপটি চালান।
  • সিরিয়াল পোর্টটি চয়ন করুন (সাধারণত শেষটি)
  • কানেক্ট চাপুন।

উৎস পাওয়া যাবে এখানে।

গুরুত্বপূর্ণ: এটি উইন্ডোজ প্ল্যাটফর্মে ব্যবহার করার সময় আপনাকে একটি কম পোর্ট ব্যবহার করতে হবে যা 10 এর কম বা সমান। এটি ওপেন ফ্রেমওয়ার্কের একটি বাগ।

ধাপ 2: কিভাবে কোড পরিবর্তন করতে হয়

কিভাবে কোড পরিবর্তন করতে হয়
কিভাবে কোড পরিবর্তন করতে হয়

লাইব্রেরি আপনার স্কেচ দিয়ে কাজ করার জন্য, আপনাকে কয়েকটি অতিরিক্ত পদ্ধতি প্রয়োজন। আমি তাদের নীচে বর্ণনা করেছি: যে উপাদানগুলি পরিবর্তন করা যায় (স্লাইডার, বোতাম ইত্যাদি) এর সাথে একটি পরিবর্তনশীল সংযুক্ত থাকে। ভেরিয়েবলের সামনে & এর মানে হল যে আমরা ভেরিয়েবলে মান পাস করতে চাই না, কিন্তু আমরা ভেরিয়েবলের একটি রেফারেন্স (পয়েন্টার) দিতে চাই। এইভাবে গুইনো সিস্টেম স্বয়ংক্রিয়ভাবে তাদের আপডেট করে যখন জিইউআইতে পরিবর্তন ঘটে। অকার্যকর gInit () {gAddLabel ("SLIDERS", 1); gAddSpacer (1); gAddSlider (3, 200, "WIDTH", & width); gAddSlider (3, 200, "HEIGHT", & height); gAddSlider (0, 255, "LED BRIGHTNESS", & ledLight); // ঘূর্ণমান স্লাইডার gAddLabel ("ROTARY SLIDERS", 1); gAddSpacer (1); […………।] GAddColumn (); // এখানে আরো জিনিস যোগ করুন। gSetColor (r, g, b); // গুই ইন্টারফেসের রঙ সেট করুন। } GButtonPressed (int id) এটিকে বলা হয় যখনই একটি বোতাম চাপানো হয় সাধারণত ভেরিয়েবলগুলি স্বয়ংক্রিয়ভাবে আপডেট করা যায়, কিন্তু একটি বোতামের ক্ষেত্রে এটি এমন একটি ইভেন্ট হতে হবে যা আপনি খেয়াল রাখবেন। এই উদাহরণে আমরা উচ্চতা পরিবর্তনশীলকে 100 তে সেট করি যখন কেউ বোতাম টিপবে। অকার্যকর gButtonPressed (int id) {if (buttonId == id) {height = 100; gUpdateValue (& উচ্চতা); }} gItemUpdated (int id) এটিকে বলা হয় যখনই এবং আইটেম আপডেট করা হয়েছে এটি সাধারণত এটি ব্যবহার করার প্রয়োজন হয় না কারণ সিস্টেমটি স্বয়ংক্রিয়ভাবে ভেরিয়েবল আপডেট করবে। আপনি যদি কোনও পরিবর্তনের প্রতিক্রিয়া জানাতে চান তবে আপনি এটিকে সেভাবে ব্যবহার করতে পারেন। এই ক্ষেত্রে আমরা যখনই 3 রোটারি স্লাইডারের মধ্যে একটি পরিবর্তন করা হয়েছে তখন ব্যাকগ্রাউন্ড কালার আপডেট করছি। অকার্যকর gItemUpdated (int id) {if (rotaryRID = id || rotaryGID == id || rotaryBID == id) {gSetColor (r, g, b); }}

ধাপ 3: কিছু দ্রুত টিপস

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

  • setMin একটি চলমান গ্রাফে কাজ করে না (GUI লাইব্রেরিতে একটি বাগ আছে বলে মনে হয় যা ঠিক করা প্রয়োজন)। সুতরাং সর্বনিম্ন শূন্য থাকে।
  • প্রোগ্রাম শুরু করার সময় সিরিয়াল লিস্ট লোড হয়। প্রোগ্রাম শুরু করার আগে Arduino প্লাগ ইন করতে হবে। চলমান সময় সিরিয়াল তালিকা রিফ্রেশ করা একটি খারাপ ঘটনা ঘটায়। এটি এখনও সমাধান করা হয়নি।
  • সিরিয়াল তালিকার সাথে ঝামেলা - কখনও কখনও প্রোগ্রাম ক্র্যাশ করে তোলে (রিফ্রেশ হিসাবে একই গুই ইভেন্ট - উৎসটি খুঁজে বের করতে হবে)
  • আরম্ভের উপর নির্ভর করে টগল বোতামগুলির পটভূমি কালো হয়ে যায়। আমাকে ম্যানুয়ালি ব্যাকগ্রাউন্ড সেট করতে হবে।
  • কিছু উইন্ডোজ প্ল্যাটফর্মে com পোর্ট দেখা যাচ্ছে না। এফটিডিআই ড্রাইভারের সমস্যা হতে পারে।

ধাপ 4: কেস ব্যবহার করুন

ব্যবহারের ক্ষেত্রে
ব্যবহারের ক্ষেত্রে

আপনি যদি গুইনো ইন্টারফেসের সাথে কিছু ব্যবহারের ক্ষেত্রে দেখতে চান তবে এই নির্দেশযোগ্যটিতে যান।

প্রস্তাবিত: