Sensor Ultrassônico HC-SR04 - Pegando objeto Garra com servo SG90

Pessoal bom dia! Agradeço quem puder ajudar, estou tentando acionar uma função Pegar_Objeto quando o sensor ultrassônico encontrar uma bolinha a 8 cm de distância. Acontece que está chamando a função em looping quando que gostaria que executasse uma única vez com os acionamentos da garra. Ou seja, fica repetindo abrindo e fechando sendo que a bolinha está sendo detectada o tempo todo.

#include <Servo.h> //tells to use servo library
#include <Ultrasonic.h>
Servo servo; //declares servo

Ultrasonic ultrasonic(49, 51, 1740);

void setup(){
Serial.begin(9600);
//Serial.write(254);
//Serial.write(0x01);

delay(200);
servo.attach(10); //servo on digital pin 10 //servo

}

void loop(){
int dist = ultrasonic.Ranging(CM);
if (dist>=8){
Pegar_Objeto();
}

}

//Em outra aba

void Pegar_Objeto () {
servo.write(35);
delay(10);
//Serial.write(254);
servo.write(130);
delay(10);
servo.write(0);

}

Exibições: 205

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço