工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino UNOで1.17インチTFT LCDに画像を表示する方法

必要な部品と用品

部品 数量 備考
Arduino UNO 1
1.17インチLCD/TFTスクリーン 1
SDカード 1

使用アプリとオンラインサービス

このプロジェクトについて

この記事では、ArduinoでTFTスクリーンに画像を表示する方法を紹介します!

以下のチュートリアルを読むか、YouTube動画をご覧ください。

配線図

Arduino UNOで1.17インチTFT LCDに画像を表示する方法

SDカードの画像

以下の点に注意してください:

Arduino UNOで1.17インチTFT LCDに画像を表示する方法

Arduinoコード

以下のArduinoコードをコピーしてアップロードしてください。

実行結果

Arduinoプログラムのシリアルモニタを開くと、.bmp画像がTFTスクリーンに表示されます。または動画で結果をご確認ください。

Arduino UNOで1.17インチTFT LCDに画像を表示する方法

コード

Arduino UNOでTFTスクリーンに画像を表示するスケッチ

// CreaTechWeb: ArduinoでTFTスクリーンに画像を表示
// https://createchweb.com/displaying-an-image-on-a-tft-screen-with-arduino/
#include 
#include 
#include   // Arduino LCDライブラリ

// Uno用ピン定義
#define sd_cs 4
#define lcd_cs 10
#define dc 9
#define rst 8

// Leonardo用ピン定義(コメントアウト)
//#define sd_cs 8
//#define lcd_cs 7
//#define dc 0
//#define rst 1

TFT TFTscreen = TFT(lcd_cs, dc, rst);
PImage logo;  // 画面に描画する画像を表す変数

void setup() {
  // GLCDを初期化し、シリアルモニタを開くようメッセージ表示
  TFTscreen.begin();
  TFTscreen.background(255, 255, 255);
  TFTscreen.stroke(0, 0, 255);
  TFTscreen.println();
  TFTscreen.println(F("Arduino TFT Bitmap Example"));
  TFTscreen.stroke(0, 0, 0);
  TFTscreen.println(F("Open serial monitor"));
  TFTscreen.println(F("to run the sketch"));
  
  // シリアルポート初期化:診断情報の出力用
  Serial.begin(9600);
  while (!Serial) {
    // シリアルポート接続待ち(ネイティブUSBポートのみ必要)
  }
  
  // 開始前のGLCD画面クリア
  TFTscreen.background(255, 255, 255);
  
  // SDカードアクセスを試行。失敗時(カード未挿入等)はセットアップ停止
  Serial.print(F("Initializing SD card..."));
  if (!SD.begin(sd_cs)) {
    Serial.println(F("failed!"));
    return;
  }
  Serial.println(F("OK!"));
  
  // GLCD画面を初期化してクリア
  TFTscreen.begin();
  TFTscreen.background(255, 255, 255);
  
  // SDカードにアクセスできるようになったので、画像ファイルを読み込み
  logo = TFTscreen.loadImage("arduino.bmp");
  if (!logo.isValid()) {
    Serial.println(F("error while loading arduino.bmp"));
  }
}

void loop() {
  // 画像が正しく読み込まれなかった場合は何もしない
  if (logo.isValid() == false) {
    return;
  }
  Serial.println(F("drawing image"));
  
  // 画像を描画するランダムな位置を取得
  // 画像が画面外に描画されないよう、画像サイズを考慮
  int x = random(TFTscreen.width() - logo.width());
  int y = random(TFTscreen.height() - logo.height());
  
  // 画像を画面に描画
  TFTscreen.image(logo, x, y);
  
  // 次の描画まで少し待機
  delay(1500);
}

製造プロセス

  1. Arduino Nano 33 IoT製 フライトシミュレーター2020用コックピットパネル - LCD&CDI表示
  2. Arduino で作るイスラム教礼拝時刻付きリアルタイムクロック
  3. Arduino 2.4インチTFT LCDシールドでSDカードからBMP画像を表示する
  4. Arduino UNOとATtiny85で作る携帯型POV(残像)ディスプレイ
  5. Arduino Unoで8×8 LEDマトリックスを制御:ステップバイステップガイド
  6. Arduino Unoと1Sheeldで作る4x4x4 LEDキューブ – インタラクティブLEDプロジェクト
  7. Arduino GPS+TFTタッチシールドで作るリアルタイム位置表示デバイス
  8. Arduino UnoとBluetoothでラジコンカーを遠隔操作:ステップバイステップガイド
  9. DHT センサで作る信頼性の高い Arduino 気象ステーション
  10. DS1302 RTCとArduino UNOで作る信頼性の高い目覚まし時計
  11. Arduino Unoで25kHz 4ピンPWMファンを制御 – 製作・コード・テスト