תוכן עניינים:

מתג מחיאות כפיים: 7 שלבים (עם תמונות)
מתג מחיאות כפיים: 7 שלבים (עם תמונות)

וִידֵאוֹ: מתג מחיאות כפיים: 7 שלבים (עם תמונות)

וִידֵאוֹ: מתג מחיאות כפיים: 7 שלבים (עם תמונות)
וִידֵאוֹ: כך נולד הצבע - שירי ילדים אהובים - שירי ילדות ישראלית 2024, יולי
Anonim
Image
Image

קרוב משפחה שאל אותי פעם אם אוכל ליצור מתג המגיב למחיאת כפיים. אז הזמנתי כמה דברים כדי ליצור פרויקט והחלטתי לעשות מדריך כדי שכולם יוכלו לקבל מתג מדהים כזה.

המיקרו -בקר הוא המוח של הפרויקט הזה. חיישן צליל מחובר לבקר המיקרו, החיישן שולח נתונים אנלוגיים כאשר קול מזוהה. המיקרו -בקר מתוכנת לזהות הבדלים גדולים בצליל. כאשר מתגלה הבדל מספיק גבוה, כלומר מחיאת כף, המיקרו -בקר שולח אות לממסר. הממסר מתג והאור נדלק. כאשר מוחאים כפיים פעם נוספת, האור יכבה שוב.

אספקה

דברים פיזיים:

  • 1x ATmega328P Mini Xplained Mini עם כבל לתכנות
  • מודול ממסר 1x 5v ערוץ אחד (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". תן לפרויקט שלך שם ומיקום לאחסון. לחץ על "אישור".
  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 ADCchannel); val1 כפול, val2; int main (void) {// אתחל את 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); // קרא את הערך הבא en store ב- val2 val2 = ReadADC (0); char str [10]; // ReadADC () מחזיר את הערך במספרים שלמים. אם ברצוננו לאתר באגים או לראות את הערך על מרק, // יש להמיר את הערך לתווים כדי שה- USART יוכל להדפיס אותו. itoa (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); // הגדר את מכשיר ההגדרות מראש ל- 128 והפעל ADC ADCSRA | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// בחר ערוץ ADC עם מסכת בטיחות ADMUX = (ADMUX & 0xF0) | (ADCchannel & 0x0F); // מצב המרה יחיד ADCSRA | = (1 << ADSC); // המתן עד להמרת ADC תוך כדי (ADCSRA & (1 << ADSC)); החזר ADC; }

שלב 4: הוספת USART

הוספת USART
הוספת USART

USART הוא פרוטוקול תקשורת סדרתי שניתן להשתמש בו על המיקרו -בקר. אני משתמש בו על המיקרו -בקר כדי לראות נתונים אנלוגיים מהחיישן.

ה- USART כבר מתוכנת כהלכה, ומכיל קובץ כותרת (.h) ומקור (.c). הורד את 2 הקבצים והוסף אותם לתוכנית שלך ב- AtmelStudio.

לחץ לחיצה ימנית על שם הפרויקט בסייר הפתרונות. לחץ על "הוסף" -> "פריט קיים …" ובחר את 2 הקבצים שהורדו.

שלב 5: הפעלת הקוד

הפעלת הקוד
הפעלת הקוד
הפעלת הקוד
הפעלת הקוד

חבר את המיקרו -בקר למחשב. חפש במחשב שלך את "מנהל ההתקנים" ופתח אותו. חפש "יציאות (COM & LPT)" וזכור את יציאת ה- COM שבה נמצא המיקרו-בקר.

פתח את PuTTY ולחץ על "סידורי" הקלד את יציאת ה- COM שמצאת של המיקרו-בקר ולחץ על "פתח". מסוף צץ, עזוב אותו לעת עתה.

חזור אל AtmelStudio כדי לבחור את הכלי המתאים לתכנות הבקר.

  1. לחץ על כלי הפטיש.
  2. בחר באגים/מתכנתים "mEDBG*ATML".
  3. בחר בממשק "debugWIRE".
  4. לחץ על "התחל ללא איתור באגים".

התוכנית תבנה ותכתוב.

כאשר התוכנית פועלת כראוי תראה ערכים שלמים ב- puTTY. בעזרת מברג אני יכול לשנות את הערך הנראה ב- puTTY על ידי סיבוב הבורג על החיישן. החיישן שלי נותן את הערכים בין 0 ל -1000 בעת סיבוב הבורג עד הסוף. אני מסובב את הבורג ל -100 (10%) מהערך הכולל. גיליתי שזה עובד בשבילי.

שלב 6: שנה רגישות

כדי להתאים את הרגישות כאשר האור נדלק אתה יכול להשתמש בשתי אפשרויות, אך בחר אחת ולא את שתיהן:

  1. שנה בורג חיישן;
  2. שנה את ערך הקוד.

אני משתמש באופציה 2. הגדלת MINIMALVALUE תגרום לו להיות פחות רגיש, ירידה הופכת אותו לרגיש יותר.

#הגדר MINIMALVALUE 5

שלב 7: החלף כל מה שאתה אוהב

החלף כל דבר שאתה אוהב!
החלף כל דבר שאתה אוהב!
החלף כל דבר שאתה אוהב!
החלף כל דבר שאתה אוהב!

אזהרה: היזהר בעת החלפת מתח גבוה יותר

כאשר אתה מרוצה מהרגישות של החיישן אתה יכול לשנות את המעגל. שנה את המעגל כמו התמונה למעלה. עכשיו אתה יכול להחליף כל דבר שאתה אוהב!

מוּמלָץ: