สอบถาม Arduion code ตรวจวัดอุณหภูมิ ด้วย LM35 และ output คือ Relay

สวัสดีครับ ผมเพิ่งเริ่มศึกษา Arduion เป็นบอร์ด Uno ครับ มือใหม่มาก  ได้หนังสือมาเล่มนึงกำลังอ่านอยู่ครับ

ตอนนี้ก็ก๊อบโค้ดมาจากเว็บ และลองวัดอุณภูมิแบบวนลูปไปเรื่อยๆ ได้แล้วครับ
อยากสอบถามว่า  ถ้าผมต้องการนำ LM35 ไปวัดชิ้นงาน  

และมีเงื่อนไขว่า
ถ้าอุณภูมิมากกว่า 80องศาเซลเซียส ให้ on Relay
ถ้าอุณภูมิน้อยกว่า 80องศาเซลเซียส ให้ off Relay


ที่พอจะเริ่มก็ ได้ประมาณนี้ ยังไม่รู้จะวางโค้ดไว้ตามลำดับยังไง

อ่านค่าจาก input pin 0
ขาออกเป็นขาไหนก็ได้ครับ จะเอาไปเอา TR แล้วไปขับ Relay อีกครั้งนึงครับ

float temp;
int tempPin = 0;
void setup() {
  // put your setup cod:), to run once:
pinMode(13,OUTPUT);
Serial.begin(9600);
}

void loop() {
  // put your main cod:), to run repeatedly:
temp = analogRead(tempPin);

temp = temp * 0.48828125;

Serial.print("TEMPRATURE = ");

Serial.print(temp);

Serial.print("*C");

Serial.println();

delay(1000);
}

ท่านได้พอทราบมีโค้ดให้ศึกษา หรือมีลิ้งค์เกี่ยวกับ Sensor และ Relay  รบกวนชี้แนะด้วยครับ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 5
float temp;
int tempPin = 0;   // the output pin of LM35
int relay = 12;     // the pin where relay is
int led = 8;        // led pin
int tempset = 90;   // the temperature to start the relay
void readTemp();

//---------------------------------
void setup() {
  pinMode(relay, OUTPUT);
  pinMode(led, OUTPUT);
  //pinMode(tempPin, INPUT);
  Serial.begin(9600);
   
}
//---------------------------------
void loop() {  
   readTemp();     // get the temperature
   if(temp < tempset) {   // if temp is lower than tempset
       digitalWrite(relay, LOW);      
   }
   if(temp > tempset) {        // if temp is higher than tempset
       digitalWrite(relay, HIGH);  // turn on relay
       digitalWrite(led, HIGH);  // turn on led
   }
   

}
//---------------------------------
void readTemp() {  // get the temperature and convert it to celsius
  temp = analogRead(tempPin);
  temp = temp * 0.48828125;

Serial.print("TEMPRATURE = ");
Serial.print(temp);
Serial.print("*C");
Serial.println();
delay(1000);
  }
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่