সুচিপত্র:

CheminElectrique (দক্ষতা খেলা) - SRO2002: 9 ধাপ
CheminElectrique (দক্ষতা খেলা) - SRO2002: 9 ধাপ

ভিডিও: CheminElectrique (দক্ষতা খেলা) - SRO2002: 9 ধাপ

ভিডিও: CheminElectrique (দক্ষতা খেলা) - SRO2002: 9 ধাপ
ভিডিও: Cheminée Électrique : ENCASTRABLE ELYSÉE 5XL 2000W - Chemin'arte 2024, জুলাই
Anonim
CheminElectrique (দক্ষতা খেলা) - SRO2002
CheminElectrique (দক্ষতা খেলা) - SRO2002
CheminElectrique (দক্ষতা খেলা) - SRO2002
CheminElectrique (দক্ষতা খেলা) - SRO2002
CheminElectrique (দক্ষতা খেলা) - SRO2002
CheminElectrique (দক্ষতা খেলা) - SRO2002

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

এই পার্টিগুলিতে প্রায়শই একই গেম থাকে, যাকে আমি ক্লাসিক গেম বলব এবং এই বছর আমি এই ক্লাসিক গেমগুলির মধ্যে একটিকে আরও আধুনিক সংস্করণ করার সিদ্ধান্ত নিয়েছি: "কেমিন ইলেক্ট্রিক" বা "মেইন চৌড"।

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

Gameতিহ্যগতভাবে এই গেমটি তৈরির জন্য সত্যিই কোন ইলেকট্রনিক্স নেই, একটি হালকা বাল্ব এবং কিছু বৈদ্যুতিক তারের সাথে একটি সাধারণ 12V ব্যাটারি যথেষ্ট কিন্তু গেমটিকে আরো আধুনিক করার জন্য আমার কিছু চমৎকার ধারণা ছিল।

সুতরাং আসুন দেখি আমি কার্যকারিতা হিসাবে কী যুক্ত করেছি!

ধাপ 1: বৈশিষ্ট্য

যেমনটি আমি শুধু বলেছি এই গেমটি কেবল একটি আলো জ্বালায় যখন খেলোয়াড় অসাবধানতাবশত "জয়স্টিক" দিয়ে তারের স্পর্শ করে, এটি প্রায়শই ঘটে যে গেমটি যোগাযোগের সময় একটি শব্দ তৈরি করে। আমার গেমের সংস্করণে মোট 4 টি এলইডি (সবুজ-হলুদ-হলুদ-লাল) এর 6 টি ব্লক থাকবে যা একযোগে জ্বলে উঠবে, একটি বুজার যা একটি শব্দ উৎপন্ন করবে এবং নিয়ন্ত্রণকারীতে সংহত একটি ভাইব্রেটর যা সক্রিয় হবে যখন বৈদ্যুতিক তার এবং "জয়স্টিক" এর মধ্যে যোগাযোগ থাকে।

তারের এবং নিয়ামকের মধ্যে যোগাযোগ কতক্ষণ স্থায়ী হয় তার উপর নির্ভর করে LEDs ধীরে ধীরে সবুজ থেকে লাল হয়ে উঠবে।

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

অসুবিধা পছন্দ আসলে আসলে তারের এবং জয়স্টিকের মধ্যে একটি যোগাযোগের মুহূর্ত এবং যখন খেলাটি হালকা/রিং/কম্পন শুরু হয় সেই মুহূর্তের মধ্যে কমবেশি দীর্ঘ বিলম্ব হয়। আমি প্রোগ্রামিং দ্বারা পূর্বনির্ধারিত সময় নির্ধারণ করি, উদাহরণস্বরূপ সহজ মোডে গেমটি সতর্কতা ট্রিগার করার আগে 1 সেকেন্ড অপেক্ষা করে, যখন কঠিন মোডে সতর্কতা অবিলম্বে ট্রিগার করা হবে।

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

পদক্ষেপ 2: অস্বীকৃতি এবং আরও তথ্য

অস্বীকৃতি এবং আরও তথ্য
অস্বীকৃতি এবং আরও তথ্য

অস্বীকৃতি:

গেমটি 1.5V এর 4 টি ব্যাটারি দ্বারা চালিত হবে, মোট 6V এর ভোল্টেজ, আমি তারকে অতিক্রমকারী কারেন্টকে মাত্র কয়েকটি মাইক্রোঅ্যাম্পিয়ারে সীমাবদ্ধ করি। অতএব আমরা খুব কম নিরাপত্তা ভোল্টেজের ক্ষেত্রে (SELV) ব্যবহারকারীর অ্যাক্সেসযোগ্য একটি অত্যন্ত কম বর্তমান মান সহ।

কিন্তু মনোযোগ আমি ভালভাবে উল্লেখ করেছি যে বৈদ্যুতিক স্রোতের কোন মূল্যই ক্ষতিকর নয়, একটি দুর্বল স্রোত নির্দিষ্ট কিছু ক্ষেত্রে বিদ্যুতায়িত ব্যক্তির জন্য বিপজ্জনক হতে পারে। এই প্রকল্পটি তৈরির সময় আমি এই বিষয়ে অনেক গবেষণা করেছি, এবং যদিও সীমা মান সম্পর্কে কোন বৈজ্ঞানিক sensকমত্য নেই যার আগে কারেন্ট মানুষের শরীরে কোন প্রভাব ফেলে না কিছু মাইক্রোঅ্যাম্পিয়ারের স্রোত যা বৈদ্যুতিক তারকে অতিক্রম করে খুব কম একজন ব্যক্তিকে আঘাত করার সুযোগ।

কিন্তু মনোযোগ আমি দুর্ঘটনা ঘটলে দায়ী করা যাবে না! লাইভ বৈদ্যুতিক কন্ডাক্টরগুলি পরিচালনা করার সময় সর্বদা যত্ন নেওয়া উচিত, এমনকি খুব কম বর্তমান মানগুলিতেও। আমি আপনাকে দৃ strongly়ভাবে পরামর্শ দিচ্ছি যে আপনি যতটা সম্ভব বিদ্যুতের ঝুঁকি এবং ভাল সতর্কতা সম্পর্কে অবহিত করুন

আরও তথ্য:

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

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

আমি যদি আমি এই গেমটি আবার তৈরি করতে পারি তবে আমি মনে করি যে আমি উত্পাদন পদক্ষেপের মধ্য দিয়ে যাচ্ছি। কিন্তু আমি পুনরাবৃত্তি করছি যে প্রকল্পটি এর মতো বেশ কার্যকরী, কিন্তু আমি পারফেকশনিস্ট …

আমি প্রকল্পের বিভিন্ন পর্যায়ের আরও ছবি না তুলতেও দু regretখিত, কিন্তু সময় মতো শেষ করতে পারার জন্য আমি প্রকল্পে যতটা সম্ভব নিজেকে উৎসর্গ করতে পছন্দ করি।

আমি এই প্রকল্পে খুশি কারণ এটি আমার ছেলের স্কুল পার্টিতে একটি দুর্দান্ত সাফল্য ছিল, তাই আসুন দেখা যাক জন্তুর পেটে কি আছে;)

ধাপ 3: বাধ্যবাধকতা

- ব্যাটারি চালিত হতে হবে (নিরাপত্তা এবং গতিশীলতার জন্য)- গেমটি অবশ্যই নিরাপদ হতে হবে (এটি 2 থেকে 10 বছর বয়সী শিশুরা ব্যবহার করবে)

- সেটিংস অবশ্যই উপলব্ধ থাকতে হবে (সাউন্ড/ভাইব্রেটর অ্যাক্টিভেশনের পছন্দ, এবং অসুবিধার পছন্দ)

- সেটিংস বুঝতে হবে সহজ এবং সহজেই অ্যাক্সেসযোগ্য (এটা ধরে নিতে হবে যে পার্টি চলাকালীন যে ব্যক্তি খেলাটির যত্ন নেবে সে ইলেকট্রনিক্স/টেকনিক্যাল কিছুই জানে না)

- শব্দটি যথেষ্ট জোরে হতে হবে (গেমটি বাইরে একটি শোরগোল পরিবেশে ব্যবহার করা হবে)।

- সিস্টেমটি সঞ্চয়ের জন্য সর্বাধিক অপসারণযোগ্য এবং সহজেই প্রতিস্থাপনযোগ্য শারীরিক অংশ (জয়স্টিক, বৈদ্যুতিক তার …)

- শিশুদের জন্য আকর্ষণীয় হতে হবে (এটিই তাদের মূল লক্ষ্য …:))

ধাপ 4: উপাদান (BOM)

ক্ষেত্রে জন্য:- কাঠের তক্তা

- পেইন্টিং

- ড্রিল এবং কাটার কিছু সরঞ্জাম…।

"জয়স্টিক" এর জন্য:- 1 ভাইব্রেটর

- কেবল জ্যাক 3.5 (স্টেরিও)

- জ্যাক সংযোগকারী 3.5 (স্টেরিও)

- বৈদ্যুতিক তার 2.5mm²

- একটি ছোট পিভিসি টিউব

বৈদ্যুতিক যন্ত্রপাতি:

- 16F628A

- 12F675

- ULN2003A

- 2 x 2N2222A

- জেনার ডায়োড 2.7V

- 12 নীল LED

- 6 সবুজ LED

- 6 লাল LED

- 12 হলুদ LED

- 5 প্রতিরোধক 10K

- 2 প্রতিরোধক 4.7K

- 1 প্রতিরোধক 470 ওহম

- 6 প্রতিরোধক 2.2K

- 6 প্রতিরোধক 510 ওহম

- 18 প্রতিরোধক 180 ওহম

- 1 পটেন্টিওমিটার 1 কে

- 1 চালু বন্ধ সুইচ

-2 অন-অফ-অন সুইচ

- 1 বজার

- 1 ডিসি বুস্ট রূপান্তরকারী

- বৈদ্যুতিক তার 2.5mm²

- 2 কলা সংযোগকারী পুরুষ

- 2 টি কলা সংযোগকারী মহিলা

- জ্যাক সংযোগকারী 3.5 (স্টেরিও)

- 4 LR6 ব্যাটারির জন্য ধারক

- কিছু PCB প্রোটোটাইপিং বোর্ড

ইলেকট্রনিক টুলস: - একজন মাইক্রোচিপ 16F628A এবং 12F675 (যেমন PICkit 2) এ কোডটি ইনজেক্ট করার জন্য একজন প্রোগ্রামার -

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

কিন্তু আমি আপনাকে প্রদান করব। HEX ফাইল যাতে আপনি সেগুলিকে সরাসরি মাইক্রোকন্ট্রোলারে ইনজেক্ট করতে পারেন।

ধাপ 5: ফাংশন বিশ্লেষণ

ফাংশন বিশ্লেষণ
ফাংশন বিশ্লেষণ
ফাংশন বিশ্লেষণ
ফাংশন বিশ্লেষণ

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

পাওয়ার ইন্টারফেস ULN2003A (Func2): এই উপাদানটি 16F628A এবং সার্কিটের মধ্যে একটি পাওয়ার ইন্টারফেস হিসেবে কাজ করে যা মাইক্রোকন্ট্রোলার সরবরাহ করতে পারে তার চেয়ে বেশি শক্তি খরচ করে (LED, buzzer, vibrator)।

বুজার নিয়ন্ত্রণ (Func3):

PIC 16F628A বাজারকে শক্তি দেওয়ার জন্য পর্যাপ্ত কারেন্ট প্রদান করতে পারে না, বিশেষ করে যেহেতু বজারটি তার সাউন্ড পাওয়ার বাড়ানোর জন্য বুস্ট কনভার্টারের মাধ্যমে চালিত হতে হবে।

প্রকৃতপক্ষে যেহেতু সমাবেশটি 6V এ সরবরাহ করা হয় এবং যে বাজারের সর্বোচ্চ 12V কাজ করার প্রয়োজন হয় আমি ভাল ভোল্টেজ পাওয়ার জন্য একটি রূপান্তরকারী ব্যবহার করি। তাই আমি বুজার পাওয়ার সাপ্লাই নিয়ন্ত্রণ করতে একটি সুইচ (কমিউটেশন মোড) হিসাবে একটি ট্রানজিস্টর ব্যবহার করি। আমি যে উপাদানটি বেছে নিয়েছি তা হল একটি ক্লাসিক 2N2222A যা এই ব্যবহারের জন্য খুব উপযুক্ত।

এখানে বাজারের বৈশিষ্ট্যগুলি হল: 12V 25mA, এর মানে হল যে এটি P = UI = 12 x 25mA = 0.3W এর একটি তাত্ত্বিক শক্তি প্রয়োজন

তাই ডিসি বুস্ট কনভার্টারের মধ্যে 0.3W এর পাওয়ারের প্রয়োজন আছে, ডিসি বুস্ট মডিউলের 95% এর দক্ষতা আছে তাই প্রায় 5% ক্ষতি আছে। অতএব, কনভার্টার ইনপুটে 0.3W + 5% = 0.315W এর ন্যূনতম শক্তি প্রয়োজন।

আমরা এখন বর্তমান আইসি বের করতে পারি যা ট্রানজিস্টার Q1 অতিক্রম করবে:

পি = ইউ * আইসি

আইসি = পি / ইউ

Ic = P / Vcc-Vcesat

আইসি = 0, 315 / 6-0, 3

আইসি = 52mA

আমরা এখন ট্রানজিস্টরকে ভালভাবে স্যাচুরেটেড হওয়ার জন্য বেস রেসিস্টর গণনা করি:

Ibsatmin = Ic / Betamin

Ibsatmin = 52mA / 100

Ibsatmin = 0.5mA

Ibsat = K x Ibsatmin (আমি একটি সুর-সম্পৃক্তি সহগ K = 2 নির্বাচন করি)

Ibsat = 2 x Ibsatmin

ইবস্যাট = 1 এমএ

R12 = Ur12 / Ibsat

R12 = Vcc - Vbe

R12 = (6 - 0.6) / 1mA

R12 = 5.4K

R12 = 4.7K এর জন্য স্বাভাবিক মান (E12)

কম্পন নিয়ন্ত্রণ (Func4):

বাজারের জন্য, 16F628A কম্পনের জন্য পর্যাপ্ত কারেন্ট সরবরাহ করতে পারে না যার জন্য 70mA এর একটি কারেন্ট প্রয়োজন, তাছাড়া এটি 3V ভোল্টেজের সাথে সর্বাধিক সরবরাহ করতে হবে। তাই আমি ভাইব্রেটরের জন্য 2.7V ভোল্টেজ রেগুলেটর তৈরির জন্য ট্রানজিস্টরের সাথে একটি জেনার ডায়োড ব্যবহার করা বেছে নিয়েছি। জেনার-ট্রানজিস্টর অ্যাসোসিয়েশনের কার্যক্রম সহজ, জেনার ট্রানজিস্টরের বেসে 2.7V ভোল্টেজ ঠিক করে এবং ট্রানজিস্টর এই ভোল্টেজকে "কপি" করে এবং শক্তি সরবরাহ করে।

বর্তমান যা ট্রানজিস্টার Q2 অতিক্রম করবে এইভাবে Ic = 70mA এর সমান

আমরা এখন ট্রানজিস্টরকে ভালভাবে স্যাচুরেটেড হওয়ার অনুমতি দিয়ে বেস রেজিস্ট্যান্সের হিসাব করি:

Ibsatmin = Ic/Betamin

Ibsatmin = 70mA / 100

Ibsatmin = 0, 7mA

Ibsat = K x Ibsatmin (আমি একটি sur-saturation coefficient K = 2 নির্বাচন করি) Ibsat = 2 x Ibsatmin

Ibsat = 1, 4mA

জেনার ডায়োডে ন্যূনতম বর্তমানটি তার ক্রিয়াকলাপের জন্য কমপক্ষে Iz = 1mA হতে হবে, তাই আমরা প্রতিরোধক R13 এর মধ্য দিয়ে বর্তমান প্রবাহটি বের করতে পারি:

Ir13 = Ibsat + Iz

Ir13 = 1, 4mA + 1mA

Ir13 = 2, 4mA

জেনার ডায়োড Iz এর বর্তমান সর্বদা সঠিক অপারেটিং রেঞ্জে রয়েছে তা নিশ্চিত করার জন্য, একটি সুরক্ষা মার্জিন নেওয়া হয়: Ir13_fixed = 5mA (মান সম্পূর্ণরূপে নির্বিচারে পছন্দ)

এখন R13 এর মান গণনা করা যাক:

R13 = U13 / Ir13_fixed

R13 = VCC-Vz / Ir13_fixed

R13 = 6-2, 7 / 5mA

R13 = 660 ওহম

R13 = 470 ohm এর জন্য স্বাভাবিক মান (E12)

আমি E12 সিরিজে 560 ওহম বেছে নিতে পারতাম কিন্তু আমার এই মান ছিল না তাই আমি আগের মানটি নিয়েছিলাম …

অপ্টিমাইজ করা যায়

যখন আমি প্রকল্পের নকশা তৈরি করি তখন আমি ট্রানজিস্টরের Vbe সম্পর্কে চিন্তা করিনি তাই ভাইব্রেটরকে পাওয়ার জন্য 2.7V থাকার পরিবর্তে আমার কেবল 2.7V-0.6V = 2.1V আছে। উদাহরণস্বরূপ আমার একটি 3.3 ভি জেনার নেওয়া উচিৎ ছিল, ভাইব্রেটর একটু বেশি শক্তিশালী হত যদি ফলাফল বেশ সন্তোষজনক হয়, আমি ভাইব্রেটরের সমস্ত শক্তি কাজে লাগাই না …

সতর্কীকরণ LEDs (Func5):

এলইডিগুলি উল্লম্বভাবে স্থাপন করা হয় যেন তারা একটি গেজ তৈরি করে: লাল

হলুদ 2

হলুদ 1

সবুজ

যখন "জয়স্টিক" এবং বৈদ্যুতিক তারের মধ্যে একটি যোগাযোগ সনাক্ত করা হয়, তারা ধীরে ধীরে সবুজ থেকে লাল হয়ে যায়।

এলইডিগুলি তাদের রঙ অনুসারে গ্রুপগুলিতে ভিসিসির সাথে সংযুক্ত:

- সবুজ LEDs এর সমস্ত অ্যানোড একসাথে সংযুক্ত

- হলুদ 1 এলইডি এর সমস্ত অ্যানোড একসাথে সংযুক্ত

- হলুদ 2 এলইডি এর সমস্ত অ্যানোড একসাথে সংযুক্ত

- লাল LEDs এর সমস্ত অ্যানোড একসাথে সংযুক্ত

মাইক্রোকন্ট্রোলার তখন তাদের ক্যাথোডকে ULN2003A এর মাধ্যমে গ্রাউন্ড করে সক্রিয় করে।

বিঃদ্রঃ:

পরিকল্পিতভাবে প্রতিটি রঙের একটি মাত্র LED আছে যার পাশে "X6" চিহ্ন আছে কারণ আমি ক্যাডেন্স ক্যাপচারের একটি বিনামূল্যে সংস্করণ ব্যবহার করি এবং আমি প্রতি ডায়াগ্রামে সর্বাধিক সংখ্যক উপাদান দ্বারা সীমাবদ্ধ তাই আমি সমস্ত LEDS প্রদর্শিত করতে পারিনি …

বুজার সাউন্ড লেভেল ম্যানেজমেন্ট (Func6):

এটি কেবল বজারের সাথে সিরিজের একটি পটেনশিয়োমিটার যা শব্দের ভলিউম সামঞ্জস্য করা সম্ভব করে।

"সজ্জা" LEDs (Func7 - পরিকল্পিত/পৃষ্ঠা 2):

এই এলইডিগুলির উদ্দেশ্য হল গেমের সাজসজ্জার জন্য একটি ধাওয়া তৈরি করা। তারা বাম থেকে ডানে আলোকিত হয়। মোট ১২ টি নীল LED আছে: কোর্সের শুরুতে the টি স্টার্ট লাইনের প্রতিনিধিত্ব করে এবং কোর্সের শেষে the টি ফিনিস লাইনের প্রতিনিধিত্ব করে

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

তাছাড়া তাদের ডেটশীটে ইঙ্গিত করা হয়েছে যে Vf 4V তাই আমি সিরিজের মধ্যে 2 টি LED রাখতে পারিনি (VCC 6V), এবং আমি সমান্তরালভাবে রাখতে পারিনি কারণ তাদের তাত্ত্বিকভাবে 20 mA প্রয়োজন এবং মাইক্রোকন্ট্রোলার শুধুমাত্র 25 mA সরবরাহ করতে পারে সর্বোচ্চ প্রতি পিন, অতএব 40mA অসম্ভব ছিল।

সংক্ষেপে আমি LED এর একটি সমিতি তৈরি করতে পারিনি (ধারাবাহিক বা সমান্তরালভাবে রাখা) এবং মাইক্রোকন্ট্রোলারে যথেষ্ট পিন ছিল না যেভাবেই চালাতে পারি … তাদের চালানোর জন্য এই মাইক্রোকন্ট্রোলারের জন্য ধন্যবাদ আমি এলইডিগুলির সক্রিয়তা নিয়ন্ত্রণ করি তাদের এনোডগুলিতে একটি উচ্চ লজিক লেভেল (VCC) সেট করে এবং মাল্টিপ্লেক্সিং করার জন্য আমি PIC 16F628A এবং ULN2003A ব্যবহার করি।

অপ্টিমাইজ করা যায়:

আমি একটি ব্রেডবোর্ডে পরীক্ষা করার সময় বুঝতে পেরেছিলাম যে একই বর্তমান I = 20mA এর জন্য LEDs এর রঙ অনুসারে উজ্জ্বলতার মধ্যে একটি বড় পার্থক্য ছিল। উদাহরণস্বরূপ 20mA এর সাথে নীল LEDs সবুজের চেয়ে অনেক বেশি উজ্জ্বল ছিল। আমি এটা নান্দনিক পাইনি যে কিছু LEDs অন্যদের তুলনায় অনেক উজ্জ্বল ছিল, তাই আমি নীল LEDs এর সাথে ধারাবাহিকভাবে প্রতিরোধের বৈচিত্র্য অর্জন করি যতক্ষণ না আমি 20mA এর বর্তমান দিয়ে চালিত সবুজ LEDs হিসাবে একই আলোকিত শক্তি পাই।

এবং আমি বুঝতে পারলাম যে নীল এলইডিগুলির সবুজ এলইডিগুলির মতোই উজ্জ্বলতা রয়েছে যার মাত্র 1 এমএ কারেন্ট রয়েছে! যার মানে হল যে যদি আমি জানতাম যে আগে আমি নীল LEDs সিরিজ (2 গ্রুপে) রাখা বেছে নিতে পারতাম। এবং আমার শুধুমাত্র 16F675A (যা উপলব্ধ) এ 3 টি পিনের প্রয়োজন ছিল, তাই এই LEDs পরিচালনার জন্য নিবেদিত আরেকটি মাইক্রোকন্ট্রোলার যোগ করার প্রয়োজন হয়নি।

কিন্তু নকশার এই সময়ে আমি এটা জানতাম না, প্রযুক্তিগত ডকুমেন্টেশনগুলির বৈশিষ্ট্য এবং উপাদানগুলির আসল বৈশিষ্ট্যের মধ্যে মাঝে মাঝে তুচ্ছ নয়।

বর্তমান সীমিত (Func0):

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

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

আমি এই বিষয়ে একটি সুনির্দিষ্ট উত্তর খুঁজে পাইনি তাই আমি যতদূর সম্ভব তারের ক্রসিং কমানোর জন্য VCC এবং বৈদ্যুতিক তারের মধ্যে একটি প্রতিরোধ যোগ করতে পছন্দ করি।

তাই আমি বর্তমানকে সর্বনিম্ন সম্ভাব্য মূল্যে কমিয়ে আনতে একটি উচ্চ মানের প্রতিরোধক রাখতে চেয়েছিলাম কিন্তু যেহেতু আমি ইতিমধ্যে প্রকল্পটি শেষ করেছি এবং তাই সমস্ত কার্ডগুলিকে welালাই এবং তারযুক্ত করেছি আমি আর 10Kohm এর পুলডাউন প্রতিরোধকটি সরাতে পারিনি। বিআর 0 পিন (16F628A এর পিন 6) তে 2/3 VCC পাওয়ার জন্য আমাকে একটি প্রতিরোধের মান নির্বাচন করতে হয়েছিল যাতে মাইক্রোকন্ট্রোলার সনাক্ত করে যদিও এটি একটি উচ্চ যুক্তি স্তর যখন জয়স্টিক এবং বৈদ্যুতিক তারের মধ্যে যোগাযোগ থাকে । যদি আমি খুব বেশি প্রতিরোধ যোগ করতাম তবে আমার ঝুঁকি হত যে মাইক্রোকন্ট্রোলার কম যুক্তিযুক্ত অবস্থা এবং উচ্চ যুক্তিযুক্ত অবস্থার মধ্যে পরিবর্তন সনাক্ত করতে পারত না।

তাই জয়েস্টিক এবং বৈদ্যুতিক তারের মধ্যে যোগাযোগের সময় পিনে প্রায় 4V ভোল্টেজ পাওয়ার জন্য আমি 4.7K এর একটি প্রতিরোধ যোগ করতে বেছে নিয়েছি। যদি কেউ এর সাথে মানুষের ত্বকের প্রতিরোধ ক্ষমতা যোগ করে যদি হাত দিয়ে বৈদ্যুতিক তারের সংস্পর্শে আসে উদাহরণস্বরূপ শরীরের মধ্য দিয়ে প্রবাহিত বিদ্যুৎ 1mA এর কম হবে।

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

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

ধাপ 6: প্রোগ্রামিং

প্রোগ্রামিং
প্রোগ্রামিং

প্রোগ্রামগুলি MPLAB IDE দিয়ে C ভাষায় লেখা হয় এবং কোডটি CCS C কম্পাইলারের সাথে সংকলিত হয়।

কোডটি সম্পূর্ণরূপে মন্তব্য করা হয়েছে এবং বোঝার জন্য বেশ সহজ, কিন্তু আমি দ্রুত 2 টি কোডের প্রধান ফাংশন (16F628A এবং 12F675 এর জন্য) ব্যাখ্যা করব।

প্রথম প্রোগ্রাম -CheminElectrique.c- (16F628A):

LED মাল্টিপ্লেক্সিং ম্যানেজমেন্ট: ফাংশন: RTCC_isr ()

আমি মাইক্রোকন্ট্রোলারের টাইমার 0 ব্যবহার করি যাতে প্রতি 2ms ওভারফ্লো হয় যা LEDs এর মাল্টিপ্লেক্সিং পরিচালনা করতে দেয়।

যোগাযোগ সনাক্তকরণ ব্যবস্থাপনা:

ফাংশন: অকার্যকর প্রধান ()

এটি প্রধান লুপ, প্রোগ্রামটি জয়স্টিক এবং বৈদ্যুতিক তারের মধ্যে যোগাযোগ আছে কিনা তা সনাক্ত করে এবং যোগাযোগের সময় অনুযায়ী LEDs/buzzer/vibrator সক্রিয় করে।

ব্যবস্থাপনা নির্ধারণে অসুবিধা:

ফাংশন: দীর্ঘ GetSensitivityValue ()

এই ফাংশনটি সুইচটির অবস্থান পরীক্ষা করতে ব্যবহৃত হয় যা অসুবিধাগুলি নির্বাচন করতে দেয় এবং অ্যালার্ম সক্রিয় করার আগে অপেক্ষা করার সময়কে প্রতিনিধিত্ব করে একটি পরিবর্তনশীল প্রদান করে।

অ্যালার্ম সেটিং ম্যানেজমেন্ট:

ফাংশন: int GetDeviceConfiguration ()

এই ফাংশনটি সুইজারটির অবস্থান পরীক্ষা করতে ব্যবহৃত হয় যা বাজার এবং ভাইব্রেটর অ্যাক্টিভেশন নির্বাচন করে এবং অ্যালার্মের প্রতিনিধিত্বকারী একটি পরিবর্তনশীল প্রদান করে যা সক্রিয় হওয়া আবশ্যক।

দ্বিতীয় প্রোগ্রাম -LedStartFinishCard.c- (12F675):

নীল LED অ্যাক্টিভেশন ম্যানেজমেন্ট: ফাংশন: অকার্যকর প্রধান ()

এটি প্রোগ্রামের প্রধান লুপ, এটি বাম থেকে ডানে একের পর এক LEDs সক্রিয় করে (একটি তাড়া তৈরি করতে)

MPLAB প্রকল্পের একটি জিপ ফাইল নিচে দেখুন:

ধাপ 7: সোল্ডারিং এবং সমাবেশ

সোল্ডারিং এবং সমাবেশ
সোল্ডারিং এবং সমাবেশ
সোল্ডারিং এবং সমাবেশ
সোল্ডারিং এবং সমাবেশ
সোল্ডারিং এবং সমাবেশ
সোল্ডারিং এবং সমাবেশ
সোল্ডারিং এবং সমাবেশ
সোল্ডারিং এবং সমাবেশ

"শারীরিক" অংশ: আমি বাক্সটি তৈরি করে শুরু করেছি, তাই আমি উপরের এবং পাশের জন্য প্রায় 5 মিমি পুরু কাঠের বোর্ড কেটেছি এবং নীচে আরও ওজন রাখতে 2 সেন্টিমিটার পুরু একটি বোর্ড বেছে নিয়েছি এবং খেলাটি সরানো হয় না।

আমি কাঠের আঠা দিয়ে বোর্ডগুলিকে একত্রিত করেছি, আমি কোনও স্ক্রু বা নখ রাখিনি এবং এটি সত্যিই শক্ত!

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

তারপর আমি সব সংযোগকারী, সুইচ এবং অবশ্যই LEDs জন্য গর্ত drilled।

গেমের অসুবিধা বাড়ানোর জন্য জিগ-জ্যাগ তৈরির জন্য বৈদ্যুতিক তারটি পাকানো হয় এবং প্রতিটি প্রান্ত একটি পুরুষ কলা সংযোগকারীতে পরিণত হয়। সংযোগকারীগুলিকে তখন মহিলা কলা সংযোগকারীদের সাথে সংযুক্ত করা হবে যা হাউজিং কভারের সাথে সংযুক্ত।

ইলেকট্রনিক অংশ:

আমি ইলেকট্রনিক অংশটি কয়েকটি ছোট প্রোটোটাইপ কার্ডে বিভক্ত করেছি।

সেখানে:

- 16F628A এর জন্য একটি কার্ড

- 12F675 এর জন্য একটি কার্ড

- 6 টি সতর্কতা LED কার্ড

- আলংকারিক LEDs জন্য 4 কার্ড (শুরু লাইন এবং শেষ লাইন)

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

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

"জয়স্টিক" অংশ:

জয়স্টিকের জন্য আমি পিভিসি টিউবের একটি ছোট টুকরো (1.5 সেমি ব্যাস এবং 25 সেমি দৈর্ঘ্য) নিয়েছিলাম এবং তারপর আমি মহিলা জ্যাক সংযোগকারীকে এভাবে বিক্রি করেছিলাম:

- জয়স্টিকের শেষে তারের সাথে সংযুক্ত একটি টার্মিনাল (পরিকল্পিতভাবে যোগাযোগ ওয়্যার)

- ভাইব্রেটরের ধনাত্মক টার্মিনালের সাথে সংযুক্ত একটি টার্মিনাল (পরিকল্পিতভাবে J1A সংযোগকারীতে 2A)

- ভাইব্রেটরের নেগেটিভ টার্মিনালের সাথে সংযুক্ত একটি টার্মিনাল (পরিকল্পিতভাবে J1A সংযোগকারীতে 1A)

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

ধাপ 8: ভিডিও

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

এখন প্রকল্পটি শেষ হয়েছে, এই প্রকল্পটি করতে সত্যিই খুব ভাল লাগছিল যদিও আমি এটি করার জন্য খুব কম সময় পেয়ে দু regretখিত। এটি আমাকে একটি নতুন চ্যালেঞ্জ গ্রহণ করার অনুমতি দেয়;) আমি আশা করি যে এই গেমটি বহু বছর ধরে কাজ করবে এবং এটি অনেক শিশুকে আনন্দ দেবে যারা তাদের স্কুল বছরের শেষ উদযাপন করবে!

আমি একটি আর্কাইভ ফাইল প্রদান করি যাতে প্রকল্পের জন্য আমার ব্যবহৃত/তৈরি সমস্ত নথি রয়েছে।

আমি জানি না আমার লেখার ধরন সঠিক হবে কিনা কারণ আমি দ্রুত এগিয়ে যাওয়ার জন্য আংশিকভাবে একটি স্বয়ংক্রিয় অনুবাদক ব্যবহার করছি এবং যেহেতু আমি স্থানীয়ভাবে ইংরেজি বলছি না তাই আমি মনে করি কিছু বাক্য সম্ভবত ইংরেজিতে নিখুঁতভাবে লেখার জন্য অদ্ভুত হবে।

যদি এই প্রকল্প সম্পর্কে আপনার কোন প্রশ্ন বা মন্তব্য থাকে, দয়া করে আমাকে জানান!

প্রস্তাবিত: