Code to run 2x HC-SR04 Ultrasonic sensors

Dependencies:   mbed HC_SR04_Ultrasonic_Library

Committer:
rwhite3
Date:
Mon Feb 17 12:03:20 2020 +0000
Revision:
25:2e7a847a4432
Parent:
24:7f14b70fc9ef
2_Sensor_Ultrasonic

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dan 0:7dec7e9ac085 1 #include "mbed.h"
rwhite3 25:2e7a847a4432 2 #include "ultrasonic.h"
dan 0:7dec7e9ac085 3
rwhite3 25:2e7a847a4432 4 DigitalOut RED(LED1);
rwhite3 25:2e7a847a4432 5 DigitalOut GREEN(LED2);
rwhite3 25:2e7a847a4432 6 DigitalOut BLUE(LED3);
rwhite3 25:2e7a847a4432 7
rwhite3 25:2e7a847a4432 8 void dist1(int distance1_mm)
dan 0:7dec7e9ac085 9
rwhite3 25:2e7a847a4432 10 {
rwhite3 25:2e7a847a4432 11 RED=1;
rwhite3 25:2e7a847a4432 12 GREEN=1;
rwhite3 25:2e7a847a4432 13 BLUE=1;
rwhite3 25:2e7a847a4432 14 //put code here to happen when the distance is changed
rwhite3 25:2e7a847a4432 15 int dis1_cm;
rwhite3 25:2e7a847a4432 16 dis1_cm=distance1_mm/10;
rwhite3 25:2e7a847a4432 17 printf("Distance of left sensor is %dcm\r\n", dis1_cm);
rwhite3 25:2e7a847a4432 18 if (dis1_cm<100) {
rwhite3 25:2e7a847a4432 19 RED=0;
rwhite3 25:2e7a847a4432 20 } else (RED=1);
rwhite3 25:2e7a847a4432 21 }
rwhite3 25:2e7a847a4432 22 void dist2(int distance2_mm)
rwhite3 25:2e7a847a4432 23 {
rwhite3 25:2e7a847a4432 24 RED=1;
rwhite3 25:2e7a847a4432 25 GREEN=1;
rwhite3 25:2e7a847a4432 26 BLUE=1;
rwhite3 25:2e7a847a4432 27 int dis2_cm;
rwhite3 25:2e7a847a4432 28 dis2_cm=distance2_mm/10;
rwhite3 25:2e7a847a4432 29 printf("Distance of right sensor is %dcm\r\n", dis2_cm);
rwhite3 25:2e7a847a4432 30 if (dis2_cm<100) {
rwhite3 25:2e7a847a4432 31 GREEN=0;
rwhite3 25:2e7a847a4432 32 } else (GREEN=1);
rwhite3 25:2e7a847a4432 33 }
rwhite3 25:2e7a847a4432 34 ultrasonic mu1(D8, D9, .1, 1, &dist1); //Set the trigger pin to D8 and the echo pin to D9
rwhite3 25:2e7a847a4432 35 ultrasonic mu2(D6, D7, .1, 1, &dist2); //have updates every .1 seconds and a timeout after 1
rwhite3 25:2e7a847a4432 36 //second, and call dist when the distance changes
rwhite3 25:2e7a847a4432 37
rwhite3 25:2e7a847a4432 38 int main()
rwhite3 25:2e7a847a4432 39 {
rwhite3 25:2e7a847a4432 40 mu1.startUpdates(); //start mesuring the distance for each sensor
rwhite3 25:2e7a847a4432 41 mu2.startUpdates();
rwhite3 25:2e7a847a4432 42
dan 0:7dec7e9ac085 43 while(1) {
rwhite3 25:2e7a847a4432 44
rwhite3 25:2e7a847a4432 45 mu1.checkDistance(); //call checkDistance() as much as possible, as this is where
rwhite3 25:2e7a847a4432 46 mu2.checkDistance(); //the class checks if dist needs to be called.
stevep 4:81cea7a352b0 47 }
dan 0:7dec7e9ac085 48 }
rwhite3 25:2e7a847a4432 49