
Example for my HC-SR04 Ultrasonic Sensor library.
Dependencies: C12832 HCSR04 mbed
Fork of Utrasonic_Example by
main.cpp@3:a7677858ce0b, 2017-12-04 (annotated)
- Committer:
- reesey
- Date:
- Mon Dec 04 04:36:18 2017 +0000
- Revision:
- 3:a7677858ce0b
- Parent:
- 0:bb6f81d15af7
Written by Leong Kum Loong.; 04 Dec 2017, REV. 0; ; When HCSR04.h reference is included, DO NOT declare pin p21 & p22 as it is used by my library.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
reesey | 0:bb6f81d15af7 | 1 | #include "mbed.h" |
reesey | 0:bb6f81d15af7 | 2 | #include "C12832.h" |
reesey | 0:bb6f81d15af7 | 3 | #include "HCSR04.h" |
reesey | 0:bb6f81d15af7 | 4 | /* |
reesey | 0:bb6f81d15af7 | 5 | Written by Leong Kum Loong. |
reesey | 0:bb6f81d15af7 | 6 | 04 Dec 2017, REV. 0 |
reesey | 0:bb6f81d15af7 | 7 | |
reesey | 0:bb6f81d15af7 | 8 | When HCSR04.h reference is included, DO NOT declare pin p21 & p22 as it is used by my library. |
reesey | 0:bb6f81d15af7 | 9 | */ |
reesey | 0:bb6f81d15af7 | 10 | |
reesey | 0:bb6f81d15af7 | 11 | C12832 lcd(p5, p7, p6, p8, p11); |
reesey | 0:bb6f81d15af7 | 12 | DigitalOut led(LED1); |
reesey | 0:bb6f81d15af7 | 13 | InterruptIn joyCtr(p14); |
reesey | 0:bb6f81d15af7 | 14 | |
reesey | 0:bb6f81d15af7 | 15 | int unit = 1; |
reesey | 0:bb6f81d15af7 | 16 | char str[] = "Distance: %.2f cm "; |
reesey | 0:bb6f81d15af7 | 17 | |
reesey | 0:bb6f81d15af7 | 18 | void config() { |
reesey | 0:bb6f81d15af7 | 19 | if(unit == 1){ |
reesey | 0:bb6f81d15af7 | 20 | unit = 2; |
reesey | 0:bb6f81d15af7 | 21 | strcpy(str, "Distance: %.3f inch "); |
reesey | 0:bb6f81d15af7 | 22 | } else { |
reesey | 0:bb6f81d15af7 | 23 | unit = 1; |
reesey | 0:bb6f81d15af7 | 24 | strcpy(str, "Distance: %.2f cm "); |
reesey | 0:bb6f81d15af7 | 25 | } |
reesey | 0:bb6f81d15af7 | 26 | getDistance(unit); //Unit 1 for CM & 2 for INCH |
reesey | 0:bb6f81d15af7 | 27 | } |
reesey | 0:bb6f81d15af7 | 28 | |
reesey | 0:bb6f81d15af7 | 29 | int main() { |
reesey | 0:bb6f81d15af7 | 30 | joyCtr.rise(config); |
reesey | 0:bb6f81d15af7 | 31 | getDistance(); //Start retrieving distance. |
reesey | 0:bb6f81d15af7 | 32 | lcd.cls(); |
reesey | 3:a7677858ce0b | 33 | |
reesey | 0:bb6f81d15af7 | 34 | while(1) { |
reesey | 0:bb6f81d15af7 | 35 | lcd.locate(0,1); |
reesey | 0:bb6f81d15af7 | 36 | lcd.printf(str, readDistance()); //Read retrieved distance. |
reesey | 0:bb6f81d15af7 | 37 | |
reesey | 0:bb6f81d15af7 | 38 | led = !led; |
reesey | 0:bb6f81d15af7 | 39 | wait_ms(100); //**** Wait function will cause delay to the ultrasonic sensor next read cycle. |
reesey | 0:bb6f81d15af7 | 40 | } |
reesey | 0:bb6f81d15af7 | 41 | } |