Salve , ho un problema con Hc-SR04 con questo codice se mi pongo davanti al sensore fino a 120 cm funziona , superati inizia a darmi sempre fuori portata .
const int triggerPort = 9;
const int echoPort = 10;
const int led = 13;
void setup() {
pinMode(triggerPort, OUTPUT);
pinMode(echoPort, INPUT);
pinMode(led, OUTPUT);
Serial.begin(9600);
Serial.print( "Sensore Ultrasuoni: ");
}
void loop() {
digitalWrite( triggerPort, LOW );
digitalWrite( triggerPort, HIGH );
delayMicroseconds( 10 );
digitalWrite( triggerPort, LOW );
long durata = pulseIn( echoPort, HIGH );
long distanza = 0.034 * durata / 2;
Serial.print("distanza: ");
if( durata > 57000 ){
Serial.println("Fuori portata ");
}
else{
Serial.print(distanza);
Serial.println(" cm ");
}
allora ho provato con la libreria NewPing , ma anche con questa ho un problema ogni tanto mi rileva 0cm di distanza con un oggetto anche se esso è presente
#include <NewPing.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 300
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(115200);
}
void loop() {
delay(90);
unsigned int uS = sonar.ping();
Serial.print("Ping: ");
Serial.print(uS / US_ROUNDTRIP_CM);
Serial.println("cm");
}
come posso risolvere ?