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); | |
| } |