Skip to content

Instantly share code, notes, and snippets.

@ypelletier
Last active December 8, 2018 11:57
Télémètre ultrasonore HC SR-04 branché au MPLAB Xpress
/****************************************************************
Télémètre ultrasonore HC SR-04 branché au MPLAB Xpress
Evaluation Board.
Trig: RC5
Echo: RC6
La distance de l'obstacle en cm est envoyée par UART (USB)
http://electroniqueamateur.blogspot.com/2018/01/telemetre-ultrasonore-hc-sr04-et-mplab.html
********************************************************************/
#include <xc.h>
#include "mcc_generated_files/mcc.h"
#include <htc.h>
void main(void) {
SYSTEM_Initialize();
while(1) {
// brève impulsion sur la broche Trig pour activer une mesure
Trig_pin_LAT = 0;
__delay_us(5);
Trig_pin_LAT = 1;
__delay_us(10);
Trig_pin_LAT = 0;
// mesure de l'impulsion sur la borche Echo
TMR1GIF = 0;
TMR1_WriteTimer(0);
TMR1_StartSinglePulseAcquisition();
while (!TMR1GIF);
// envoi de la distance mesurée par UART
printf("Distance = %.2f cm\n", TMR1_ReadTimer()*(343.0/(4*20000.0))); // pour un oscillateur de 4 MHz
// sinon remplacez "4" par la fréquence choisie
__delay_ms(500); // delai avant de reprendre une nouvelle mesure de distance
}
return;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment