Étape 2: Arduino Code
Une plainte typique sur les capteurs à ultrasons est combien de temps cela prend si il manque une impulsion. La valeur par défaut Arduino PulseIn commande attendra jusqu'à une seconde. Heureusement, la fonction a un deuxième argument : délai d’attente.
En regardant le diagramme de temps, nous pouvons établir que nous avons seulement besoin d’attendre... 60ms ! Si vous n’avez pas WAN ' t c’est toute la gamme et savez que vous n’allez pas d’interrogation elle plus souvent que cela, vous pouvez réduire cette époque (et, vous pouvez interroger sur 40 cm en 6ms juste, mais vous toujours ne peut pas obtenir des valeurs plus de 16 fois par seconde.
Parce que nous utilisons cet appareil en mode 3-fil (pour sauver les épingles), le code pour déclencher a une ligne supplémentaire dedans.
Pour convertir de microsecondes à temps, nous divisons par 29 (microsecondes par centimètre) et encore par 2 (c’est un voyage de retour). Le multiplier par 10 est de le convertir en mm.
#define ULTRASONIC_PIN 16<br> void setup(){ Serial.begin(9600); } void loop(){ Serial.println(readUltrasonic(ULTRASONIC_PIN)); delay(10); } int readUltrasonic(int pin){ //Returns distance in mm pinMode(pin, OUTPUT); digitalWrite(pin, HIGH); delayMicroseconds(10); digitalWrite(pin, LOW); pinMode(pin, INPUT); return pulseIn(pin, HIGH, (unsigned long)60000) * 10 / 29 / 2; }