Arduino การอ่านค่าอุณหภูมิและค่าความชื้นจาก DHT11 ครั้ง 15
Code
#include <LedControl.h> // การอ่านไฟล์จากไดเร็กทอรี หรือโฟลเดอร์ที่กำหนดไว้
#include <DHT11.h>
int pin=4; // ตัวแปรพื้นฐานที่เก็บตัวเลขโดยไม่มีจุดทศนิยม
DHT11 dht11(pin); //ฟังก์ชั่นพิเศษของ DHT11.h
LedControl lc=LedControl(8,10,9,1); //ฟังก์ชั่นของ lcd
void show2digit(int h,int t) // การเขียนฟังชั่นขึ้นมาโดยตั้งชื่อว่า show2digit
{
int seg1,seg2,seg3,seg4;
seg1 = h%10;
seg2 = h/10;
lc.setDigit(0,4,seg1,false);
lc.setDigit(0,5,seg2,false);
seg3 = t%10;
seg4 = t/10;
lc.setDigit(0,0,seg3,false);
lc.setDigit(0,1,seg4,false);
delay(300);
}
void setup() // ฟังก์ชั่นใช้ในการประกาศค่าเริ่มต้น
{
Serial.begin(9600); //ประกาศการใช้งานการสื่อสารรับส่งข้อมูลผ่าน พอร์ตRS232
while (!Serial) { //คำสั่ง While คือเงื่อนไขที่จะทำการตรวจสอบว่าเป็นจริงหรือเท็จ
; // wait for serial port to connect. Needed for Leonardo only
}
lc.shutdown(0,false);
lc.setIntensity(0,5);
lc.clearDisplay(0);
}
void loop() // ฟังก์ชั่นใช้ในการเขียนโค้ดโปรแกรมการทำงานของArduinoเป็นฟังก์ชั่นการวนลูปไปเรื่อยๆ
{
int err;
float temp, humi; // ตัวแปรชนิด floating-point หรือตัวแปรที่มีจุดทศนิยม
if((err=dht11.read(humi, temp))==0) // คำสั่งในการตัดสินใจ แบบตัวเลือกเดียว โดยใช้งานร่วมกับ ==, !=, <, >เพื่อใช้ใน การ ตัดสินใจในการหาคำ
{
Serial.print("temperature:");
Serial.print(temp);
Serial.print(" humidity:");
Serial.print(humi);
Serial.println();
}
else
{
Serial.println();
Serial.print("Error No :");
Serial.print(err);
Serial.println();
}
lc.clearDisplay(0);
show2digit(humi,temp);
}
ภาพจำลองการทำงานด้วยโปรแกรม Proteus
อธิบายการทำงานของโปรแกรม
เเสดงผลของเซ็นเซอร์วัดอุณหภูมิและความชิ้น เเล้วเเสดงผล บน7 segment
ความคิดเห็น
แสดงความคิดเห็น