פירוט שפת תכנות - טיפול מתקדם - ()tone

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

פירוט שפת תכנות - טיפול מתקדם - ()tone

הודעהעל ידי Alex » א' יולי 23, 2017 2:44 pm

פונקציית ()tone מייצרת גל ריבועי (עם מחזור duty cycle של 50%) בתדר שאתם מציינים. אפשר לציין גם את משך הזמן הגל הריבועי יופיע על הקו, אחרת הגל ימשך עד שתקראו לפונקציה ()noTone. אפשר לחבר את הקו שמייצר את הגל הריבועי לזמזם או לרמקול כדי לשמוע את הצלילים הנוצרים.

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

שימו לב: אם אתם רוצים להפעיל ()tone על קו אחר, אתם צריכים לקרוא קודם ל-()noTone על הקו שמנגן עכשיו.

השימוש ב-()tone ישבש את יצירת אות PWM על הקווים 3 ו-11 (על כרטיסים שהם לא Mega).

עבור כרטיסים Uno, Mega, Leonardo ואחרים שמבוססים על מיקרובקר AVR התדר המינימלי שאפשר לייצר הוא 31Hz והתדר המקסימלי הוא 65.535KHz.
עבור כרטיס Zero התדר המינימלי שאפשר לייצר הוא 41Hz והתדר המקסימלי הוא 275KHz.
כרטיסי Due ו-Gemma לא תומכים בפונקציה זו.

תחביר
קוד: בחר הכל
tone(pin, frequency)
tone(pin, frequency, duration)

פרמטרים:
pin - מספר הקו עליו מיוצר גל ריבועי
frequency - תדר ליצירת הגל ב-Hz - פרמטר זה מסוג unsigned int
duration - משך הזמן לניגון הצליל ב-milliSeconds - פרמטר זה מסוג unsigned long

פונקציה זו לא מחזירה ערכים.

ראו גם:
()noTone
()analogWrite
מדריך: שימוש ב-tone - TODO
מדריך: מעקב אחרי גובה צליל - TODO
מדריך: ממקלדת פשוטה - TODO
מדריך: מספר צלילים - TODO
מדריך: PWM - TODO

פירוט שפת תכנות לסביבת Arduino


עמוד זה הוא תרגום של ()tone לפי רישיון Creative Commons Attribution-ShareAlike 3.0.
www.4project.co.il
כל הרכיבים לפרוייקט שלכם
סמל אישי של המשתמש
Alex
מנהל האתר
 
הודעות: 7890
הצטרף: ה' ינואר 28, 2010 8:27 pm

חזור אל תרגום מדריכים מהאתר arduino.cc

Jump box

מי מחובר

משתמשים הגולשים בפורום זה: CCBot [Bot]