วันพุธที่ 22 กรกฎาคม พ.ศ. 2558

วันที่ 46 ของการฝึกงานที่ FIBO

        วันนี้ผมได้ทำการเขียนโปรแกรมใหม่ เหตุผมที่ผมเขียนใหม่คือโปรแกรมอันเดิมมันยังไม่ดีครับมันยังอ่านค่าอุณหภูมิไม่ถูกต้องครับ แนวทางการเขียนของผมคือ ให้ความร้อนจากหัวฉีดพลาสติกแล้วแสดงผลออกทางจอภาพแล้วทำการคอนโทรลความร้อนให้คงที่จากนั้นให้ทำการจ่ายพลาสติกให้กับหัวหัวฉีดพลาสติก ครับ

#define END_EFFECTOR        10
#include <LiquidCrystal.h>

#include <Wire.h>
 //ประกาศ Library ของจอ I2C
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal lcd(16, 17, 23, 25, 27, 29);
const int analogInPin = A13;
int sensorValue = 0;
float RValue = 0;
float Rsensor = 0;
float Temperature = 0;
float Ta = 0;
float Tb = 0;
float Tc = 0;
const long table [72][2] =
{
 {-55,10723236},{-50,7366689},{-44,5132757},{-40,3624165},{-35,2591304},
 {-30,1874913},{-25,1371886},{-20,1014545},{-15,757881},{-10,571590},
 {-5,435026},{0,333964},{5,258497},{10,201659},{15,158499},{20,125468},
 {25,100000},{30,80223},{35,64759},{40,52589},{45,42951},{50,35272},
 {55,29119},{60,24161},{65,20144},{70,16874},{75,14198},{80,11998},
 {85,10181},{90,8674},{95,7419},{100,6369},{105,5487},{110,4744},
 {115,4115},{120,3581},{125,3126},{130,2737},{135,2404},{140,2117},
 {145,1869},{150,1655},{155,1469},{160,1307},{165,1166},{170,1043},
 {175,934},{180,839},{185,755},{190,681},{195,615},{200,557},{205,505},
 {210,459},{215,418},{220,382},{225,349},{230,319},{235,292},{240,269},
 {245,247},{250,227},{255,210},{260,194},{265,179},{270,166},{275,154},
 {280,143},{285,133},{290,124},{295,115},{300,107}};

 void setup()
  {
   pinMode(10,OUTPUT);
   pinMode(A13,INPUT);

 }
 void loop()
 {
   sensorValue = analogRead(analogInPin); // Read the SENSOR
   RValue = (sensorValue*5.0000)/1024.0000; //Calculated from sensor
   Rsensor = ((50/(5 - RValue))-10)*1000; //The value of the resistive sensors.
     delay(100);
      for(int i =0 ; i<72 ; i++)
   {
     if(Rsensor>table[i][1])
     {
       Ta  = ((table[i-1][1])-Rsensor); //Calculated the resistive sensors
       Tb = Ta/((table[i-1][1])-(table[i][1]));
       Tc = Tb*5;       Temperature = (table[i][0])-Tc;
       lcd.clear();
       lcd.setCursor(0, 1);
       lcd.print("Temperature =" );
       lcd.print(Temperature);
       lcd.print(" C");
       break;
     }
   
   }

     if(Temperature < 150)
    {
   digitalWrite(END_EFFECTOR, HIGH);  
    }
    else{digitalWrite(END_EFFECTOR, LOW); }
     
      if(Temperature >= 200)
    {
   digitalWrite(END_EFFECTOR, LOW);  
    }
    else{digitalWrite(END_EFFECTOR, HIGH); }    
   
 }
 
 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น