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);
}