Arduino UNO R4 - Sensor Ultrassônico - OLED
Neste guia, vamos aprender a medir distância com um sensor ultrassônico e mostrá-la em uma tela OLED.

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.
Buy Note: If you want a bigger OLED display, use the 2.42 inch OLED Display 128x64 .
Sobre o OLED e o Sensor Ultrassônico
Saiba mais sobre o OLED e o Sensor Ultrassônico (pinagem, funções, programação) nestes tutoriais:
- Tutorial de Arduino UNO R4 - OLED
- Tutorial de Arduino UNO R4 - Sensor Ultrassônico
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.
Código Arduino UNO R4 - Sensor Ultrassônico - OLED
/*
* Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com
* Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição.
* Para tutoriais completos e diagramas de ligação, visite:
* https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-ultrasonic-sensor-oled
*/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define TRIG_PIN 5 // The Arduino UNO R4 pin connected to Ultrasonic Sensor's TRIG pin
#define ECHO_PIN 9 // The Arduino UNO R4 pin connected to Ultrasonic Sensor's ECHO pin
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); // create SSD1306 display object connected to I2C
String tempString;
void setup() {
Serial.begin(9600);
// initialize OLED display with address 0x3C for 128x64
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
while (true);
}
delay(2000); // wait for initializing
oled.clearDisplay(); // clear display
oled.setTextSize(2); // text size
oled.setTextColor(WHITE); // text color
oled.setCursor(0, 10); // position to display
tempString.reserve(10); // to avoid fragmenting memory when using String
}
void loop() {
// generate 10-microsecond pulse to TRIG pin
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// measure duration of pulse from ECHO pin
long duration_us = pulseIn(ECHO_PIN, HIGH);
// calculate the distance
float distance_cm = 0.017 * duration_us;
// print the value to Serial Monitor
Serial.print("distance: ");
Serial.print(distance_cm);
Serial.println(" cm");
tempString = String(distance_cm, 2); // two decimal places
tempString += " cm";
Serial.println(tempString); // print the temperature in Celsius to Serial Monitor
oledDisplayCenter(tempString); // display temperature on OLED
}
void oledDisplayCenter(String text) {
int16_t x1;
int16_t y1;
uint16_t width;
uint16_t height;
oled.getTextBounds(text, 0, 0, &x1, &y1, &width, &height);
// display on horizontal and vertical center
oled.clearDisplay(); // clear display
oled.setCursor((SCREEN_WIDTH - width) / 2, (SCREEN_HEIGHT - height) / 2);
oled.println(text); // text to display
oled.display();
}
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a primeira vez que você usa o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima no Arduino IDE.
- Conecte a placa Arduino Uno R4 ao sensor ultrassônico e ao display OLED de acordo com o diagrama fornecido.
- Conecte a placa Arduino Uno R4 ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Selecione a placa Arduino Uno R4 apropriada (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
- Clique no ícone Libraries no lado esquerdo do Arduino IDE.
- Digite “SSD1306” na caixa de busca e procure a biblioteca SSD1306 criada pela Adafruit.
- Pressione o botão Install para adicionar a biblioteca.

- Você vai precisar instalar dependências adicionais de bibliotecas.
- Clique no botão Install All para instalar todas as bibliotecas necessárias.

- Copie o código e abra-o no Arduino IDE
- Pressione o botão Upload no Arduino IDE para enviar o código para o Arduino UNO R4
- Acene com a mão na frente do sensor
- Veja o resultado no OLED e no Serial Monitor
※ Nota:
O código centraliza o texto na horizontal e na vertical no display OLED. Para mais detalhes, veja o guia sobre como centralizar texto no OLED em Como centralizar na vertical/horizontal no OLED.