Raspberry Pi - Capteur Ultrasonique - OLED

Ce tutoriel vous apprend à mesurer la distance à l'aide d'un capteur ultrasonique et à l'afficher sur un écran OLED.

Préparation du matériel

1×Raspberry Pi 5
1×Écran OLED I2C SSD1306 128x64
1×Écran OLED I2C SSD1306 128x32
1×Capteur à ultrasons
1×Plaque d'essai
1×Fils de connexion
1×Recommandé: Shield à bornier à vis pour Raspberry Pi
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Raspberry Pi
1×Recommandé: Écran tactile HDMI pour Raspberry Pi

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de l'OLED et du capteur à ultrasons

Si vous n'êtes pas familier avec les capteurs OLED et ultrasoniques (y compris le brochage, le fonctionnement, la programmation, etc.), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

Schéma de câblage du capteur ultrasonique Raspberry Pi OLED

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Pour simplifier et organiser votre montage de câblage, nous recommandons l'utilisation d'un shield à bornier à vis pour Raspberry Pi. Ce shield assure des connexions plus sûres et mieux gérées, comme illustré ci-dessous :

Shield à bornier à vis pour Raspberry Pi

Code Raspberry Pi - Capteur Ultrasonique - OLED

Étapes rapides

  • Assurez-vous d'avoir installé Raspbian ou tout autre système d'exploitation compatible avec Raspberry Pi sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à internet si vous avez besoin d'installer certaines bibliothèques.
  • Si c'est la première fois que vous utilisez un Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Si ce n'est pas le cas, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
pip install Adafruit-SSD1306
  • Créez un fichier script Python ultrasonic_oled.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi est mis à disposition du public sans aucune restriction. # Pour des instructions complètes et des schémas de câblage, veuillez visiter: # https://newbiely.fr/tutorials/raspberry-pi/raspberry-pi-ultrasonic-sensor-oled import time import RPi.GPIO as GPIO import Adafruit_SSD1306 # GPIO pin configuration for the ultrasonic sensor TRIG_PIN = 16 ECHO_PIN = 20 # OLED display configuration OLED_RESET_PIN = None # Set to GPIO pin if your display has a reset pin OLED = Adafruit_SSD1306.SSD1306_128_64(rst=OLED_RESET_PIN) # Initialize the OLED display OLED.begin() # Clear the display OLED.clear() OLED.display() def measure_distance(): # Trigger the ultrasonic sensor GPIO.output(TRIG_PIN, True) time.sleep(0.00001) GPIO.output(TRIG_PIN, False) pulse_start, pulse_end = 0, 0 # Record the time when the ultrasonic wave is transmitted while GPIO.input(ECHO_PIN) == 0: pulse_start = time.time() # Record the time when the reflected wave is received while GPIO.input(ECHO_PIN) == 1: pulse_end = time.time() # Calculate the time duration of the pulse pulse_duration = pulse_end - pulse_start # Calculate the distance using the speed of sound (343 m/s) distance = pulse_duration * 17150 return round(distance, 2) try: # Set up GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(TRIG_PIN, GPIO.OUT) GPIO.setup(ECHO_PIN, GPIO.IN) while True: # Read distance from ultrasonic sensor distance = measure_distance() # Clear the display OLED.clear() # Display distance on OLED OLED.draw.text((0, 0), "Distance:", font=None, fill=255) OLED.draw.text((0, 16), "{} cm".format(distance), font=None, fill=255) # Display on OLED OLED.display() # Print distance to console (optional) print("Distance: {} cm".format(distance)) # Delay for readability time.sleep(1) except KeyboardInterrupt: print("Program terminated by user.") finally: GPIO.cleanup()
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le terminal :
python3 ultrasonic_oled.py

Le script s'exécute dans une boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

  • Déplacez votre main devant le capteur.
  • Consultez le résultat sur l'OLED et le Moniteur Série.

※ Note:

Ce code alignera le texte sur un écran OLED à la fois horizontalement et verticalement. Pour plus d'informations, veuillez vous référer à Comment centrer verticalement/horizontalement sur OLED.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !