2026年8月31日月曜日

wioterminal by arduinoIDE2(jpeg,grove dht11)

 chap4_jpeg 以下のように変更(チャットくんにきいた)

#include <LGFX_AUTODETECT.hpp>
#include <SPI.h>
#include "Seeed_FS.h"
#include "SD/Seeed_SD.h"
#include <LovyanGFX.hpp>

static LGFX tft;

void setup()
{
tft.begin();

digitalWrite(LCD_BACKLIGHT, HIGH);

tft.setRotation(1);
tft.fillScreen(TFT_BLACK);
tft.setTextColor(TFT_RED);
tft.println("RAM ERROR");

// SDカード初期化
if (!SD.begin(SDCARD_SS_PIN, SDCARD_SPI))
{
tft.setTextColor(TFT_RED);
tft.setTextColor(TFT_RED);
tft.println("RAM ERROR");
tft.println("SD ERROR");
return;
}

tft.setTextColor(TFT_WHITE);
tft.println("SD OK");

// JPEGファイルを開く
File file = SD.open("/image.jpg");

if (!file)
{
tft.setTextColor(TFT_RED);
tft.println("image.jpg ERROR");
return;
}

// ファイルサイズ
size_t size = file.size();

tft.printf("JPEG size: %d\n", size);

// JPEGをRAMへ読み込む
uint8_t *buf = (uint8_t *)malloc(size);

if (buf == nullptr)
{
tft.setTextColor(TFT_RED);
tft.println("RAM ERROR");
file.close();
return;
}

file.read(buf, size);
file.close();

tft.println("JPEG loaded");

// JPEG表示
bool result = tft.drawJpg(
buf,
size,
0,
0
);

if (result)
{
tft.println("JPEG OK");
}
else
{
tft.setTextColor(TFT_RED);
tft.println("JPEG ERROR");
}

free(buf);
}

void loop()
{
}
----------------------------------------------------
#include <LGFX_AUTODETECT.hpp> #include <LovyanGFX.hpp> #include <DHT.h> static LGFX tft; // DHT11のDATAを接続したピン番号 #define DHTPIN 0 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { // 液晶初期化 tft.begin(); digitalWrite(LCD_BACKLIGHT, HIGH); tft.setRotation(1); tft.fillScreen(TFT_BLACK); // DHT11初期化 dht.begin(); tft.setTextSize(2); tft.setTextColor(TFT_WHITE); } void loop() { // 個別に測定するようにライブラリが変更されていたので、チャットくんがリファクタした // 温度 float temperature = dht.readTemperature(); // 湿度 float humidity = dht.readHumidity(); // 読み取りエラー確認 if (isnan(temperature) || isnan(humidity)) { tft.fillScreen(TFT_BLACK); tft.setCursor(0, 0); tft.println("DHT11 Error"); } else { tft.fillScreen(TFT_BLACK); tft.setCursor(0, 0); tft.print("Temperature: "); tft.print(temperature); tft.println(" C"); tft.println(); tft.print("Humidity: "); tft.print(humidity); tft.println(" %"); } // DHT11は高速に読みすぎない delay(2000); }c

0 件のコメント:

コメントを投稿