Buy from USA | Buy from UK | Buy from DE | Buy from IT | Buy from FR | Buy from ES | ここでご購入を! |
このレッスンでは、PicoからI2C LCDスクリーンに温度情報を送信する方法を紹介します。
I2Cは、コンピューター(マスター)と外部デバイス(スレーブ)の間でデータをやりとりできる非常にポピュラーなプロトコルです。典型的なI2Cスレーブデバイスには、データピン(SDA)とクロックピン(SCL)が必要で、これらはRaspberry Pi PicoのSDAとSCLピンに接続する必要があります。1つのPico SDAとSCLピンペア(BUS)は、実際に複数のスレーブデバイスに接続できます。各スレーブデバイスには、Picoがプログラム内でそれを見つけるためのユニークなアドレスIDがあります。
このプロジェクトでは、I2C LCDディスプレイをスレーブデバイスとして使用します。Picoボードの内部温度センサーを使用して温度を取得し、I2C LCDディスプレイにデータを表示します。
・Raspberry Pi PicoボードとmicroUSBケーブル
・Thonny Python IDEを実行するコンピューター
・ブレッドボード
・I2C 1602 LCDディスプレイ
上記の回路図では、以下がわかります:
・LCD VCCピンはPico Vbusピン(5V)に接続されています。
・LCD GNDピンはPico GNDに接続されています。
・LCD SDAピンはPico SDAピン(GP0)に接続されています。
・LCD SCLピンはPico SCLピン(GP1)に接続されています。
このレッスンでは、LCDにアクセスするための2つのPythonライブラリ、lcd_apiとpico_i2c_lcdを使用します。
https://osoyoo.com/driver/pico/pico_i2c_lcd.zipからライブラリのzipファイルをダウンロードしてください。
ファイルを解凍すると、lcd_api.pyとpico_i2c_lcd.pyの2つのファイルが表示されます。それぞれのファイルをThonnyで開き、Picoのルートディレクトリに保存してください。
レッスン4のPythonコードはhttps://osoyoo.com/driver/pico/lesson4/pico-lesson4.pyからダウンロードできます。
後で、Thonnyを使用してpico-lesson4.pyを開き、Picoにロードできます。
以下がコメント付きの完全なコードです:
from machine import I2C,Pin,ADC #import libraries to handle Pins, I2C and ADC from time import sleep from pico_i2c_lcd import I2cLcd #import library to handle I2C LCD sensor_temp = ADC(4) #Internal Temperature sensor is connected to ADC 4 conversion_factor = 3.3/65535 def get_temperature(): #get temperature value from ADC 4 internal sensor reading = sensor_temp.read_u16() * conversion_factor temperature = 27 - (reading - 0.706)/0.001721 return temperature i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000) #initialize I2C port I2C_ADDR = i2c.scan()[0]. #get I2C address lcd = I2cLcd(i2c, I2C_ADDR, 2, 16) #initialize I2C display as 2x16 degree = bytearray([0x1c,0x14,0x1c,0x00,0x00,0x00,0x00,0x00]) #define a customized LCD icon for º (degree sign) lcd.custom_char(0, degree) #degree sign 'º' will be used as chr(0) in program while True: lcd.putstr("Temperature:\n"+str(get_temperature())+" C"+chr(0)) #display temperature to LCD sleep(4) lcd.clear()
Step 1: PCのUSBポートの1つにPicoボードを接続します。
Step 2: Thonnyソフトウェアをインストールしていない場合、またはThonny IDEの使用方法がわからない場合は、レッスン1を読んでください。
Step 3: Thonny Python IDEを開き、「実行」をクリックしてインタプリタとしてRaspberry Pi PicoのMicroPythonを選択します。
また、Picoボードに接続されたCOMポートを選択してください。
その後、設定を保存するためにOKをクリックします。
Step 4: pico_i2c_lcd.zipファイルを解凍します。2つのファイル、lcd_api.pyとpico_i2c_lcd.pyが表示されます。
次のように、
Thonnyを使用してそれぞれのファイルを開き、Picoのルートディレクトリに保存します。
その後、OKをクリックします。
これで、LCDに次のように温度が表示されます:
Temperature: 25.01234 °C
操作が完了したら、Ctrl+Cを押してコマンドを終了します。
DownLoad Url osoyoo.com
You must be logged in to post a comment.
I can’t get to write in the LCD. My code is the same as the one in this page (lesson4 for raspberry pi pico in micropython), but nothing happens. I use some fuctions to interact with de LCD like backlight_on() or backlight_off() and it works, but when I use putstr() it doesn’t work.
¿Can you help me please?
firstly, please make sure you have properly adjust the brightness through the little screw in the back of LCD,
check this picture
https://osoyoo.com/wp-content/uploads/2017/05/LACC200602-6.jpg
Then make sure there is no error message when you run the Python code. If you have any error message, please show us the error message. Or you can send the screenshot of error message to [email protected]
It was about the brightness, excuse my clumsiness.
Thanks!