Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- תוכנית זו מדמה פעולת חיישן רוורס ברכב
- התוכנית משתמשת בחיישן מדידת מרחק אולטראסוני ובזמזם
- התוכנית מודדת מרחק מעצם שלפני החיישן
- אם המרחק מעל מטר אחד אז הזמזם שקט
- אם המרחק קטן ממטר אחד הזמזם מתחיל להשמיע קול במרווחי זמן בהתאם למרחק
- ככל שהמרחק קטן מרווחי הזמן בין הקולות קטן
- */
- #define trigPin 4
- #define echoPin 5
- #define buzPin 9
- long distance, duration;
- void setup() {
- Serial.begin(9600);
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- pinMode(buzPin, OUTPUT);
- Serial.println("*************** S T A R T ***********************************");
- }
- void loop() {
- // יצירת פולס קול אולטראסוני
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- // המתנה על לשמיעת ההד המוחזר מהעצם בו פגעו גלי הקול
- duration = pulseIn(echoPin, HIGH);
- // חישוב המרחק ביחידות של סנטימטר
- distance = duration / 59 / 2;
- if (distance > 100) {
- // אם המרחק גדול ממטר אחד המערכת מדפיסה ערך למסך והזמזם שקט
- Serial.println("distance [cm]=" + String(distance));
- }
- else {
- //אם המרחק קטן ממטר אחד המערכת מדפיסה ערך למסך
- Serial.println("distance [cm]=" + String(distance));
- // מחשבים משך השהייה בין זמזומים על ידי הכפלת המרחק ב-10
- int dly = distance * 10;
- // השמעת זימזום בתדר קבוע למשך מאתיים מילישניות
- tone(buzPin, 4000);
- delay(200);
- // השתקת הזמזם למשך הזמן המחושב
- noTone(buzPin);
- delay(dly);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement