2017-07-23 4 views
0

un objet. Cependant quand je lis la valeur imprimée dans le moniteur périodique il est seulement 3 ou 4 et c'est sans égard à quelle distance le capteur ultrasonique est de n'importe quoi. Je ne peux même pas voir pourquoi ce serait exactement ces deux valeurs ou pourquoi elles changeraient entre elles. Je ne peux pas comprendre comment résoudre ce problème ou ce qui peut le causer. Je ne sais pas si le problème est avec le code ou les composants. Cependant, ce capteur a été récemment testé par quelqu'un d'autre et cela a fonctionné alors, alors peut-être que c'est juste moi qui fait quelque chose de mal. Aidez-moi?Arduino Ultrasonic Sensor pulseIn est seulement 3 ou 4

#define SPEAKER 11 
#define TRIGGER 2 
#define ECHO 3 
#define SPLIT 40 

unsigned long duration; 

int alarm1() 
{ 
    Serial.print("alarmtest"); 
    analogWrite(SPEAKER, 100); 
    delay(100); 
    analogWrite(SPEAKER, 0); 
    delay(100); 
    analogWrite(SPEAKER, 100); 
    delay(100); 
    analogWrite(SPEAKER, 0); 
    delay(500); 
} 

void setup() 
{ 
    Serial.begin(9600); 
    pinMode(SPEAKER, OUTPUT); 
    pinMode(TRIGGER, OUTPUT); 
    pinMode(ECHO, INPUT); 
} 

void loop() 
{  
    digitalWrite(TRIGGER, LOW); 
    delayMicroseconds(50); 
    digitalWrite(TRIGGER, HIGH); 
    delayMicroseconds(50); 
    digitalWrite(TRIGGER, LOW); 
    duration = pulseIn(ECHO, HIGH); 
    delay(200); 

    Serial.print(duration); 
    if (duration < SPLIT) 
    { 
    // alarm1(); 
    } 
} 
+0

Il s'agit d'un capteur à ultrasons HC-SR04 – sigrott

Répondre

0

Il a donné cela imprimé car j'ai par erreur utilisé les mauvais ports. Problème résolu. Assurez-vous de vérifier vos connexions après un délai supplémentaire!