সুচিপত্র:

ক্ল্যাপ-অন সুইচ: 7 টি ধাপ (ছবি সহ)
ক্ল্যাপ-অন সুইচ: 7 টি ধাপ (ছবি সহ)

ভিডিও: ক্ল্যাপ-অন সুইচ: 7 টি ধাপ (ছবি সহ)

ভিডিও: ক্ল্যাপ-অন সুইচ: 7 টি ধাপ (ছবি সহ)
ভিডিও: How To Make Clap Switch at Home | Simple Clap Switch Circuit Using BC547 Transistor 2024, জুলাই
Anonim
Image
Image

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

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

সরবরাহ

শারীরিক উপাদান:

  • প্রোগ্রামিং এর জন্য 1x ATmega328P Xplained Mini তারের সাথে
  • 1x 5v রিলে মডিউল 1-চ্যানেল (KY-019 বা অনুরূপ)
  • 1x সাউন্ড সেন্সর মডিউল (KY-038 বা অনুরূপ)
  • 1x ব্রেডবোর্ড
  • 6x পুরুষ-পুরুষ জাম্পার তার
  • কর্ড সহ 1x লাইট সকেট (বা অন্য কোন ডিভাইস যা আপনি চালু করতে চান)
  • 1x লাইট বাল্ব
  • 1x রোধ* (আমি 220 ওহম ব্যবহার করি)
  • 1x LED*

সফটওয়্যার (ডাউনলোড):

  • AtmelStudio 7.0 (https://www.microchip.com/mplab/avr-support/atmel-studio-7)
  • পুটি (www.putty.org)*

* পরীক্ষার উদ্দেশ্যে

ধাপ 1: সংযোগ

প্রোগ্রাম তৈরি করা
প্রোগ্রাম তৈরি করা

ছবিতে দেখানো হিসাবে সমস্ত তারের সংযোগ করুন।

পদক্ষেপ 2: প্রোগ্রাম তৈরি করা

প্রোগ্রাম তৈরি করা
প্রোগ্রাম তৈরি করা
প্রোগ্রাম তৈরি করা
প্রোগ্রাম তৈরি করা

আমি C তে কোড করতে পছন্দ করি তাই এই প্রকল্পটি C তে লেখা।

আপনি যদি এখনও প্রয়োজনীয় সফ্টওয়্যারটি ডাউনলোড এবং ইনস্টল না করে থাকেন তবে এখনই এটি ডাউনলোড করুন এবং ইনস্টল করুন।

এখন এই পরবর্তী পদক্ষেপগুলি অনুসরণ করুন:

  1. AtmelStudio খুলুন।
  2. "ফাইল" -> "নতুন" -> "প্রকল্প" এ ক্লিক করুন।
  3. "GCC C Executable Project" এ ক্লিক করুন। আপনার প্রকল্পের নাম এবং স্থান সংরক্ষণ করুন। "ঠিক আছে" ক্লিক করুন।
  4. ATmega328P এর জন্য অনুসন্ধান করুন। "ATmega328P" -> "ঠিক আছে" ক্লিক করুন।
  5. মূল প্রোগ্রামটি খুলতে "main.c" এ সমাধান এক্সপ্লোরারে ক্লিক করুন।

ধাপ 3: কোড যোগ করা

Main.c এ ইতিমধ্যে উপস্থিত কোডটি মুছুন

Main.c এ নিচের কোডটি কপি করে পেস্ট করুন

#সংজ্ঞায়িত F_CPU 16000000

#অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত করুন "usart.h" #সংজ্ঞায়িত করুন মিনিমালভ্যালু 5 অকার্যকর InitADC (); uint16_t ReadADC (uint8_t ADCchannel); ডবল ভ্যাল 1, ভ্যাল 2; int main (void) {// USART USART_init (9600) শুরু করুন; USART_putstr ("#USART init / n"); // এডিসি ইনিশিয়েটিএডিসি () শুরু করুন; USART_putstr ("#ADC init / n"); // PORTC আউটপুটের PC1 পিন, বাকি ইনপুট। DDRC = 0b00000010; // প্রাথমিক মান PORTC কম সেট করুন। PORTC = 0b00000000; while (1) {// potentiometer value // read value and store in val1 val1 = ReadADC (0); _ বিলম্ব_এমএস (1); // val2 val2 = ReadADC (0) এ পরের মান en store পড়ুন; char str [10]; // ReadADC () পূর্ণসংখ্যায় মান ফেরত দেয়। যদি আমরা পুটিতে মান ডিবাগ করতে বা দেখতে চাই, // মানটিকে অক্ষরে রূপান্তর করতে হবে যাতে USART এটি মুদ্রণ করতে পারে। itoa (val1, str, 10); USART_putstr (str); USART_putstr ("\ n"); // যদি 2 মানগুলির একটি নির্দিষ্ট পার্থক্য থাকে। একটি শব্দ সনাক্ত করা হয় এবং একটি পোর্ট সুইচ করে। // MINIMALVALUE পরিবর্তন করা যেতে পারে, বৃদ্ধি এটিকে কম সংবেদনশীল করে তুলবে। হ্রাস করলে এটি আরও সংবেদনশীল হবে যদি (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^= 0b00000010; // UC _delay_ms (200) এ আলো; }}} অকার্যকর InitADC () {// Vref = AVcc ADMUX | = (1 << REFS0) নির্বাচন করুন; // 128 এর জন্য prescaller সেট করুন এবং ADC ADCSRA সক্ষম করুন | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// নিরাপত্তা মাস্ক ADMUX = (ADMUX & 0xF0) সহ ADC চ্যানেল নির্বাচন করুন | (ADCchannel & 0x0F); // একক রূপান্তর মোড ADCSRA | = (1 << ADSC); // ADC রূপান্তর সম্পূর্ণ না হওয়া পর্যন্ত অপেক্ষা করুন (ADCSRA & (1 << ADSC)); এডিসি ফেরত; }

ধাপ 4: USART যোগ করা

USART যোগ করা হচ্ছে
USART যোগ করা হচ্ছে

USART একটি সিরিয়াল কমিউনিকেশন প্রোটোকল যা মাইক্রোকন্ট্রোলারে ব্যবহার করা যায়। সেন্সর থেকে এনালগ ডেটা দেখতে আমি মাইক্রোকন্ট্রোলারে এটি ব্যবহার করি।

USART ইতিমধ্যে সঠিকভাবে প্রোগ্রাম করা হয়েছে, যার মধ্যে একটি হেডার (.h) এবং সোর্স (.c) ফাইল রয়েছে। 2 টি ফাইল ডাউনলোড করুন এবং এটমেল স্টুডিওতে আপনার প্রোগ্রামে যুক্ত করুন।

সমাধান এক্সপ্লোরারে প্রকল্পের নামের উপর ডান ক্লিক করুন। "যোগ করুন" -> "বিদ্যমান আইটেম …" ক্লিক করুন এবং 2 টি ডাউনলোড করা ফাইল নির্বাচন করুন।

ধাপ 5: কোড চালানো

কোড চালানো হচ্ছে
কোড চালানো হচ্ছে
কোড চালানো হচ্ছে
কোড চালানো হচ্ছে

কম্পিউটারে মাইক্রোকন্ট্রোলার সংযুক্ত করুন। আপনার কম্পিউটারে "ডিভাইস ম্যানেজার" অনুসন্ধান করুন এবং এটি খুলুন। "পোর্ট (COM & LPT)" সন্ধান করুন এবং মনে রাখবেন মাইক্রোকন্ট্রোলার চালু থাকা COM- পোর্টটি।

PuTTY খুলুন এবং "সিরিয়াল" এ ক্লিক করুন COM- পোর্ট যা আপনি মাইক্রোকন্ট্রোলার পেয়েছেন এবং "খুলুন" ক্লিক করুন। একটি টার্মিনাল পপ আপ, এটি আপাতত ছেড়ে দিন।

মাইক্রোকন্ট্রোলার প্রোগ্রামিংয়ের জন্য সঠিক টুল নির্বাচন করতে AtmelStudio- এ ফিরে যান।

  1. হাতুড়ি টুলটিতে ক্লিক করুন।
  2. "MEDBG*AHTML" ডিবাগার/প্রোগ্রামার নির্বাচন করুন।
  3. ইন্টারফেস "debugWIRE" নির্বাচন করুন।
  4. "ডিবাগিং ছাড়াই শুরু করুন" এ ক্লিক করুন।

প্রোগ্রাম তৈরি এবং লিখতে হবে।

যখন প্রোগ্রামটি সঠিকভাবে চলবে তখন আপনি PuTTY তে পূর্ণসংখ্যার মান দেখতে পাবেন। স্ক্রু ড্রাইভার ব্যবহার করে আমি সেন্সরে স্ক্রু ঘুরিয়ে পুটিতে দেখা মান পরিবর্তন করতে পারি। আমার সেন্সর 0 থেকে 1000 পর্যন্ত মান দেয় যখন স্ক্রু সব দিকে ঘুরিয়ে দেয়। আমি মোট মূল্যের 100 (10%) তে স্ক্রু ঘুরিয়ে দিচ্ছি। আমি খুঁজে পেয়েছি যে এটি আমার জন্য কাজ করে।

ধাপ 6: সংবেদনশীলতা পরিবর্তন করুন

আলো জ্বলে উঠলে সংবেদনশীলতা সামঞ্জস্য করতে আপনি 2 টি বিকল্প ব্যবহার করতে পারেন, কিন্তু দুটি নয় একটি বেছে নিন:

  1. সেন্সর স্ক্রু পরিবর্তন করুন;
  2. কোড মান পরিবর্তন করুন।

আমি বিকল্প 2 ব্যবহার করি।

#মিনিমালভ্যালু 5 নির্ধারণ করুন

ধাপ 7: আপনার পছন্দ মতো কিছু পরিবর্তন করুন

আপনার পছন্দ মত কিছু পরিবর্তন করুন!
আপনার পছন্দ মত কিছু পরিবর্তন করুন!
আপনার পছন্দ মত কিছু পরিবর্তন করুন!
আপনার পছন্দ মত কিছু পরিবর্তন করুন!

সতর্কতা: উচ্চ ভোল্টেজ স্যুইচ করার সময় খেয়াল রাখুন

যখন আপনি সেন্সরের সংবেদনশীলতায় খুশি হন তখন আপনি সার্কিট পরিবর্তন করতে পারেন। উপরের ছবির মত সার্কিট পরিবর্তন করুন। আপনি এখন আপনার পছন্দ মত কিছু পরিবর্তন করতে পারেন!

প্রস্তাবিত: