Use this repository for pilot an ultrasonic sensor
Fork of UltrasonicSensor by
UltrasonicSensor.h@0:8ca9f71b386d, 2018-01-15 (annotated)
- Committer:
- danky02
- Date:
- Mon Jan 15 20:35:11 2018 +0000
- Revision:
- 0:8ca9f71b386d
- Child:
- 1:9d56714c1119
prova
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
danky02 | 0:8ca9f71b386d | 1 | /* |
danky02 | 0:8ca9f71b386d | 2 | UltrasonicSensor.h - drive a distance sensor- Version 1.0.0 |
danky02 | 0:8ca9f71b386d | 3 | Copyright (c) 2018 Daniele Briguglio. All right reserved. |
danky02 | 0:8ca9f71b386d | 4 | |
danky02 | 0:8ca9f71b386d | 5 | This library is free software; you can redistribute it and/or |
danky02 | 0:8ca9f71b386d | 6 | modify it under the terms of the GNU Lesser General Public |
danky02 | 0:8ca9f71b386d | 7 | License as published by the Free Software Foundation; either |
danky02 | 0:8ca9f71b386d | 8 | version 2.1 of the License, or (at your option) any later version. |
danky02 | 0:8ca9f71b386d | 9 | */ |
danky02 | 0:8ca9f71b386d | 10 | |
danky02 | 0:8ca9f71b386d | 11 | /* |
danky02 | 0:8ca9f71b386d | 12 | The methods are: |
danky02 | 0:8ca9f71b386d | 13 | |
danky02 | 0:8ca9f71b386d | 14 | UltrasonicSensor - Class for manipulating Ultrasonic Sensor |
danky02 | 0:8ca9f71b386d | 15 | |
danky02 | 0:8ca9f71b386d | 16 | attach(echo, trigger) - Attaches a Ultrasonic Sensor to an i/o pin, |
danky02 | 0:8ca9f71b386d | 17 | default pins are D9 for echo and D8 for trigger. |
danky02 | 0:8ca9f71b386d | 18 | |
danky02 | 0:8ca9f71b386d | 19 | read() - Read distance measured by the sensor. |
danky02 | 0:8ca9f71b386d | 20 | */ |
danky02 | 0:8ca9f71b386d | 21 | |
danky02 | 0:8ca9f71b386d | 22 | #ifndef UltrasonicSensor_h |
danky02 | 0:8ca9f71b386d | 23 | #define UltrasonicSensor_h |
danky02 | 0:8ca9f71b386d | 24 | |
danky02 | 0:8ca9f71b386d | 25 | #include <mbed.h> |
danky02 | 0:8ca9f71b386d | 26 | |
danky02 | 0:8ca9f71b386d | 27 | namespace mbed { |
danky02 | 0:8ca9f71b386d | 28 | |
danky02 | 0:8ca9f71b386d | 29 | class UltrasonicSensor { |
danky02 | 0:8ca9f71b386d | 30 | |
danky02 | 0:8ca9f71b386d | 31 | public: |
danky02 | 0:8ca9f71b386d | 32 | /** Create a UltrasonicSensor connection to the specified pin |
danky02 | 0:8ca9f71b386d | 33 | * |
danky02 | 0:8ca9f71b386d | 34 | * @param pin echo pin to connect to |
danky02 | 0:8ca9f71b386d | 35 | * @param pin trigger pin to connect to |
danky02 | 0:8ca9f71b386d | 36 | */ |
danky02 | 0:8ca9f71b386d | 37 | UltrasonicSensor(PinName echo, PinName trigger); |
danky02 | 0:8ca9f71b386d | 38 | |
danky02 | 0:8ca9f71b386d | 39 | /** begin of reading |
danky02 | 0:8ca9f71b386d | 40 | * |
danky02 | 0:8ca9f71b386d | 41 | * @param float set correction for the reader |
danky02 | 0:8ca9f71b386d | 42 | */ |
danky02 | 0:8ca9f71b386d | 43 | void begin(float correction); |
danky02 | 0:8ca9f71b386d | 44 | void begin(void); |
danky02 | 0:8ca9f71b386d | 45 | |
danky02 | 0:8ca9f71b386d | 46 | /** Return the reader |
danky02 | 0:8ca9f71b386d | 47 | * |
danky02 | 0:8ca9f71b386d | 48 | * @returns float read the distance |
danky02 | 0:8ca9f71b386d | 49 | */ |
danky02 | 0:8ca9f71b386d | 50 | float read(void); |
danky02 | 0:8ca9f71b386d | 51 | |
danky02 | 0:8ca9f71b386d | 52 | protected: |
danky02 | 0:8ca9f71b386d | 53 | void begin2(void); |
danky02 | 0:8ca9f71b386d | 54 | DigitalOut _trigger; |
danky02 | 0:8ca9f71b386d | 55 | DigitalIn _echo; |
danky02 | 0:8ca9f71b386d | 56 | int distance; |
danky02 | 0:8ca9f71b386d | 57 | int corr; |
danky02 | 0:8ca9f71b386d | 58 | Timer sonar; |
danky02 | 0:8ca9f71b386d | 59 | }; |
danky02 | 0:8ca9f71b386d | 60 | } |
danky02 | 0:8ca9f71b386d | 61 | |
danky02 | 0:8ca9f71b386d | 62 | #endif |