HC-SR04: הכל על חיישן קולי

חיישן HC-SR04

לפעמים זה הכרחי מדוד מרחקים ולשם כך עומדים לרשותך כמה חיישנים. כבר הקדשנו מאמר לדבר על א חיישן מרחק דיוק גבוה כגון VL52L0X. חיישן זה היה מסוג ToF והתבסס על מדידות מדויקות מאוד בזכות הלייזר שלו. אבל אם הדיוק לא כל כך חשוב לך ואתה רוצה משהו שמאפשר לך למדוד מרחקים במחיר נמוך, אפשרות נוספת לכך יש לך בקצות האצבעות שלך הוא ה- HC-SR04.

במקרה של חיישן מרחק HC-SR04, המרחק נמדד על ידי אולטרסאונד. המערכת דומה לשיטה האופטית של ה- VL52L0X. כלומר, זה נפלט, יש הקפצה והוא מתקבל, אבל במקרה זה במקום להיות לייזר או IR, זה אולטרסאונד. אם אתה מתלהב מאלקטרוניקה, רובוטיקה או יצרנית חובבים, אתה יכול להשתמש בה למספר רב של פרויקטים של עשה זאת בעצמך, כגון מערכות גילוי מכשולים לרובוטים, חיישני נוכחות וכו '.

מהו HC-SR04?

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

המראה של HC-SR04 הוא מאוד מובחן וניתן לזיהוי בקלות. בנוסף, זהו פריט פופולרי מאוד בערכות המתנע של Arduino ונחוץ למספר רב של פרויקטים. ניתן לזהות אותו בקלות מכיוון שיש לו שתי "עיניים" שהן למעשה מכשירי האולטרסאונד שמשולבים במודול זה. אחד מהם הוא פולט אולטרסאונד והשני מקלט. זה עובד בתדירות של 40 Khz, ולכן זה לא נשמע לבני אדם.

עקרונות החיישן הקולי

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

ESP8266
Artaculo relacionado:
ESP8266: מודול ה- WIFI לארדואינו

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

על ידי ספירת הזמן מרגע שליחת הדופק ועד קבלת התגובה, ניתן לקבוע במדויק את הזמן ולכן המרחק. זכור את זה [רווח = זמן מהירות] אך במקרה של HC-SR04, עליך לחלק את הכמות הזו ב- / 2, מכיוון שהזמן נמדד ממועד צאת האולטרסאונד ועובר בחלל עד שהוא פוגע במכשול ובדרך חזרה, כך שזה יהיה בערך חצי מזה ...

Pinout וגיליונות נתונים

אתה כבר יודע שכדי לראות את הנתונים המלאים של המודל שרכשת, הדבר הטוב ביותר הוא מצא את גליון הנתונים בטון היצרן. לדוגמא, הנה א גליון נתונים של Sparkfun, אך ישנם הרבה יותר זמינים ב- PDF. עם זאת, הנה הנתונים הטכניים החשובים ביותר של HC-SR04:

  • Pinout: 4 פינים להספק (Vcc), טריגר (טריגר), מקלט (הד) ואדמה (GND). הטריגר מציין מתי יש להפעיל את החיישן (כאשר האולטרסאונד מופעל), וכך ניתן יהיה לדעת את הזמן שעבר כאשר המקלט מקבל את האות.
  • האכלה: 5v
  • תדירות אולטרסאונד: 40 קילו-הרץ, האוזן האנושית יכולה לשמוע רק מ -20 הרץ עד 20 קילו-הרץ. כל מה שמתחת ל -20 הרץ (אינפרסאונד) ומעל 20 קילו-הרץ (אולטרסאונד) לא יהיה מורגש.
  • צריכה (המתנה): <2mA
  • צריכת עבודה: 15mA
  • זווית יעילה: <15 º, תלוי בזוויות האובייקטים יתכן שתשיגו תוצאות טובות או גרועות יותר.
  • מרחק נמדד: מ -2 ס"מ ל -400 ס"מ, אם כי מ -250 ס"מ הרזולוציה לא תהיה טובה במיוחד.
  • רזולוציה בינונית: וריאציה של 0.3 ס"מ בין המרחק בפועל למדידה, ולכן למרות שהם לא נחשבים מדויקים מאוד כמו לייזר, המדידות מקובלות למדי עבור רוב היישומים.
  • מחיר: מכ- 0,65 €

שילוב עם ארדואינו

HC-SR04 עם ארדואינו

כדי חיבורו לארדואינו לא יכול להיות קל יותר. אתה רק צריך להיות אחראי על חיבור GND ליציאה המקבילה של Arduino שלך המסומנת ככזו, Vcc עם ספק הכוח 5v Arduino ושני הפינים האחרים של HC-SR04 עם הכניסות / הפלטים שנבחרו עבור הפרויקט שלך. אתה יכול לראות שזה פשוט בתכנית ה- Fritzing העליונה ...

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

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

 מידע נוסף על תכנות: מדריך Arduino (PDF בחינם)

לדוגמה, אתה יכול לראות זאת קוד בסיסי לשימוש כבסיס:

//Define las constantes para los pines donde hayas conectado el pin Echo y Trigger
const int EchoPin = 8;
const int TriggerPin = 9;
 
void setup() {
   Serial.begin(9600);
   pinMode(TriggerPin, OUTPUT);
   pinMode(EchoPin, INPUT);
}

//Aquí la muestra de las mediciones
void loop() {
   int cm = ping(TriggerPin, EchoPin);
   Serial.print("Distancia medida: ");
   Serial.println(cm);
   delay(1000);
}

//Cálculo para la distancia
int ping(int TriggerPin, int EchoPin) {
   long duration, distanceCm;
   
   digitalWrite(TriggerPin, LOW);  //para generar un pulso limpio ponemos a LOW 4us
   delayMicroseconds(4);
   digitalWrite(TriggerPin, HIGH);  //generamos Trigger (disparo) de 10us
   delayMicroseconds(10);
   digitalWrite(TriggerPin, LOW);
   
   duration = pulseIn(EchoPin, HIGH);  //medimos el tiempo entre pulsos, en microsegundos
   
   distanceCm = duration * 10 / 292/ 2;   //convertimos a distancia, en cm
   return distanceCm;
}


תגובה, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   חוסה דיג'ו

    מצאתי שההסבר מאוד שימושי ופשוט.