This program demonstrates how to use ultrasonic sensor and how to display measured distance on both 16x2 LCD and seven segment display.

Dependencies:   HCSR04 SevenSegmentDisplay TextLCD mbed

main.cpp

Committer:
triple
Date:
2014-08-22
Revision:
0:153f3254e133

File content as of revision 0:153f3254e133:

/*******************************************************************************
* This program demonstrates how to use ultrasonic sensor HCSR04 and  how       *
* to display measured distance on both 16x2 LCD and seven segment display      *                                                                           *
*******************************************************************************/
#include "mbed.h"
#include "hcsr04.h"
#include "TextLCD.h"
#include "SevenSegmentDisplay.h"

// Options to instantiate SevenSegmentDisplay are...
// FADE: causes the number changes to fade in smoothly
// INSTANT: causes the an instant number change
// + FLASH: causes the display to flash
SevenSegmentDisplay segmentled( FADE );
// p1_27, p1_26
HCSR04  usensor(p9,p10);// trigger, echo
// p0_9, p0_8, p1_29, p1_22, p1_21, p1_20
TextLCD lcd(p11, p12, p15, p16, p17, p18, TextLCD::LCD16x2); // rs, e, d4-d7

unsigned int dist;
int main()
{       
    while(1) {
        usensor.start();
        wait_ms(500); 
        dist=usensor.get_dist_cm();
        lcd.cls();
        lcd.locate(0,0);
        lcd.printf("cm:%ld",dist );
        if(dist<100){
            segmentled.DisplayInt(dist);
        }
        else {
            segmentled.DisplayInt(99);
        }
    }
}