جدول المحتويات:

مفتاح Clap-on: 7 خطوات (بالصور)
مفتاح Clap-on: 7 خطوات (بالصور)

فيديو: مفتاح Clap-on: 7 خطوات (بالصور)

فيديو: مفتاح Clap-on: 7 خطوات (بالصور)
فيديو: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, يوليو
Anonim
Image
Image

سألني أحد أقاربي مرة إذا كان بإمكاني إنشاء مفتاح يتفاعل مع التصفيق بيديك. لذلك طلبت بعض الأشياء لإنشاء مشروع وقررت أن أجعل تعليمات قابلة للتوجيه حتى يتمكن الجميع من الحصول على مفتاح رائع من هذا القبيل.

المتحكم الدقيق هو العقل المدبر لهذا المشروع. يتم توصيل مستشعر الصوت بالمتحكم الدقيق ، ويقوم المستشعر بإرسال بيانات تمثيلية عند اكتشاف الصوت. تمت برمجة المتحكم الدقيق لاكتشاف الاختلافات الكبيرة في الصوت. عندما يتم الكشف عن فرق كبير بما فيه الكفاية ، مما يعني التصفيق ، يرسل الميكروكونترولر إشارة إلى المرحل. مفاتيح التتابع ويضيء الضوء. عند التصفيق للمرة الثانية ، سينطفئ الضوء مرة أخرى.

اللوازم

الاشياء المادية:

  • 1x ATmega328P Xplained ميني مع كابل للبرمجة
  • وحدة مرحل 1x 5 فولت قناة واحدة (KY-019 أو ما شابه)
  • 1x وحدة استشعار الصوت (KY-038 أو ما شابه)
  • 1x اللوح
  • 6x سلك توصيل ذكر-ذكر
  • 1x مقبس ضوء مع سلك (أو أي جهاز آخر تريد تشغيله)
  • 1x مصباح
  • 1x المقاوم * (أستخدم 220 أوم)
  • 1x ليد *

تحميل برنامج):

  • AtmelStudio 7.0 (https://www.microchip.com/mplab/avr-support/atmel-studio-7)
  • المعجون (www.putty.org) *

* لأغراض تجريبية

الخطوة 1: التوصيلات

إنشاء البرنامج
إنشاء البرنامج

قم بتوصيل جميع الأسلاك كما هو موضح في الصورة.

الخطوة الثانية: إنشاء البرنامج

إنشاء البرنامج
إنشاء البرنامج
إنشاء البرنامج
إنشاء البرنامج

أحب أن أكتب بلغة C ، لذا فإن هذا المشروع مكتوب بلغة C.

إذا لم تقم بتنزيل البرنامج المطلوب وتثبيته بعد ، فقم بتنزيله وتثبيته الآن.

الآن اتبع الخطوات التالية:

  1. افتح AtmelStudio.
  2. انقر فوق "ملف" -> "جديد" -> "مشروع".
  3. انقر فوق "مشروع قابل للتنفيذ GCC C". امنح مشروعك اسمًا وموقعًا لتخزينه. انقر فوق موافق".
  4. ابحث عن ATmega328P. انقر فوق "ATmega328P" -> "موافق".
  5. انقر في "مستكشف الحلول" على "main.c" لفتح البرنامج الرئيسي.

الخطوة 3: إضافة كود

احذف الرمز الموجود بالفعل في main.c

انسخ والصق الكود التالي في main.c

# تعريف F_CPU 16000000

#include #include #include # include "usart.h" #define MINIMALVALUE 5 void InitADC ()؛ uint16_t ReadADC (uint8_t ADChannel) ؛ مزدوج val1 ، val2 ؛ int main (void) {// Initialise the USART USART_init (9600) ؛ USART_putstr ("# USART init / n")؛ // تهيئة ADC InitADC () ؛ USART_putstr ("# ADC init / n")؛ // PC1 دبوس من خرج PORTC ، والمدخلات المتبقية. DDRC = 0b00000010 ؛ // ضبط القيم الأولية على PORTC منخفضة. PORTC = 0b00000000 ؛ بينما (1) {// قراءة قيمة مقياس الجهد // قراءة القيمة وتخزينها في val1 val1 = ReadADC (0) ؛ _delay_ms (1) ؛ // قراءة القيمة التالية في مخزن في val2 val2 = ReadADC (0) ؛ شار str [10] ؛ // يعطي ReadADC () القيمة مرة أخرى بالأعداد الصحيحة. إذا أردنا تصحيح الأخطاء أو رؤية القيمة على المعجون ، // يجب تحويل القيمة إلى أحرف حتى يتمكن USART من طباعتها. إيتوا (val1 ، str ، 10) ؛ USART_putstr (str) ، USART_putstr ("\ n") ؛ // إذا كان للقيمتين اختلاف معين. تم الكشف عن صوت وتبديل المنفذ. // يمكن تغيير MINIMALVALUE ، وستجعل الزيادة أقل حساسية. التقليل سيجعلها أكثر حساسية إذا (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^ = 0b00000010؛ // LIGHT ON UC _delay_ms (200) ؛ }}} void InitADC () {// Select Vref = AVcc ADMUX | = (1 << REFS0) ؛ // تعيين prescaller على 128 وتمكين ADC ADCSRA | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN) ؛ } uint16_t ReadADC (uint8_t ADCchannel) {// حدد قناة ADC مع قناع الأمان ADMUX = (ADMUX & 0xF0) | (ADChannel & 0x0F) ؛ // وضع تحويل واحد ADCSRA | = (1 << ADSC) ؛ // انتظر حتى يكتمل تحويل ADC أثناء (ADCSRA & (1 << ADSC)) ؛ عودة ADC ؛ }

الخطوة 4: إضافة USART

مضيفا USART
مضيفا USART

USART هو بروتوكول اتصال تسلسلي يمكن استخدامه على وحدة التحكم الدقيقة. أستخدمه في وحدة التحكم الدقيقة لرؤية البيانات التناظرية من المستشعر.

تمت بالفعل برمجة USART بشكل صحيح ، وتحتوي على رأس (.h) وملف المصدر (.c). قم بتنزيل الملفين وأضفهما إلى برنامجك في AtmelStudio.

انقر بزر الماوس الأيمن فوق اسم المشروع في مستكشف الحلول. انقر فوق "إضافة" -> "عنصر موجود …" وحدد الملفين اللذين تم تنزيلهما.

الخطوة الخامسة: تشغيل الكود

تشغيل المدونة
تشغيل المدونة
تشغيل المدونة
تشغيل المدونة

قم بتوصيل المتحكم الدقيق بالكمبيوتر. ابحث في جهاز الكمبيوتر عن "مدير الجهاز" وافتحه. ابحث عن "المنافذ (COM & LPT)" وتذكر منفذ COM الذي يعمل به الميكروكونترولر.

افتح PuTTY وانقر على "Serial" واكتب منفذ COM الذي وجدته في وحدة التحكم الدقيقة وانقر على "فتح". تنبثق محطة طرفية ، اتركها الآن.

ارجع إلى AtmelStudio لتحديد الأداة المناسبة لبرمجة وحدة التحكم الدقيقة.

  1. انقر فوق أداة المطرقة.
  2. حدد "mEDBG * ATML" مصحح / مبرمج.
  3. حدد واجهة "debugWIRE".
  4. انقر فوق "ابدأ بدون تصحيح الأخطاء".

سيقوم البرنامج بالبناء والكتابة.

عندما يتم تشغيل البرنامج بشكل صحيح ، سترى قيم الأعداد الصحيحة في puTTY. باستخدام مفك البراغي ، يمكنني تغيير القيمة التي تظهر في puTTY عن طريق تدوير المسمار على المستشعر. يعطي المستشعر الخاص بي القيم من 0 إلى 1000 عند تدوير المسمار على طول الطريق. أنا أقوم بتدوير البرغي إلى 100 (10٪) من القيمة الإجمالية. لقد اكتشفت أن هذا يناسبني.

الخطوة السادسة: تغيير الحساسية

لضبط الحساسية عند تشغيل الضوء ، يمكنك استخدام خيارين ، ولكن اختر أحدهما وليس كلاهما:

  1. تغيير برغي المستشعر ؛
  2. تغيير قيمة الرمز.

أنا أستخدم الخيار 2. زيادة قيمة MINIMALVALUE ستجعله أقل حساسية ، والتقليل يجعله أكثر حساسية.

#define الحد الأدنى للقيمة 5

الخطوة 7: بدّل أي شيء تريده

تبديل أي شيء تريد!
تبديل أي شيء تريد!
تبديل أي شيء تريد!
تبديل أي شيء تريد!

تحذير: انتبه عند تبديل الفولتية العالية

عندما تكون راضيًا عن حساسية المستشعر ، يمكنك تغيير الدائرة. تغيير الدائرة مثل الصورة أعلاه. يمكنك الآن تبديل أي شيء تريده!

موصى به: