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

מערכת הכרזת אסימונים: 5 שלבים
מערכת הכרזת אסימונים: 5 שלבים

וִידֵאוֹ: מערכת הכרזת אסימונים: 5 שלבים

וִידֵאוֹ: מערכת הכרזת אסימונים: 5 שלבים
וִידֵאוֹ: סרטון מדהים ומרגש עם מסר חזק במיוחד 2024, יולי
Anonim
מערכת הכרזת אסימונים
מערכת הכרזת אסימונים

במדריך הקודם ראינו כיצד לגרום לארדואינו לדבר. היום נלמד קצת יותר על אותו נושא. כולנו בטח נתקלנו בשלב מסוים בחיים במערכת הכרזות אולי בבנק או בתחנת רכבת. האם תהית אי פעם כיצד מערכות ההכרזה האלה פועלות? ובכן, הם עובדים על העיקרון הדומה לפרויקט האחרון שלנו. אז היום במדריך זה נכין מערכת הכרזת אסימונים המסוגלת להכריז על אסימונים מ -1 עד 999 כלומר סך של 999 אסימונים (1000 אם אתה כולל 0). אז בואו נעבור לתהליך הבנייה !!!

שלב 1: אסוף את החומרים המתכלים

אסוף את החומרים המתכלים
אסוף את החומרים המתכלים
אסוף את החומרים המתכלים
אסוף את החומרים המתכלים
אסוף את החומרים המתכלים
אסוף את החומרים המתכלים

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

בואו נסתכל על המודולים הדרושים לנו לפרויקט הזה -

1. לוח Arduino Uno

2. לוח מקשים מטריקס 4 * 4

3. מודול כרטיס SD

4. שקע שמע 3.5 מ מ

5. רמקול עם מגבר מובנה וכבל AUX

6. כמה חוטי כותרת

רוב המרכיבים הללו שימשו בפרויקטים הקודמים שלנו.

שלב 2: תרשים מעגלים

תרשים מעגלים
תרשים מעגלים

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

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

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

עקוב אחר התרשים כדי לבצע את שאר החיבורים.

שלב 3: הכנת קבצי האודיו

הכנת קבצי האודיו
הכנת קבצי האודיו
הכנת קבצי האודיו
הכנת קבצי האודיו

כעת עליך לזכור זאת כי בעת שימוש במודול כרטיס ה- SD ובספריית TMRpcm תוכל להשתמש רק בפורמט השמע.wav. שום פורמט שמע אחר לא יעבוד.

אז כדי להמיר את קבצי השמע המוקלטים שלך או את הקבצים שאתה מתכוון להתקין על כרטיס ה- SD, עליך להשתמש בממיר השמע המקוון הזה >> לחץ כאן

שמור על הגדרות ההמרה כפי שמוצג בתמונה למעלה.

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

לחץ כאן לביקור באתר

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

שלב 4: קידוד

סִמוּל
סִמוּל

הורד את קובץ ה-ino מלמטה. הידור והעלה את התוכנית ללוח ה- Arduino שלך. אם אתה נתקל בבעיה בהעלאת הקוד, אל תהסס לפנות אלי או להשאיר תגובה למטה. אשמח לעזור לך.

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; שורות const byte = 4; // ארבע שורות const byte COLS = 4; // ארבע עמודות מפתחות char [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; בתים rowPins [ROWS] = {A0, A1, A2, A3}; // התחבר לשורות החריפות של בייט המקשים colPins [COLS] = {9, 8, 7, 6}; // התחבר לסיבוכי העמודות של לוח המקשים לוח מקשים = לוח מקשים (makeKeymap (מקשים), rowPins, colPins, ROWS, COLS); הגדרת חלל () {tmrpcm.speakerPin = 10; Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD נכשל"); לַחֲזוֹר; } /* tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); // משמש לבדיקה (אל תכלול בקוד הסופי) עיכוב (1000);*/} לולאת חלל () {Serial.println ("הזן מספר תלת ספרתי -"); עבור (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {delay (1); // רק המתן למפתח} // המתן עד שהמפתח ישוחרר בעוד (keypad.getKey ()! = NO_KEY) {delay (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("אסימון נשלח"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); עיכוב (2000); חשבון(); } if (myNum [3] == 'B') {Serial.println ("אסימון לא נשלח"); i = 0; } if (myNum [3] == '*') {Serial.println ("שולחן כתיבה"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("סגירה"); tmrpcm.setVolume (5); tmrpcm.play ("hash.wav"); i = 0; } if (myNum [3] == 'D') {Serial.println ("משנה"); tmrpcm.setVolume (5); tmrpcm.play ("D.wav"); i = 0; }} בדיקת חלל () {עבור (int c = 0; c <3; c ++) {if (myNum [c] == '0') {tmrpcm.setVolume (5); tmrpcm.play ("zero.wav"); עיכוב (1000); } if (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); עיכוב (1000); } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("two.wav"); עיכוב (1000); } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); עיכוב (1000); } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); עיכוב (1000); } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("five.wav"); עיכוב (1000); } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); עיכוב (1000); } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("seven.wav"); עיכוב (1000); } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("eight.wav"); עיכוב (1000); } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("nine.wav"); עיכוב (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }

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

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

עבודת הפרויקט
עבודת הפרויקט

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

אז אני רוצה שתוסיפו lcd (כל אחד יעשה) בפרויקט הזה ותשלחו לי קישור של הפרויקט.

ניתן להשתמש בפרויקט זה במשרדיכם בדלפק הקבלה אם יש לכם הרבה אנשים שמבקרים מדי יום.

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

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

מוּמלָץ: