ワッツアップ

15919880141

ビーグルボーンブラックでLCD文字ディスプレイを使用する方法は?

Jul 22, 2025伝言を残す

ビーグルボーンブラックでLCD文字ディスプレイを使用する方法は?

埋め込まれたシステムの世界では、ビーグルボーンブラックは、強力で多目的なシングルボードコンピューターとして際立っています。 LCD文字ディスプレイとペアリングすると、単純なステータスインジケーターから複雑なデータ監視システムまで、幅広いアプリケーションに使用できます。 LCDキャラクターのサプライヤーとして、LCD文字ディスプレイをBeagleBone Blackと統合する方法を共有できることを楽しみにしています。

520x2 Lcd Display Lcd Module

ビーグルボーンブラックとLCDの文字ディスプレイを理解する

ビーグルボーンブラックには、1GHzアーム皮質-A8プロセッサ、512MBのRAM、および複数の入出力ピンが装備されています。これらのピンを使用すると、LCD文字ディスプレイなど、さまざまな外部デバイスと通信できます。

LCD文字ディスプレイは、テキストとシンプルなグラフィックを表示するために広く使用されています。それらは、さまざまなサイズと構成があります。20x2 LCDディスプレイLCDモジュール0802 LCDディスプレイ、そしてLCDディスプレイ16x1。これらのディスプレイは、通常、Hitachi HD44780コントローラーまたは互換性のあるコントローラーを使用します。

ハードウェア接続

プログラミングを開始する前に、LCD文字ディスプレイをビーグルボーンブラックに接続する必要があります。一般的なステップは次のとおりです。

  1. 電源:LCDのVSS(GND)ピンをビーグルボーンブラックの接地ピンに接続します。 LCDのVDD(5V)ピンを5V電源に接続します。ビーグルボーンブラックが5Vパワーを提供できる場合は、直接使用できます。それ以外の場合は、外部電源が必要になる場合があります。 VO(コントラスト調整)ピンをポテンショメータに接続して、ディスプレイのコントラストを調整します。
  2. コントロールピン:LCDのRS(レジスタ選択)ピンをBeagleBone BlackのGPIOピンに接続します。このピンは、命令レジスタとデータレジスタを選択するために使用されます。主にディスプレイにデータを書き込むので、RW(読み取り/書き込み)ピンを地面に接続します。 E(Enable)PinをBeagleBone Blackの別のGPIOピンに接続します。このピンは、データをディスプレイにラッチするために使用されます。
  3. データピン:4-ビットまたは8ビットモードのいずれかでLCDを接続することを選択できます。 4-ビットモードでは、LCDのD4 -D7ピンをビーグルボーンブラックの4つのGPIOピンに接続します。 8 -BITモードで、すべてのD0 -D7ピンを8つのGPIOピンに接続します。 4-ビットモードは、GPIOピンが少ないため、より一般的です。

ソフトウェアのセットアップ

ハードウェアが接続されたら、LCDディスプレイを制御するソフトウェアを作成する必要があります。 BeagleBone BlackのGPIOピンと簡単に対話できるライブラリを備えたPythonを使用できます。

4ビットモードの16x2 LCDディスプレイにメッセージを表示する単純なPythonコードの例を示します。

インポートadafruit_bbio.gpioはgpioのインポート時間#lcdコントロールのGpioピンを定義しますrs = "p8_7" e = "p8_8" d4 = "p8_9" d5 = "p810" d6 = "p8_11" d7 = "p8_12"# lcd_send_nibble(nibble):gpio.output(d4、(nibble&0x01)== 0x01)gpio.output(d5、(nibble&0x02)== 0x02)gpio.output(d6、(nibble&0x04)= 0x04)= 0x04)= 0x04)= 04) == 0x08)gpio.output(e、gpio.high)time.sleep(0.0001)gpio.output(e、gpio.low)#function lcd def lcd_send_byte(byte、rs):gpio.output(rs、rs)high_nibble = autput(rs、byte(rs)aut(rs、byte)high_nibble = autput(rs、rs)にバイトを送信する0x0f lcd_send_nibble(high_nibble)lcd_send_nibble(low_nibble)time.sleep(0.0005)#lecd def lcd_init():gpio.setup(rs、gpio.out)gpio.setup(e、gpio.out)gpio.setup(d4teaup(e、gpio.out)gpio.setup(e、gpio.out)gpio.setup( gpio.setup(d5、gpio.out)gpio.setup(d6、gpio.out)gpio.setup(d7、gpio.out)#lcd in 4 -bit mode time.sleep(0.05)lcd_send_nibble(0x03)sleep. sleep(0.005)lcd_ned_ned_nibble(0x nibble)lcd_send_nibble(0x03)sleep lcd_send_nibble(0x03)lcd_send_nibble(0x02)lcd_send_byte(0x28、gpio.low)#4-ビットモード、2行、5x8ドットlcd_send_byte(0x0c、gpio.low) gpio.low)#increment cursor lcd_send_byte(0x01、gpio.low) "__main__":try:lcd_init()lcd_display_string( "hello、beaglebone!")while:pass exciss keyboardinterrupt:gpio.cleanup()

このコードは、最初にビーグルボーンブラックのGPIOピンを初期化します。次に、4ビットモードでLCDディスプレイを初期化します。最後に、LCDにメッセージを表示します。

高度な使用

LCDに簡単なメッセージを表示するだけではありません。たとえば、センサーの測定値などの動的データを表示できます。マルチラインディスプレイを作成して、カスタム文字を使用することもできます。

動的データを表示するには、変更できますLCD_DISPLAY_STRING定期的に新しいデータでディスプレイを更新する機能。たとえば、ビーグルボーンブラックに接続された温度センサーがある場合は、温度値を読み取り、LCDに表示できます。

adafruit_bbio.gpioをgpioとしてインポートするインポート時間インポート時間インポートランダム#センサーデータのシミュレーション#LCDコントロールのGPIOピンを定義するRS = "P8_8" D4 = "P8_9" D5 = "P8_10" D6 = "P8_11" D7 = "P8_12" lcd_send_nibble(nibble):gpio.output(d4、(nibble&0x01)== 0x01)gpio.output(d5、(nibble&0x02)== 0x02)gpio.output(d6、(nibble&0x04)= 0x04)= 0x04)= 0x04)= 04) == 0x08)gpio.output(e、gpio.high)time.sleep(0.0001)gpio.output(e、gpio.low)#function lcd def lcd_send_byte(byte、rs):gpio.output(rs、rs)high_nibble = autput(rs、byte(rs)aut(rs、byte)high_nibble = autput(rs、rs)にバイトを送信する0x0f lcd_send_nibble(high_nibble)lcd_send_nibble(low_nibble)time.sleep(0.0005)#lecd def lcd_init():gpio.setup(rs、gpio.out)gpio.setup(e、gpio.out)gpio.setup(d4teaup(e、gpio.out)gpio.setup(e、gpio.out)gpio.setup( gpio.setup(d5、gpio.out)gpio.setup(d6、gpio.out)gpio.setup(d7、gpio.out)#lcd in 4 -bit mode time.sleep(0.05)lcd_send_nibble(0x03)sleep. sleep(0.005)lcd_ned_ned_nibble(0x nibble)lcd_send_nibble(0x03)sleep lcd_send_nibble(0x03)lcd_send_nibble(0x02)lcd_send_byte(0x28、gpio.low)#4-ビットモード、2行、5x8ドットlcd_send_byte(0x0c、gpio.low) gpio.low)#increment cursor lcd_send_byte(0x01、gpio.low) "__main__":try:lcd_init()while:true:heett = random.randint(20、30)#simulating reading message = f "temp:{heett} c" lcd_send_byte(0x01、gpio.low)#クリアディスプレイタイム。 gpio.cleanup()

結論

LCD文字ディスプレイをビーグルボーンブラックと統合することは、簡単なプロセスです。適切なハードウェア接続とソフトウェアプログラミングを使用すると、便利でインタラクティブなディスプレイを作成できます。 LCD文字ディスプレイのサプライヤーとして、ビーグルボーンブラックでの使用に適した幅広い製品を提供しています。プロジェクトのLCDキャラクターディスプレイの購入に興味がある場合は、詳細についてはお問い合わせください。調達交渉を開始してください。私たちは、高品質の製品と優れた顧客サービスを提供することに取り組んでいます。

参照

  • Adafruit BeagleBone GPIO Libraryのドキュメント
  • Hitachi HD44780 LCDコントローラーデータシート