Lesen vom Ultraschallmodul

In diesem Projekt verwenden wir Ultraschallsensoren, um Entfernungen zu messen und die Messwerte auf dem I2C LCD1602 anzuzeigen.

_images/ultrasonic.jpg

Schritte

  1. In diesem Projekt wird ein I2C LCD1602 verwendet, daher ist es notwendig, die relevanten Bibliotheken herunterzuladen, um es zum Laufen zu bringen.

    cd ~/
    wget https://github.com/sunfounder/raphael-kit/blob/master/python/LCD1602.py
    
  2. Installieren Sie smbus2 für I2C.

    sudo pip3 install smbus2
    
  3. Speichern Sie den folgenden Code auf Ihrem Raspberry Pi und geben Sie ihm einen Namen, zum Beispiel ultrasonic.ty.

    from robot_hat import ADC, Ultrasonic, Pin
    import LCD1602
    import time
    
    # Create ADC object for photoresistor
    a0 = ADC(0)
    
    # Create Ultrasonic object
    us = Ultrasonic(Pin("D2"), Pin("D3")) //Trig to digital pin 2, echo to pin 3
    
    def setup():
        # Initialize LCD1602
        LCD1602.init(0x27, 1)
        # Initial message on LCD
        LCD1602.write(0, 0, 'Measuring...')
        time.sleep(2)
    
    def destroy():
        # Clear the LCD display
        LCD1602.clear()
    
    def loop():
        while True:
            # Read distance from ultrasonic sensor
            distance = us.read()
            # Display the distance on the LCD
            if distance != -1:
                # Display the valid distance on the LCD
                LCD1602.write(0, 0, 'Dist: %.2f cm   ' % distance)
    
            # Update every 0.5 seconds
            time.sleep(0.2)
    
    if __name__ == '__main__':
        setup()
        try:
            loop()
        except KeyboardInterrupt:
            destroy()
        except Exception as e:
            # Clear the LCD and print error message in case of an exception
            destroy()
            print("Error:", e)
    
  4. Verwenden Sie den Befehl sudo python3 ultrasonic.ty, um diesen Code auszuführen.