Created libraries2

Dependencies:   mbed ultrasonic

Committer:
VegardMidt
Date:
Thu Apr 16 10:50:23 2015 +0000
Revision:
5:b2df25183cb1
Parent:
4:ae7f8a25c748
Child:
6:0d4008544238
Klarer n? ? finne avstand

Who changed what in which revision?

UserRevisionLine numberNew contents of line
VegardMidt 0:017111c9207d 1 #include "mbed.h"
VegardMidt 0:017111c9207d 2 #include "ultrasonic.h"
hebryn 1:21587a66f911 3
VegardMidt 4:ae7f8a25c748 4 PwmOut TX1(D9); // Use pin D9
VegardMidt 4:ae7f8a25c748 5 DigitalOut TX2(D8); // Use pin D8
VegardMidt 4:ae7f8a25c748 6 DigitalOut HVoff(D6); // Use pin D6
VegardMidt 4:ae7f8a25c748 7 InterruptIn signal(D7); // Use pin D7
VegardMidt 4:ae7f8a25c748 8 //DigitalOut tresh(D7);
VegardMidt 4:ae7f8a25c748 9 Timeout to1;
hebryn 3:b6f543e4508a 10 Timer t1;
hebryn 3:b6f543e4508a 11 Serial pc(SERIAL_TX, SERIAL_RX);
hebryn 1:21587a66f911 12
VegardMidt 4:ae7f8a25c748 13 void TX1_send(){
VegardMidt 4:ae7f8a25c748 14 HVoff = 0;
VegardMidt 4:ae7f8a25c748 15 //tresh = 1;
VegardMidt 4:ae7f8a25c748 16 TX1.period(0.0000252); // Set the period of TX1 to 25.2us (39,682kHz)
VegardMidt 4:ae7f8a25c748 17 TX1.pulsewidth(0.0000116); // Set the pulsewidth of TX1 to 11.6us (ON)
VegardMidt 4:ae7f8a25c748 18 wait(0.0002016); // Waits 201.6us
VegardMidt 4:ae7f8a25c748 19 TX1 = 0;
VegardMidt 4:ae7f8a25c748 20 //tresh =0;
VegardMidt 5:b2df25183cb1 21 t1.reset();
VegardMidt 5:b2df25183cb1 22
VegardMidt 4:ae7f8a25c748 23 HVoff = 1;
VegardMidt 4:ae7f8a25c748 24 //pc.printf("It writes TX1\r\n");
VegardMidt 5:b2df25183cb1 25 to1.attach(TX1_send,0.1); // Sends for 1000us
VegardMidt 5:b2df25183cb1 26 //wait_ms(86); // Waits 86ms. Total 100ms
hebryn 3:b6f543e4508a 27 }
hebryn 3:b6f543e4508a 28
VegardMidt 4:ae7f8a25c748 29
VegardMidt 4:ae7f8a25c748 30 void signal_reciev(){
VegardMidt 4:ae7f8a25c748 31
VegardMidt 5:b2df25183cb1 32 float time = t1.read();
VegardMidt 5:b2df25183cb1 33 float cm = 0;
VegardMidt 5:b2df25183cb1 34
VegardMidt 5:b2df25183cb1 35 if (time<0.006 && time>0.0007){
VegardMidt 4:ae7f8a25c748 36
VegardMidt 5:b2df25183cb1 37 cm = 34613*time/2; // Calculate distance
VegardMidt 5:b2df25183cb1 38
VegardMidt 5:b2df25183cb1 39 pc.printf("%f\r\n", cm); // Prints distance
VegardMidt 5:b2df25183cb1 40 }
hebryn 3:b6f543e4508a 41 }
VegardMidt 4:ae7f8a25c748 42
hebryn 1:21587a66f911 43 int main() {
VegardMidt 5:b2df25183cb1 44
VegardMidt 5:b2df25183cb1 45 t1.start();
VegardMidt 5:b2df25183cb1 46 signal.fall(&signal_reciev);
VegardMidt 4:ae7f8a25c748 47 TX2 = 1;
VegardMidt 5:b2df25183cb1 48 TX1_send();
VegardMidt 4:ae7f8a25c748 49 while(1);
VegardMidt 4:ae7f8a25c748 50 }