mbed Demo Display that shows several of the features
Dependencies: MSCUsbHost mbed Servo SRF08
main.cpp@0:aef73ca5c41c, 2010-09-20 (annotated)
- Committer:
- demo
- Date:
- Mon Sep 20 21:14:34 2010 +0000
- Revision:
- 0:aef73ca5c41c
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
demo | 0:aef73ca5c41c | 1 | #include "mbed.h" |
demo | 0:aef73ca5c41c | 2 | #include "SRF08.h" |
demo | 0:aef73ca5c41c | 3 | #include "Servo.h" |
demo | 0:aef73ca5c41c | 4 | #include "ID12RFID.h" |
demo | 0:aef73ca5c41c | 5 | |
demo | 0:aef73ca5c41c | 6 | DigitalOut led1(LED1); |
demo | 0:aef73ca5c41c | 7 | DigitalOut led2(LED2); |
demo | 0:aef73ca5c41c | 8 | PwmOut led3(LED3); |
demo | 0:aef73ca5c41c | 9 | |
demo | 0:aef73ca5c41c | 10 | SRF08 srf08(p28, p27, 0xE0); // Define SDA, SCL pin and I2C address |
demo | 0:aef73ca5c41c | 11 | PwmOut meter (p22); |
demo | 0:aef73ca5c41c | 12 | Servo servo (p21); |
demo | 0:aef73ca5c41c | 13 | AnalogIn pot (p18); |
demo | 0:aef73ca5c41c | 14 | ID12RFID rfid (p10); |
demo | 0:aef73ca5c41c | 15 | AnalogIn th (p19); |
demo | 0:aef73ca5c41c | 16 | LocalFileSystem fs ("fs"); |
demo | 0:aef73ca5c41c | 17 | |
demo | 0:aef73ca5c41c | 18 | int main() { |
demo | 0:aef73ca5c41c | 19 | |
demo | 0:aef73ca5c41c | 20 | FILE *fp = fopen("/fs/hello.txt","w"); |
demo | 0:aef73ca5c41c | 21 | fprintf(fp,"Hello World!\n"); |
demo | 0:aef73ca5c41c | 22 | fclose(fp); |
demo | 0:aef73ca5c41c | 23 | |
demo | 0:aef73ca5c41c | 24 | while (1) { |
demo | 0:aef73ca5c41c | 25 | |
demo | 0:aef73ca5c41c | 26 | // Check to see if an RFID tag has been presented, if so, display it |
demo | 0:aef73ca5c41c | 27 | if (rfid.readable()) { |
demo | 0:aef73ca5c41c | 28 | printf("ID Tag : %d\n",rfid.read()); |
demo | 0:aef73ca5c41c | 29 | led1 = !led1; |
demo | 0:aef73ca5c41c | 30 | } |
demo | 0:aef73ca5c41c | 31 | |
demo | 0:aef73ca5c41c | 32 | // If the middle pot is more than half way |
demo | 0:aef73ca5c41c | 33 | // read and display from the Ultrasonic range finder |
demo | 0:aef73ca5c41c | 34 | if (th.read() > 0.5) { |
demo | 0:aef73ca5c41c | 35 | float measure = srf08.read(); |
demo | 0:aef73ca5c41c | 36 | printf("Measured range : %.2f cm\n",measure); |
demo | 0:aef73ca5c41c | 37 | meter = 1.0 - (measure/44.0); |
demo | 0:aef73ca5c41c | 38 | led2 = !led2; |
demo | 0:aef73ca5c41c | 39 | } |
demo | 0:aef73ca5c41c | 40 | |
demo | 0:aef73ca5c41c | 41 | // Move the servo to reflect the pot |
demo | 0:aef73ca5c41c | 42 | servo = pot.read(); |
demo | 0:aef73ca5c41c | 43 | led3.write(pot.read()); |
demo | 0:aef73ca5c41c | 44 | wait(0.1); |
demo | 0:aef73ca5c41c | 45 | } |
demo | 0:aef73ca5c41c | 46 | } |