超小型ディスプレイSSD1306の使い方【電子工作入門】

Поділитися
Вставка
  • Опубліковано 6 січ 2025
  • 電子工作で非常に良く利用される、小型のディスプレイOLED SSD1306の使い方についてお話します。
    このディスプレイを使うにあたっては、らびやんさんの作られたグラフィックライブラリLovyanGFXを使用します。
    マイコンは、ESP8266とESP32を使用します。
    ■リンク集
    ・LovyanGFX
    github.com/lov...
    ・制作にあたり参考にしたページ
    Lang-shipさんの記事。LovyanGFXの使い方について非常に詳細に書かれています。
    lang-ship.com/...
    ・画像データを配列コードに変換するツール
    lang-ship.com/...
    ・NewsAPI
    newsapi.org/
    ■LovyanGFXの簡易リファレンス
    【文字描画】
    fillScreen(TFT_BLACK);
     画面をその色で描画する。画面クリアに使う。
    setFont(&fonts::Font0);
     フォントを指定する。フォントの読み込みは一番最初にすること。
    setTextColor(TFT_WHITE, TFT_BLACK);
     文字色と背景色を指定する。
    setTextSize(倍率);
     倍率には小数の使用も可能。
    textWidth(”abc”);
     文字列の横幅を求める。
    fontHeight();
     フォントの文字の高さを求める。
    setCursor(x, y);
     カーソルの位置を移動させる
    setTextWrap(false);
     falseにすると、自動改行しなくなる。
    print(”文字”);
     文字列の単純出力。改行には
    が必要。
    println(”文字”);
     改行付き文字出力。
    printf(”文字、フォーマット, 引数);
     フォーマット付き文字出力。
    【画像表示】
    pushImage(x, y, imgWidth, imgHeight, img);
     描画先の座標(x, y)に横幅と縦幅を指定してimgのデータを描画する。
    static LGFX_Sprite sprite(&lcd);
     spriteのインスタンス作成。
    sprite.setBuffer((void*)img, imgWidth, imgHeight, 16);
     スプライトにimgを設定する。
    sprite.createSprite(imgWidth, imgHeight);
     スプライトを作成する。
    sprite.pushSprite(&lcd, x, y, TFT_WHITE);
     スプライトをlcdに表示する。
    sprite.pushRotateZoom(&lcd, x, y, rad, zoom, zoom);
     回転とズーム付きの描画関数。&lcdは基本必要なし。座標x, y, 角度, 横倍率, 縦倍率。
    drawPng((std::uint8_t*)imgPng, imgSize, x, y);
     PNGファイルの描画。
    #電子工作 #ssd1306 #LovyanGFX

КОМЕНТАРІ • 10

  • @yamachandesu
    @yamachandesu 2 роки тому +1

    なかなか参考になる動画が沢山あって
    久々に発見した素晴らしい
    チャンネルだと思います。
    原理説明が大変素晴らしい!

    • @tanech_technology
      @tanech_technology  2 роки тому +1

      日本のヤマちゃんさん。
      お褒め頂きありがとうございます^^
      LovyanGFXがとても素晴らしいライブラリなので、この動画が使用者の一助になればと思っております。

  • @yamachandesu
    @yamachandesu 2 роки тому +1

    インターネットから文字情報を取り込むプログラム解説された
    動画をぜひ見たいです♪

    • @tanech_technology
      @tanech_technology  2 роки тому +1

      あ、そうですよね(^_^;)
      付録の応用例だし、WEB-APIをESPから叩くプログラムはかなり複雑なので、バッサリ解説を割愛してしまいましたw
      ご要望いただきましたので、別途動画を作成したいと思います!

    • @yamachandesu
      @yamachandesu 2 роки тому +1

      あ、ありがとうございます‼️
      是非とも知りたい事です。
      いつでも結構ですから無理のない様にして
      新しい動画を楽しみに気長に待ちます♪

    • @tanech_technology
      @tanech_technology  2 роки тому +1

      @@yamachandesu さん
      ありがとうございます。頑張ります!

  • @takeshi1119
    @takeshi1119 2 роки тому +1

    OLED SSD1306ですが、モノクロですよね!?
    6:23でRGBを選択したのは何故ですか?

    • @tanech_technology
      @tanech_technology  11 місяців тому

      コメント遅くなり申し訳ございません。
      ご指摘ありがとうございます。
      なぜそうしたのか、もう忘れてしまって申し訳ないのですが、色々実験して、それじゃないと画像バケしちゃうとか、そういった理由だったと思います。