Sensor de distancia y OLED
Componentes y suministros
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 |
Aplicaciones y servicios en línea
![]() |
|
Acerca de este proyecto

Cómo utilizar la pantalla OLED
Aquí tienes mi tutorial anterior al respecto:
-
#includes
y#defines
, antes de ejecutarsetup ():
#include // necesitamos todas esas desagradables bibliotecas para OLED # include #include #include #define OLED_RESET 4 // este es el pin de reinicio, NO ESTOY UTILIZANDO la pantalla ITAdafruit_SSD1306 (OLED_RESET);
- En
setup ()
función:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // inicializar con I2C addr 0x3C (128x64) display.clearDisplay (); // limpia la pantalla antes de comenzar
- En
loop ()
función:
display.setCursor (22,20); // coordenadas x, y display.setTextSize (3); // tamaño del texto display.setTextColor (WHITE); // si escribe NEGRO borra las cosas display.println (distancia); // imprime nuestra variable display.setCursor (85,20); // establece el tamaño, imprime las unidades (cm / in) display.setTextSize (3); #ifdef CommonSenseMetricSystem // si hay # define CommonSenseMetricSystem display.println ("cm"); // imprime "cm" en oled #endif #ifdef ImperialNonsenseSystem // si hay # define ImperialNonsenseSystem display.println ("in"); // imprimir "en" en oled #endif display.display (); // necesitas mostrar todos esos datos delay (500); // ¡espera !, visualización de velocidad humana.clearDisplay (); // limpia la pantalla en negro
Cómo utilizar la gama ultrasónica HC-SR04
Aquí tienes la hoja de datos, el módulo HC envía una ráfaga de pulsos y luego mide el tiempo que tarda el eco del ultrasonido en volver a su lugar original.
- Genere un pulso para el disparo de HC, el HC hará una ráfaga de pulso:
larga duración, distancia; // nuestras queridas variables digitalWrite (trigPin, LOW); // PULSO ___ | --- | ___ delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, BAJO);
- PulseIn () es una función poco utilizada, detecta la longitud del paso alto (__ ---- __) o bajo (----___---)
Usamos #ifdef
por solo compilar las partes que necesitamos.
duración =pulseIn (echoPin, HIGH); // #ifdef CommonSenseMetricSystem distancia =(duración / 2) / 29.1; #endif #ifdef ImperialNonsenseSystem distancia =(duración / 2) / 73.914; #endif
- Y esto para depurar en caso de que su Oled no funcione:
Serial.println (distancia); // depurar
Código
- Medición y visualización de ultrasonido de distancia
Medición y visualización de ultrasonido a distancia Arduino
Código principal// CÓDIGO POR Javier Muñoz Sáez, 11/05/2016 preguntas a [email protected]#include#include #include #include #define CommonSenseMetricSystem // # define ImperialNonsenseSystem # define trigPin 13 # define echoPin 12 # define OLED_RESET 4Adafruit_SSD1306 display (OLED_RESET); void setup () {Serial.begin (9600); pinMode (trigPin, SALIDA); pinMode (echoPin, ENTRADA); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // inicializar con I2C addr 0x3C (128x64) display.clearDisplay ();} void loop () {larga duración, distancia; digitalWrite (trigPin, BAJO); // PULSO ___ | --- | ___ delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, BAJO); duración =pulseIn (echoPin, HIGH); #ifdef CommonSenseMetricSystem distancia =(duración / 2) / 29.1; #endif #ifdef ImperialNonsenseSystem distancia =(duración / 2) / 73.914; #endif display.setCursor (22,20); // pantalla OLED display.setTextSize (3); display.setTextColor (BLANCO); display.println (distancia); display.setCursor (85,20); display.setTextSize (3); #ifdef CommonSenseMetricSystem display.println ("cm"); #endif #ifdef ImperialNonsenseSystem display.println ("en"); #endif display.display (); retraso (500); display.clearDisplay (); Serial.println (distancia); // depurar}
Esquemas

Proceso de manufactura
- Qué es un sensor de distancia en funcionamiento y sus aplicaciones
- Sensor Arduino - Tipos y aplicaciones
- Aplicaciones y funcionamiento del sensor de huellas dactilares
- Funcionamiento y aplicaciones del sensor de vibración
- Sensor de temperatura Python y Raspberry Pi
- Sensor de temperatura y luz Raspberry Pi
- Control de actuador y sensor Raspberry Pi
- Aeroponía con Raspberry Pi y sensor de humedad
- Cómo comprobar y calibrar un sensor de humedad
- Windows 10 IoT Core y SHT15
- Autómatas celulares basados en Arduino y OLED