thread ultrasuoni
Dependencies: HCSR04 mbed-rtos mbed
main.cpp
00001 /**************************************************** 00002 * FAST PROTOTYPING WITH NUCLEO * 00003 * Example Code 13: Ultrasound HCSR04 * 00004 * Author: Mauro D'Angelo * 00005 * Organization: Perlatecnica no-profit organization * 00006 *****************************************************/ 00007 00008 #include "mbed.h" 00009 #include "hcsr04.h" 00010 #include "rtos.h" 00011 00012 // Instanzio un oggetto di tipo HCSR04 ed assegno i pin di trigger e di echo 00013 HCSR04 sensor(PB_8, PB_9); 00014 HCSR04 sensor1(PA_5, PA_6); 00015 00016 DigitalOut led(D11); 00017 00018 // Serial 00019 Serial pc(USBTX, USBRX); 00020 00021 int distanza; 00022 00023 void thread(void const *args) { 00024 // Main loop 00025 while(1) { 00026 // Avvia un impulso della durata di 10us sul pin di trigger 00027 sensor.start(); 00028 00029 // Aspetta prima della prossima lettura 00030 wait_ms(100); 00031 00032 // Stampa sulla seriale la misura della distanza in cm 00033 distanza = sensor.get_dist_cm(); 00034 pc.printf("%dcm\r\n", distanza); 00035 } 00036 } 00037 00038 int main() { 00039 // Fisso il baudrate 00040 pc.baud(9600); 00041 00042 Thread th(thread); // Threads start here 00043 00044 while(1){ 00045 if(distanza < 20) 00046 led = 1; 00047 else 00048 led = 0; 00049 } 00050 } 00051
Generated on Thu Jul 14 2022 19:17:54 by 1.7.2