Arduino UNOを使用してLCDTFTスクリーンに画像を表示する!
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
|
このプロジェクトについて
この記事では、Arduinoを使用してTFTスクリーンで画像を取得する方法を紹介します!
以下のチュートリアルを読むか、YouTubeビデオをご覧ください。
配線図 <図>
- 5V(LCD)
- 5V Arduino MISO(LCD)
- ピン12Arduino SCK(LCD)
- ピン13Arduino MOSI(LCD)
- ピン11Arduino LCD CS(LCD)
- ピン10Arduino SD CS(LCD)
- ピン4Arduino D / C(LCD)
- ピン9Arduinoリセット(LCD)
- ピン8Arduino BL(LCD)
- 5V Arduino GND(LCD)
- GND Arduino
SDカードの画像:
次の点に注意してください。
- 画像は.bmpファイルである必要があります
- 画像を160x128ピクセルより大きくしないでください
- 画像のファイル名がarduino.bmpであり、SDカードのルートドメインに配置されていることを確認してください。
- SDカードを組み立てるときは、ArduinoとTFTの画面に電圧がかからないようにする必要があります。
Arduinoコード
以下のArduinoコードをコピーして、Arduinoにアップロードしてください。
最終結果
Arduinoプログラムでシリアルモニターを開きます。これで、.bmp画像がTFT画面に表示されます。または、ビデオで結果を確認してください。
<図>
コード
- ArduinoUNOスケッチを使用してLCDTFT画面に画像を表示する
ArduinoUNOスケッチ Arduino を使用してLCDTFT画面に画像を表示する
// 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 / /レオナルドのピン定義//#define sd_cs 8 //#define lcd_cs 7 //#define dc 0 //#define rst 1TFT TFTscreen =TFT(lcd_cs、dc、rst); //この変数はscreenPImageに描画logo; void setup(){// GLCDを初期化し、//ユーザーにシリアルラインTFTscreen.begin();を開くように求めるメッセージを表示します。 TFTscreen.background(255、255、255); TFTscreen.stroke(0、0、255); TFTscreen.println(); TFTscreen.println(F( "Arduino TFTビットマップの例")); TFTscreen.stroke(0、0、0); TFTscreen.println(F( "シリアルモニターを開く")); TFTscreen.println(F( "スケッチを実行する")); //シリアルポートを初期化します://診断情報を出力するために使用されますSerial.begin(9600); while(!Serial){//シリアルポートが接続するのを待ちます。ネイティブUSBポートにのみ必要} // TFTscreen.background(255、255、255);を開始する前にGLCD画面をクリアします。 // SDカードへのアクセスを試みます。それが失敗した場合(例://カードが存在しない場合)、セットアッププロセスは停止します。 Serial.print(F( "SDカードを初期化しています...")); if(!SD.begin(sd_cs)){Serial.println(F( "failed!"));戻る; } Serial.println(F( "OK!")); // GLCD画面を初期化してクリアしますTFTscreen.begin(); TFTscreen.background(255、255、255); // SDカードにアクセスできるようになったので、//画像ファイルをロードしてみます。ロゴ=TFTscreen.loadImage( "arduino.bmp"); if(!logo.isValid()){Serial.println(F( "arduino.bmpのロード中にエラーが発生しました")); }} void loop(){//画像が正しく読み込まれなかった場合は何もしません。 if(logo.isValid()==false){return; } Serial.println(F( "描画画像")); //画像を描画する場所をランダムに取得します。 //画像が画面の外に描画されないようにするには、//画像のサイズを考慮します。 int x =random(TFTscreen.width()-logo.width()); int y =random(TFTscreen.height()-logo.height()); //画像を画面に描画しますTFTscreen.image(logo、x、y); //少し待ってから、もう一度描画しますdelay(1500);}
製造プロセス