Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed ultrasonic
main.cpp
- Committer:
- VegardMidt
- Date:
- 2015-04-23
- Revision:
- 13:2169890a1508
- Parent:
- 12:086122072266
- Child:
- 14:10b62201c9de
File content as of revision 13:2169890a1508:
#include "mbed.h"
#include "ultrasonic.h"
PwmOut TX1(D11); // Use pin D11
DigitalOut TX2(D10); // Use pin D10
DigitalOut HVoff(D12); // Use pin D12
InterruptIn signal(D13); // Use pin D13
Timeout to1;
Timer t1;
Serial pc(SERIAL_TX, SERIAL_RX);
float previous = 1;
void TX1_send(){
previous = 1;
HVoff = 0;
TX1.period(0.0000252); // Set the period of TX1 to 25.2us (39,682kHz)
TX1.pulsewidth(0.0000116); // Set the pulsewidth of TX1 to 11.6us (ON)
wait(0.000300); // Waits 201.6us
TX1 = 0;
t1.reset();
HVoff = 1;
to1.attach(TX1_send,0.1); // Sends for 1000us
}
void signal_reciev(){
float _time = t1.read();
if (_time<0.006 && _time>0.000245){ // Reads only between 100cm and 1,7cm
if (t1.read()>previous){
pc.printf("check");
}
else{
previous = _time;
float cm = 0;
cm = 34613*_time/2; // Calculate distance
pc.printf("%f\r\n", cm); // Prints distance
}
}
}
int main() {
t1.start();
signal.fall(&signal_reciev);
TX2 = 1;
TX1_send();
while(1);
}