フォトレジスタモジュールから読み取る

このプロジェクトでは、光の強度を検出し、I2C LCD1602に表示します。

_images/photoresistor.jpg

手順

  1. このプロジェクトではI2C LCD1602を使用しているため、関連するライブラリをダウンロードして機能させる必要があります。

    cd ~/
    wget https://github.com/sunfounder/raphael-kit/blob/master/python/LCD1602.py
    
  2. I2C用に smbus2 をインストールします。

    sudo pip3 install smbus2
    
  3. 以下のコードをRaspberry Piに保存し、例えば photoresistor.ty のような名前を付けます。

    from robot_hat import ADC
    import LCD1602
    import time
    
    # Create an ADC object to read the value from the photoresistor
    a0 = ADC(0)
    
    def setup():
        # Initialize the LCD1602
        LCD1602.init(0x27, 1)
        time.sleep(2)
    
    def destroy():
        # Clear the LCD display
        LCD1602.clear()
    
    def loop():
        while True:
            # Read the value from the photoresistor
            value0 = a0.read()
            # Display the read value on the LCD
            LCD1602.write(0, 0, 'Value: %d  ' % value0)
            # Reduce the refresh rate to update once per second
            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. このコードを実行するには、コマンド sudo python3 photoresistor.ty を使用します。