- جۇغلانما
- 797
UID10414
تىزىملاتقان2012-9-26
ئاخىرقى قېتىم2015-4-14
توردا180 سائەت
ئالىي ئەزا

- نادىر
- 0
- جۇغلانما
- 797
- ئاقچا
- 10

|
ئەسسالامۇ ئەلەيكۇم مۇنبەر ئەھلى.يېقىندىن بېرى ئاردۇينو توغرىسىدىكى تېمىلار ئازلاپ كەتتى،شۇڭا ئاددىي بولسىمۇ ئۆزەم ياسىغان تېرمو كونتروللىغۇچنى كوپچىلىكنىڭ ھۇزۇرىغا سۇندۇم.
تېرمو كونتروللىغۇچ تۇرمۇشىمىزدا كۆپ ئۇچرايدىغان بىرخىل كونتروللىغۇچ،ئۇنىڭ تۈرلىرى مۇ كۆپ خىل.تۇرمۇشىمىزغا يېقىن بولغان بىرنەچچە مىسال ئالساق توڭلاتقۇدىكى تېرمو كونتروللىغۇچ بەلگىلەنگەن تېمپراتورا دائىرىسىدە كومپرېسسورنى قوزغىتىش-توختىتىش ئارقىلىق توڭلاتقۇنىڭ ئىچكى تىمپراتورىسىنى تۇراقلىق ھالەتتە ساقلايدۇ،بۇ بىرخىل تەڭشىگىلى بولىدىغان تېرمو كونتروللىغۇچ.ئۇنىڭدىن باشقا توك قازانلادا تاماق دۈملىگىنىمىزدە ئەگەر تاسادىبەي قازاندىكى سۇ تۈگەپ كېتىپ قالسا توك قازان تېمپراتورىسى بەلگىلەنگەن چەكتىن ئېشىپ كېتىپ توكنى ئاپتۇماتىك ئۈزىدۇ.توك چەينەك سۇ قاينىغاندا توكنى ئاپتۇماتىك ئۈزىدۇ.بۇلار تەڭشىگىلى بولمايدىغان مېخانىك تېرمو كونتروللىغۇچلار.تېرمو كونتروللىغۇچ توغرىسىدا ئاز تولا چۈشەنچىگە ئىگە بولغاندىن كېيىن تەسەۋۋۇرىمىزنى ئىشلىتىپ باقايلى،تېرمو كونتروللىغۇچتا يەنە قانداق ئىشلارنى قىلغىلى بولىدۇ؟
پار قازىنىدا ئىسسىقلىق بىلەن تەمىنلىگەندە سۇنى توك ئارقىلىق سۇ پومپىسى ئايلاندۇرىدۇ،سۇنىڭ تېمپراتورىسى تۆۋەنلەپ كەتكەندە داۋاملىق ئايلاندۇرىۋەرسە ئىسسىتىش ئۈنۈمى بولمايدۇ،پار قازىنىدىكى سۇنىڭ ئىسسىشىمۇ ئاستا بولىدۇ،مۇھىمى توك خورايدۇ.ئەمدى بىز پار قازىنىغا بىر تېرمو كونتروللىغۇچ ئورنىتىپ پار قازاندىكى سۇنىڭ تېمپراتورىسى 50سېلتسىيە گرادۇستى ئاشقاندا سۇ پومپىسى قوزغىلىپ سۇنى ئايلاندۇرىدىغان،سۇنىڭ تىمپراتورىسى تۆۋەنلەپ 30سېلتسىيە گرادۇستىن تۆۋەن بولغاندا سۇ پومپىسىنى توختىتىدىغان قىلساق ئىسسىتىش ئۈنۈمىنى يوقىرىلاتقىلى،ئېنىرگىيەنى تىجىگىلى بولىدۇ.ئۇنىڭدىن باشقا قىشتا پارنىكلادا ئىسسىتىشتا توك ئارقىلىق ئىسسىتىش ئۇسۇللىرىمۇ قوللىنىلىۋاتىدۇ،ئەگەر داۋاملىق ئىسسىتسا تېمپراتورا بەك يوقىرى بولۇپ كېتىشى مۇمكىن،مەخسۇس ئادەم كونترول قىلسا بەكلا قولايسىز بولىدۇ،ئەگەر پارنىكقا بىر تېرمو كونتروللىغۇچ ئورناتساق ئۇنداقتا پارنىكنىڭ تېمپراتورىسىنى مۇقىم كونترول قىلالايمىز.ئەگەر ئۇنىڭ كونترول قىلىش ئۇچىنى پارنىكنىڭ يېپىنچىسىنى ئېچىپ-ياپىدىغان ئېلىكتىر ماتورغا ئۇلىساق پارنىك تېمپراتورىسىغا ئاساسەن پارنىك يېپىنچىسى ئاپتۇماتىك يېپىلىدۇ ياكى ئېچىلىدۇ...
قول سېلىپ ياساشقا كەلسەك مەن ئىشلەتكىنىم Arduino UNO،LM35تېمپراتورا سېنزورى،تۆت خانىلىك رەقەم لامپا،بەش دانە220ئوملۇق قارشىلىق،ئۈچ دانە كونۇپكا،ئىككى دانە لامپا.
ئاۋال ئېھتىياجىمىزغا ئاساسەن توك يولىنى لاھىيەلىۋالىمىز.
ئاندىن ئاردۇينوغا تۈزىۋالغان كودنى يازىمىز.
- #include
- #define termo A0 //تېرمو سېنزور
- #define Reli 0 //يوقىرى چەك قوزغىتىش
- #define Reli1 1 //تۆۋەن چەك قوزغىتىش
- //رەقەم لامپىسىنىڭ پۇتلىرى
- #define Put_A 2
- #define Put_B 3
- #define Put_C 4
- #define Put_D 5
- #define Put_E 6
- #define Put_F 7
- #define Put_G 8
- #define Put_H 9
- //خانە پۇتلىرى
- #define Hane1 10
- #define Hane2 11
- #define Hane3 12
- #define Hane4 13
- //كونۇپكىلار
- int tengshek=0;
- int asti=0;
- int usti=0;
- //دەسلەپكى قىممەت
- int chong=40; //تىمپراتورا يوقىرى چېكى40سېلتسىيە گرادۇس
- int kichik=20; //تۆۋەن چەك 20سېلتسىيە گىرادۇس
- int halet=0; //كۆرسىتىش ھالىتى تېرمومېتىر
- int ter = 0; //تېرمومېتىر ئوقۇش قىممىتى
- int temp = 0; //تىمپراتورا
- unsigned char jedwel[14][7] =
- {/* رەقەم لامپىسىنىڭ ھالىتىنى تەھلىل قىلىش ئۈچۈن بىر دانە رەقەم لامپىسى تۈزۈلۈش ھالىتىنى تۈزىۋالدۇق.
- aaaaaaa
- ff bb
- ff bb
- ff bb
- ggggggg
- ee cc
- ee cc
- ee cc
- ddddddd hh*/
- /*{a , b , c , d , e , f , g }, */
- {1 , 1 , 1 , 1 , 1 , 1 , 0 }, //0 0
- {0 , 1 , 1 , 0 , 0 , 0 , 0 }, //1 1
- {1 , 1 , 0 , 1 , 1 , 0 , 1 }, //2 2
- {1 , 1 , 1 , 1 , 0 , 0 , 1 }, //3 3
- {0 , 1 , 1 , 0 , 0 , 1 , 1 }, //4 4
- {1 , 0 , 1 , 1 , 0 , 1 , 1 }, //5 5
- {1 , 0 , 1 , 1 , 1 , 1 , 1 }, //6 6
- {1 , 1 , 1 , 0 , 0 , 0 , 0 }, //7 7
- {1 , 1 , 1 , 1 , 1 , 1 , 1 }, //8 8
- {1 , 1 , 1 , 1 , 0 , 1 , 1 }, //9 9
- {1 , 1 , 1 , 0 , 1 , 1 , 1 }, //A 10
- {0 , 1 , 1 , 1 , 1 , 1 , 0 }, //U 11
- {0 , 1 , 1 , 0 , 1 , 1 , 1 }, //H 12
- {0 , 0 , 0 , 0 , 0 , 0 , 1 } //- 13
- };
- //خانە جەدۋىلى(تۆۋەن پوتىنسىئال ئۈنۈملۈك)
- unsigned char hane_jedwel[4][4] ={{0,1,1,1},{1,0,1,1},{1,1,0,1},{1,1,1,0}};
- void setup()
- { pinMode(Put_A , OUTPUT); //ئۇلىنىش پۇتلىرى ھەممىسى چىقىرىش ھالىتىدە
- pinMode(Put_B , OUTPUT);
- pinMode(Put_C , OUTPUT);
- pinMode(Put_D , OUTPUT);
- pinMode(Put_E , OUTPUT);
- pinMode(Put_F , OUTPUT);
- pinMode(Put_G , OUTPUT);
- pinMode(Put_H , OUTPUT);
- pinMode(Reli , OUTPUT);
- pinMode(Reli1 , OUTPUT);
- pinMode(Hane1 , OUTPUT);
- pinMode(Hane2 , OUTPUT);
- pinMode(Hane3 , OUTPUT);
- pinMode(Hane4 , OUTPUT);}
- void loop()
- { tengshek=analogRead(1); //تەڭشەك كونۇپكىسى 1-تەقلىدىي پۇت
- asti=analogRead(2); //تۆۋەنلىتىش كونۇپكىسى 2-تەقلىدىي پۇت
- usti=analogRead(3); //يوقىرىلىتىش كونۇپكىسى 3-تەقلىدىي پۇت
- ter = analogRead(termo); //تەقلىدىي-سىفىرلىق ئالماشتۇرۇش
- temp = ter * 4.8876; //تېمپراتورا قىممىتىنىڭ 10ھەسسىسى
- if(temp/10>chong)
- digitalWrite(Reli , LOW); //تىمپراتورا بەلگىلەنگەن يوقىرى قىممەتتىن ئېشىپ كەتكەندە قوزغىلىدۇ
- else digitalWrite(Reli , HIGH);
- if(temp/10
- digitalWrite(Reli1 , LOW);
- else digitalWrite(Reli1 , HIGH); //تىمپراتورا بەلگىلەنگەن تۆۋەن قىممەتتىن تۆۋەنلەپ كەتكەندە قوزغىلىدۇ
- if (tengshek>900)
- {delay(20);
- halet++; //ھالەت ئالماشتۇرۇش
- if (halet==3)
- halet=0;};
- if (usti>900)
- {delay(100);
- if(halet==1)
- chong++;
- else if(halet==2)
- kichik++; }; //يوقىرىلىتىش
- if (asti>900)
- {delay(100);
- if(halet==1)
- chong--;
- else if(halet==2)
- kichik--; };//تۆۋەنلىتىش
- switch(halet)
- {case 0: //تېرمومېتىر ھالىتىدە
- Korsitish(0 , 12); //H
- delay(3);
- Korsitish(1 , temp/100%10); //ئونلار خانىسى
- delay(3);
- Korsitish(2 , temp/10%10); //بىرلەر خانىسى
- delay(3);
- Korsitish(3 , temp%10); // ئوندىن بىر
- delay(3);
- break;
- case 1: //يوقىرى چەكنى تەڭشەش ھالىتى
- Korsitish(0 , 11); //U
- delay(3);
- Korsitish(1 , 13); //-
- delay(3);
- Korsitish(2 , chong/10%10); //ئونلار خانىسى
- delay(3);
- Korsitish(3 , chong%10); //بىرلەر خانىسى
- delay(3);
- break;
- case 2://تۆۋەن چەكنى تەڭشەش ھالىتى
- Korsitish(0 , 10); //A
- delay(3);
- Korsitish(1 , 13); //-
- delay(3);
- Korsitish(2 , kichik/10%10); //ئونلار خانىسى
- delay(3);
- Korsitish(3 , kichik%10); //بىرلەر خانىسى
- delay(3);
- break;}}
- void Korsitish(int Hane , int reqem) //كۆرسىتىش فونكىتسىيىسى
- { digitalWrite(Put_A , LOW); //تازىلاش
- digitalWrite(Put_B , LOW);
- digitalWrite(Put_C , LOW);
- digitalWrite(Put_D , LOW);
- digitalWrite(Put_E , LOW);
- digitalWrite(Put_F , LOW);
- digitalWrite(Put_G , LOW);
- digitalWrite(Put_H , LOW);
- //خانە
- digitalWrite(Hane1 , hane_jedwel[Hane][0]);
- digitalWrite(Hane2 , hane_jedwel[Hane][1]);
- digitalWrite(Hane3 , hane_jedwel[Hane][2]);
- digitalWrite(Hane4 , hane_jedwel[Hane][3]);
- //رەقەم
- digitalWrite(Put_A , jedwel[reqem][0]);
- digitalWrite(Put_B , jedwel[reqem][1]);
- digitalWrite(Put_C , jedwel[reqem][2]);
- digitalWrite(Put_D , jedwel[reqem][3]);
- digitalWrite(Put_E , jedwel[reqem][4]);
- digitalWrite(Put_F , jedwel[reqem][5]);
- digitalWrite(Put_G , jedwel[reqem][6]);
- if(halet==0&&Hane==2) //تېرمومېتىر ھالىتىدە ئونلارخانىسىدىن كېيىن ئونلۇق كەسىر چېكىتى تولىقلاش
- digitalWrite(Put_H , HIGH);
- else digitalWrite(Put_H , LOW);}
مەزمۇننى كۆچۈرۈۋېلىش
ئەمدى ئىجرا قىلىدىغان بولساق تۆت خانىلىك رەقەم لامپىسىدا H22.6دېگەندەك كۆرىنىدۇ،يەنى ھازىرقى تېمپراتورا 22.6سېلتسىيە گرادۇس.
تەڭشەك كونۇپكىسىنى بىرنى باسقاندا U-40كۆرىنىدۇ،يەنى دەسلەپكى قىممەتتە يوقىرى تېمپراتورا 40سېلتسىيە گرادۇسقا تەڭشەلگەن،بۇنى يوقىرىلىتىش تۆۋەنلىتىش كونۇپكىسى ئارقىلىق تەڭشەشكە بولىدۇ. تەڭشەش كونۇپكىسىنى يەنە بىرنى باسساق A-20 كۆرىنىدۇ،يەنى تۆۋەن چەك 20 سېلسىيە گرادۇس،بۇنى يەنە يوقىرىلىتىش-تۆۋانلىتىش كونۇپكىسىدا تەڭشەشكە بولىدۇ.تەڭشەش كونۇپكىسىنى يەنەبىر قېتىم باسساق ئەسلىدىكى تېمپراتورا كۆرسىتىش ھالىتىگە قايتىدۇ. ئەگەر تېمپراتورا بەلگىلەنگەن قىممەتتىن تۆۋەنلەپ كەتسە reli1قوزغىلىدۇ(بىر چىراق يورۇيدۇ)،تېمپراتورا بەلگىلەنگەن قىممەتتىن ئېشىپ كەتكەندە reliقوزغىلىدۇ(يەنەبىر چىراق يورۇپ ئاگاھلاندۇرىدۇ).
تەجرىبىدىكى يېتەرسىزلىكلەر M35تەقلىدىي سىنزور بولغاچقا بېرىلگەن ئېلىكتىر بېسىمى 5ۋولت بولغاندا بىرقەدەر توغرا ،مۇقىم ئىشلەيدۇ.Arduino UNOنىڭ ئۇلىنىش ئېغىزى يېتىشمەسلىك سەۋەبىدىن كونۇپكىلارغا تەقلىدىي ئوقۇش پۇتى ئىشلىتىلگەچكە كونۇپكا بېسىلغاندا ئېلىكتىر بېسىمىدا نورمالسىزلىق بولىدۇ،كۆرسىتىش پەيتلىك توختايدۇ. MEGA2560ئارقىلىق ئۇلىنىش ئېغىزى يېتىشمەسلىك مەسىلىسىنى ھەل قىلىشقا بولىدۇ. |
باھالاش
-
باھا خاتىرىسى
|