ผู้เขียน หัวข้อ: งานครั้งที่ 12 เขียนโปรแกรมแสดงอุณภูมิจากอุปกรณ์เซนเซอร์อุณหภูมิแสดงผลผ่าน UART  (อ่าน 5418 ครั้ง)

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
เขียนโปรแกรมแสดงอุณภูมิจากอุปกรณ์เซนเซอร์อุณหภูมิแสดงผลผ่าน UART
ฟังก์ชั่นอยู่ในกลุ่ม Serial http://arduino.cc/en/Reference/Serial
-Serial.begin() http://arduino.cc/en/Serial/Begin
-if (Serial) http://arduino.cc/en/Serial/IfSerial
-Serial.available() http://arduino.cc/en/Serial/Available
-Serial.read() http://arduino.cc/en/Serial/Read
-Serial.print() http://arduino.cc/en/Serial/Print
-Serial.println() http://arduino.cc/en/Serial/Println
-Serial.flush() http://arduino.cc/en/Serial/Flush

ฟังก์ชั่นทั่วไป
-analogRead() http://arduino.cc/en/Reference/AnalogRead

โจทย์โปรแกรม
-แสดงค่าอุณหภูมิปัจจุบันจากเซนเซอร์แอนาลอกบนจอคอมพิวเตอร์ผ่านทาง UART
-โปรแกรมรายละเอียดพิเศษรายกลุ่ม (แจ้งให้ทราบเมื่อถึงชั่วโมงเรียน)

วงจรที่ใช้ในการทดลองสำหรับผู้ที่ใช้บอร์ด Arduino


วงจรที่ใช้ในการทดลองสำหรับผู้ที่ใช้ไอซี ATmega328 (ที่มี Boot Loader Arduino)


บริเวณใช้งานบอร์ดทดลอง
« แก้ไขครั้งสุดท้าย: มิถุนายน 27, 2017, 04:19:07 PM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
ตัวอย่างโปรแกรมแสดงอุณภูมิเบื้องต้น
โค๊ด: [Select]
double Thermistor(int RawADC) 
{
  double Cal;
  Cal = log(10000.0/((1024.0/RawADC-1)));
  Cal = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Cal * Cal ))* Cal );
  Cal = Cal - 273.15;            /* Convert Kelvin to Celcius */
  return Cal;
}

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  float Temp=Thermistor(analogRead(0));
  Serial.println(Temp);
  delay(1000);
}
« แก้ไขครั้งสุดท้าย: กรกฎาคม 21, 2017, 01:14:23 PM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
....
« แก้ไขครั้งสุดท้าย: กุมภาพันธ์ 14, 2015, 03:51:13 PM โดย admin »