NefryBTのA0
端子にGrove温湿度センサを接続する
ライブラリマネージャから DHT sensor library by Adafruit
をインストールする
以下を参照して日本語フォントフォントを導入する
NefryBTで日本語表示させてみる | Qiita
temp_meter_jp.ino
を参照
NefryBTのA0
端子にGrove温湿度センサを接続する
ライブラリマネージャから DHT sensor library by Adafruit
をインストールする
以下を参照して日本語フォントフォントを導入する
NefryBTで日本語表示させてみる | Qiita
temp_meter_jp.ino
を参照
#include <stdio.h> | |
#include <Nefry.h> | |
#include <NefryDisplay.h> | |
#include <NefrySetting.h> | |
#include <misakiUTF16.h> | |
#include "DHT.h" | |
#define DHTPIN A0 | |
#define DHTTYPE DHT11 | |
DHT dht( DHTPIN, DHTTYPE ); | |
void setting(){ | |
Nefry.disableWifi(); | |
Nefry.disableDisplayStatus(); | |
} | |
NefrySetting nefrySetting(setting); | |
void misakiPrint(int x, int y, char * pUTF8) { | |
int n=0; | |
byte buf[20][8]; //160x8ドットのバナー表示パターン | |
while(*pUTF8) | |
pUTF8 = getFontData(&buf[n++][0], pUTF8); // フォントデータの取得 | |
// 文字の描画 | |
for (byte i=0; i < 8; i++) { | |
for (byte j=0; j < n; j++) { | |
for (byte k=0; k<8;k++) { | |
if(bitRead(buf[j][i],7-k)) { | |
NefryDisplay.setPixel(x + 8*j + k , y + i); | |
} | |
} | |
} | |
} | |
} | |
int iter = 0; | |
void displayTempInfo() { | |
float h = dht.readHumidity(); | |
float t = dht.readTemperature(); | |
char buffer[50]; | |
if( isnan(t) || isnan(h) ) | |
{ | |
NefryDisplay.drawString(0,0, "Failed to read from DHT" ); | |
} | |
else | |
{ | |
NefryDisplay.setFont(ArialMT_Plain_24); | |
sprintf(buffer,"しつど:",h); | |
misakiPrint(0, 0, buffer); | |
sprintf(buffer,"%.2f %%",h); | |
NefryDisplay.drawString(32, 0, buffer); | |
sprintf(buffer,"温度:"); | |
misakiPrint(0, 30, buffer); | |
sprintf(buffer,"%.2f *C",t); | |
NefryDisplay.drawString(32, 30, buffer); | |
if(t < 10.0){ | |
sprintf(buffer,"こごえしぬ!"); | |
}else if(t < 18.0) { | |
sprintf(buffer,"さむい!"); | |
} else if(t < 26.0){ | |
sprintf(buffer,"かいてき"); | |
} else if(t < 36.0){ | |
sprintf(buffer,"あつい!"); | |
}else { | |
sprintf(buffer,"わからん"); | |
} | |
misakiPrint(50, 55, buffer); | |
NefryDisplay.setFont(ArialMT_Plain_10); | |
sprintf(buffer,"%d",iter); | |
NefryDisplay.drawString(100, 52, buffer); | |
iter++; | |
} | |
} | |
void setup() { | |
dht.begin(); | |
} | |
void loop() { | |
NefryDisplay.clear(); | |
displayTempInfo(); | |
NefryDisplay.display(); | |
delay(5000); | |
} |