2016-11-29 3 views
0

Я работаю над ардуино и HC_SR04. Я искал большинство документов, но они не решили нашу проблему.Как управлять рычагом робота с помощью ультразвукового датчика и Arduino

Мой вопрос в том, что, как читать значение, которое берется из библиотеки <NewPing>.

#define echopin 11 //set echopin 
#define trigpin 12 //set trigpin 

#include <Servo.h>; 

Servo robotArm; 

#include <NewPing.h> 

#define MAX_DISTANCE 400 

NewPing sonar(trigpin, echopin, MAX_DISTANCE); 

int distance; 

void setup() { 
    // put your setup code here, to run once: 
    Serial.begin(9600); 
    robotArm.attach(9); //attach our servo 
    robotArm.writeMicroseconds(150); 
} 

void loop() { 
    // put your main code here, to run repeatedly: 
    robotArm.write(90); //always set to servo 90 to position it to the middle 
    //codes of ultrasonic sensor 
    distance=digitalRead(echopin); 
    if (distance <= 20) //if ultrasonic sensor detects on obstacle less than 20 cm in 90 degree angle 
    { 
    robotArm.write(0); //dervo rotates at full speed to the right 
    delay(60); 
    } 

    else 
    { 
    robotArm.write(90); //else servo stays at 90 degree angle 
    delay(60); 
    } 
    Serial.print(distance); //print distance 
    Serial.println("cm"); //print distance unit cm 
} 

ответ

0

Вместо distance=digitalRead(echopin); попробуйте использовать distance = sonar.ping_cm().

+0

Спасибо за помощь –