2024年4月15日月曜日
dht11 and lcd1602-i2c code / keypad
// http://7ujm.net/micro/i2clcd.html
// nano and atmega328p-8mhz both success
// arduino as isp(nano)10->atmega8 1pin,11->same 11,12->same 12,13->same 13
#include
//アドレス0x27 16文字2行の液晶
LiquidCrystal_I2C lcd(0x27, 16, 2);
#include // ライブラリのインクルード
#define DHT_PIN 7 // DHT11のDATAピンをデジタルピン7に定義 1wire
#define DHT_MODEL DHT11 // 接続するセンサの型番を定義する(DHT11やDHT22など)
DHT dht(DHT_PIN, DHT_MODEL); // センサーの初期化
void setup() {
dht.begin(); // センサーの動作開始
lcd.init(); // lcd initialize
lcd.backlight();
}
void loop() {
delay(2000); // センサーの読み取りを2秒間隔に
lcd.clear();
float Humidity = dht.readHumidity(); // 湿度の読み取り
float Temperature = dht.readTemperature(); // 温度の読み取り(摂氏)
if (isnan(Humidity) || isnan(Temperature)) { // 読み取りのcheck
return;
}
lcd.setCursor(0, 0);
lcd.print("humid ");
lcd.print(Humidity,DEC);
lcd.setCursor(0, 1);
lcd.print("temp ");
lcd.print(Temperature,DEC);
}
------------------------------------------------------------------------
//https://novicengineering.com/arduino%E3%82%92%E7%94%A8%E3%81%84%E3%81%A6%E3%83%86%E3%83%B3%E3%82%AD%E3%83%BC%E3%83%91%E3%83%83%E3%83%89%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B/
#include
const byte ROWS = 4; //4行のキーパッドを使用
const byte COLS = 4; //4列のキーパッドを使用
char keys[ROWS][COLS] = {
//配列を表す
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; //接続するピン番号
byte colPins[COLS] = {5, 4, 3, 2};
Keypad customKeypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
//キーパッドの初期化
void setup(){
Serial.begin(9600);
}
void loop(){
char customKey = customKeypad.getKey();//押されたキーを検出
if (customKey){
Serial.println(customKey);
}
}
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿