Programa de testes- Utilizado para 2 sensores de ultrassom:
// Comandos para leitura de sensor de ultrassom para os robôs TITAN e ORION.
//sensor 1
#define echoPin 2 // Pino do Arduino para emissor
#define trigPin 3 // Pino do Arduino para receptor
//sensor 2
#define echoPin1 4 // Pino do Arduino para emissor
#define trigPin1 5 // Pino do Arduino para receptor
float distancia=0; // variável para distância do sensor 1
float distancia1=0;//variável para distância do sensor 2
float valorSensor=0; //valor do sensor 1
float valorSensor1=0;//valor do sensor 2
void setup(){
Serial.begin(9600);
pinMode(echoPin, INPUT); // seta pino 2 como entrada - receptor - echo
pinMode(trigPin, OUTPUT); // seta pino 3 do Arduino como saída - transmissor - trigger
pinMode(echoPin1, INPUT);//seta o pino 4 como entrada receptor
pinMode(trigPin1, OUTPUT);//seta o pino 5 como saída (gatilho) - transmissor
}
void loop(){
//sensor de objeto 1
digitalWrite(trigPin, LOW); // desliga o pino gatilho do sensor por 2 microssegundos
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);// gatilho ativado por 10 microssegundos
delayMicroseconds(10);
digitalWrite(trigPin, LOW);// gatilho desligado
//sensor de objeto 2
digitalWrite(trigPin1, LOW); // desliga o pino gatilho do sensor por 2 microssegundos
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH); // gatilho ativado por 10 microssegundos
delayMicroseconds(10);
digitalWrite(trigPin1, LOW); // gatilho desligado
int distance = pulseIn(echoPin, HIGH);//leitura do sensor 1 - alto ou baixo.
int distance1 = pulseIn(echoPin1, HIGH);//leitura do sensor 2 - alto ou baixoo pulso em microssegundos.
distance = distancia/58;//converte o valor do sensor1 em cm
distance1 = distancia1/58;//converte o valor do sensor2 em cm
//a partir daqui pode seguir com as variáveis para controlar os motores usando a distância
//comando para exibir no serial monitor o valor de distância
Serial.print(distancia);
Serial.print(distancia1);
Serial.println(distancia);
Serial.println(distancia1);
delay(100);
}
FONTE: http://www.webtronico.com/documentos/HC-SR04.pdf
Descrição:
Medidor de distância ultrasônico é capaz de medir distâncias de 2cm a 5 metros. O módulo possui um circuito pronto, com emissor e receptor ultrasônico.
Conexões:
- 5V Supply
- Trigger Pulse Input
- Echo Pulse Output
- 0V Ground
Também pode ser utilizado para detectar objetos, movimento, etc.
Especificações:
- power supply :5V DCCorrente: 15mA
- quiescent current : <2mA
- effectual angle: <15°
- alcance da medição : 2cm – 500 cm
- resolution : 3mm
O módulo possui 4 pinos : VCC , Trig, Echo, GND . Sendo assim, é muito simples utiliza-lo. O processo de medição se resume em: coloque o pino TRIG em nível ALTO por mais de 10us, e a medição começa; Quando o ultrassom emitido bater em um obstáculo e voltar, o pino ECHO ficará em nível ALTO pelo tempo correspondente a distância medida. Assim, a distância do obstáculo pode ser medida pelo tempo (largura do pulso) que o pino ECHO ficar em nível alto usando a seguinte regra:
Distância em CEMTIMETROS: (largura do pulso em uS) / 58;
Distância em POLEGADAS: (largura do pulso em uS) / 148;
Se a largura do pulso for igual a 38ms, então não tem obstaculo.
Nenhum comentário:
Postar um comentário