Sensor ultrassônico Arduino: como medir distâncias
Com o Arduino, você pode medir facilmente distâncias usando um sensor ultrassônico. Nesta dica prática, mostraremos como.
Sensor ultrassônico Arduino: como medir distâncias
Além do Arduino, você precisa de uma placa de ensaio com alguns cabos de ligação em ponte e um módulo de medição ultrassônico HC-SR04 para poder medir distâncias.
- Conecte o pino "Trigger" do módulo ao pino 13 e o pino "Echo" ao pino 12 do Arduino. Conecte também o módulo de medição ultrassônico HC-SR04 a 5V e terra.
- Defina "trigger" como saída e "eco" como entrada. Você também precisa das variáveis longas "duration" e "distance".
- Primeiro, desligue o gatilho (»digitalWrite (gatilho, LOW);«) e aguarde 2 microssegundos (»delayMicroseconds (2);«). Em seguida, ligue o gatilho (»digitalWrite (trigger, HIGH);«), aguarde 10 microssegundos (»delayMicroseconds (10);«) e desligue-o novamente (»digitalWrite (trigger, LOW);«). Use-o para calcular a duração (»duration = pulseIn (eco, HIGH);«) e, finalmente, a distância real (»distance = (duration / 2) / 29.1;«).
- Com esta variável, você pode continuar calculando como desejar.
Arduino: Exemplo de código para o sensor ultrassônico
Na figura, você vê o código que pode usar se quiser usar o HC-SR04 profissionalmente. Você também pode copiar o código aqui:
- #include #define trigger 13 #define echo 12 #define led_1 11 #define led_2 10 int value_tone; longa duração, distância; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); void setup () {Serial.begin (9600); pinMode (gatilho, SAÍDA); // Pin do HC-SR04 pinMode (echo, INPUT); // Pin do HC-SR04 pinMode (led_1, OUTPUT); // LED pinMode (led_2, OUTPUT); // LED pinMode (9, OUTPUT); // campainha lcd.begin (16, 2); } void loop () {digitalWrite (gatilho, LOW); delayMicrosegundos (2); digitalWrite (gatilho, ALTO); delayMicrosegundos (10); digitalWrite (gatilho, BAIXO); duration = pulseIn (eco, ALTO); distância = (duração / 2) / 29, 1; if (distância = 200 || distância <= 0) {Serial.println ("Fora do intervalo"); } else {Serial.print (distância); Serial.println ("cm"); } lcd.clear (); lcd.setCursor (1, 0); lcd.print ("Distância:"); lcd.print (distância); lcd.print ("cm"); if (distância 0) {value_tone = mapa (distância, 0, 200, 0, 5000); tom (9, valor_ton); } else {} delay (500); }
Na próxima dica prática, mostraremos como configurar um módulo GSM no Arduino.