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 Watchdog stm32-sensor-base2
main.cpp@5:97117a837d2c, 2020-07-21 (annotated)
- Committer:
- nestedslk
- Date:
- Tue Jul 21 12:18:14 2020 +0000
- Revision:
- 5:97117a837d2c
- Parent:
- 4:f6e22dd39313
- Child:
- 6:a760ce6defbe
ultrasonics working
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ommpy | 0:d383e2dee0f7 | 1 | #include <global.h> |
ommpy | 0:d383e2dee0f7 | 2 | |
nestedslk | 3:96fcb3b041eb | 3 | Serial pc(UART1_TX, UART1_RX); |
nestedslk | 5:97117a837d2c | 4 | //Serial pc(USBTX, USBRX); |
nestedslk | 4:f6e22dd39313 | 5 | Timer timer; |
ommpy | 0:d383e2dee0f7 | 6 | |
nestedslk | 4:f6e22dd39313 | 7 | int main() |
nestedslk | 4:f6e22dd39313 | 8 | { |
nestedslk | 4:f6e22dd39313 | 9 | // |
nestedslk | 4:f6e22dd39313 | 10 | DigitalOut led(DEBUG_LED); |
nestedslk | 4:f6e22dd39313 | 11 | DigitalOut led2(DE_TXD_1, 1); // activate transmitting rs485-1 |
nestedslk | 4:f6e22dd39313 | 12 | // led = false; |
nestedslk | 4:f6e22dd39313 | 13 | // while (true) { |
nestedslk | 4:f6e22dd39313 | 14 | // led = !led; |
nestedslk | 4:f6e22dd39313 | 15 | // wait_ms(BLINKING_RATE); |
nestedslk | 4:f6e22dd39313 | 16 | // pc.printf("Distance:"); |
nestedslk | 4:f6e22dd39313 | 17 | // } |
nestedslk | 4:f6e22dd39313 | 18 | // |
ommpy | 0:d383e2dee0f7 | 19 | |
ommpy | 0:d383e2dee0f7 | 20 | #if TEST_ULTRASONIC |
nestedslk | 4:f6e22dd39313 | 21 | int time_to_check_us = 1000; |
ommpy | 0:d383e2dee0f7 | 22 | JSN_SR04 sensor1(TIM1_CH2, TRIG_PA8_OUT); |
nestedslk | 4:f6e22dd39313 | 23 | // JSN_SR04 sensor1(TIM1_CH2, TRIG_PB14_OUT); //no triger signal |
nestedslk | 4:f6e22dd39313 | 24 | // JSN_SR04 sensor1(TIM1_CH2, TRIG_PB15_OUT); |
nestedslk | 4:f6e22dd39313 | 25 | sensor1.setRanges(30, 200); |
nestedslk | 4:f6e22dd39313 | 26 | // sensor2.setRanges(30, 200); |
nestedslk | 4:f6e22dd39313 | 27 | // sensor3.setRanges(30, 200); |
nestedslk | 4:f6e22dd39313 | 28 | // pc.printf("Min. range = %g cm\n\r",sensor1.getMinRange()); |
ommpy | 0:d383e2dee0f7 | 29 | while(true) { |
nestedslk | 4:f6e22dd39313 | 30 | timer.reset(); |
nestedslk | 4:f6e22dd39313 | 31 | timer.start(); |
nestedslk | 4:f6e22dd39313 | 32 | sensor1.startMeasurement(); |
nestedslk | 5:97117a837d2c | 33 | //while (sensor1.isNewDataReady() == false && timer.read_ms() < time_to_check_us) { |
nestedslk | 5:97117a837d2c | 34 | //pc.printf("Distance1: %5.1f mm -- Distance2: %5.1f mm -- -- Distance3: %5.1f mm \r\n", sensor1.getDistance_cm()), sensor2.getDistance_cm(), sensor3.getDistance_cm()); |
nestedslk | 4:f6e22dd39313 | 35 | pc.printf("Distance1: %5.1f mm \r\n", sensor1.getDistance_cm()); |
nestedslk | 4:f6e22dd39313 | 36 | |
nestedslk | 4:f6e22dd39313 | 37 | timer.stop(); |
nestedslk | 5:97117a837d2c | 38 | wait_ms(10); |
nestedslk | 4:f6e22dd39313 | 39 | |
nestedslk | 4:f6e22dd39313 | 40 | } |
nestedslk | 4:f6e22dd39313 | 41 | |
ommpy | 0:d383e2dee0f7 | 42 | #endif |
ommpy | 0:d383e2dee0f7 | 43 | |
ommpy | 0:d383e2dee0f7 | 44 | #if TEST_ENCODERS |
nestedslk | 4:f6e22dd39313 | 45 | int min1_value = 2000; |
nestedslk | 4:f6e22dd39313 | 46 | int max1_value = 0; |
nestedslk | 4:f6e22dd39313 | 47 | AS5045 encoder_1(SP1_NSS1); |
nestedslk | 4:f6e22dd39313 | 48 | AS5045 encoder_2(SP1_NSS2); |
nestedslk | 4:f6e22dd39313 | 49 | while(1) { |
nestedslk | 4:f6e22dd39313 | 50 | led = !led; |
nestedslk | 5:97117a837d2c | 51 | double encoder_1_Value = encoder_1.getPosition(); |
nestedslk | 4:f6e22dd39313 | 52 | wait_ms(30); |
nestedslk | 5:97117a837d2c | 53 | double encoder_2_Value = encoder_2.getPosition(); |
nestedslk | 4:f6e22dd39313 | 54 | wait_ms(30); |
nestedslk | 4:f6e22dd39313 | 55 | //encoder_1_Value = |
nestedslk | 4:f6e22dd39313 | 56 | //if( encoder_1_Value.IsValid() && encoder_2_Value.IsValid() ) |
nestedslk | 5:97117a837d2c | 57 | |
nestedslk | 5:97117a837d2c | 58 | pc.printf("Sensor Values = %f --- %f \n\r",encoder_1_Value, encoder_2_Value ); // |
nestedslk | 4:f6e22dd39313 | 59 | //else |
nestedslk | 4:f6e22dd39313 | 60 | //pc.printf("Invalid data read"); |
ommpy | 0:d383e2dee0f7 | 61 | |
nestedslk | 4:f6e22dd39313 | 62 | //wait_ms(50); |
nestedslk | 4:f6e22dd39313 | 63 | } |
nestedslk | 4:f6e22dd39313 | 64 | |
nestedslk | 4:f6e22dd39313 | 65 | #endif |
ommpy | 0:d383e2dee0f7 | 66 | |
ommpy | 0:d383e2dee0f7 | 67 | # if TEST_IR |
nestedslk | 5:97117a837d2c | 68 | PwmIn a(PB_4); |
nestedslk | 4:f6e22dd39313 | 69 | //E18_D80NK infared1 (IR1_PB12_OUT); |
nestedslk | 4:f6e22dd39313 | 70 | // E18_D80NK infared2 (IR2_PB13_OUT); |
nestedslk | 5:97117a837d2c | 71 | while (true) { |
nestedslk | 5:97117a837d2c | 72 | // pc.printf ("Is there any obstacle: %d ---- %d ", infared1.checkObstacle(),infared2.checkObstacle() ); |
nestedslk | 5:97117a837d2c | 73 | |
nestedslk | 5:97117a837d2c | 74 | pc.printf ("\n\r"); |
nestedslk | 5:97117a837d2c | 75 | } |
ommpy | 0:d383e2dee0f7 | 76 | |
nestedslk | 4:f6e22dd39313 | 77 | |
ommpy | 0:d383e2dee0f7 | 78 | #endif |
ommpy | 0:d383e2dee0f7 | 79 | |
ommpy | 0:d383e2dee0f7 | 80 | } |
ommpy | 0:d383e2dee0f7 | 81 |