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 件のコメント:
コメントを投稿