NTC ile Sıcaklık Uyarı Projesi
Analiz :
NTC ( Negative Temperature Coefficient ) ile yapacağımız bu projede Arduino Uno kullanılcaktır.Ntc sensörü ortamdaki fiziksel bir büyüklük olan sıcaklığın değerlerini bir elektrik sinyaline dönüştürücektir.Sıcaklık arttığında direnç değeri düşer sıcaklık azaldığında maximum direnç değerine geri döner.Bu elektrik sinyallerini Arduinonun seri port değerinden okuyabilmekte ve bu değerleri istediğimiz koşullara bağlayabilmekteyiz. Eğer ki planandan daha yüksek bir değer ölçülmesi taktirde sistemimiz alarm verecek ve olması gerektiği sıcaklıktan uzaklaştığında farklı anlamlarda olan led lambaları yakacaktır.Sıcaklık normal değerde ise yeşil , orta değerlerde ise sarı led ,sistem riskli sıcaklık değerlerinde ise kırmızı , sistem olmaması gereken sıcaklık değerlerinden çıkmış ise buzzer ile birlikte sırayla yanıp sönen ledler olacaktır.
Yeşil Led : Sıcaklık normal değerdedir.
Sarı Led : Uyarı Lambasıdır.Sistemi kontrol etmeniz tavsiye edilir.
Kırmızı Led: Sistemde ciddi bir sıcaklık meydana gelmiştir.
Buzzer ve Yanıp Sönen Ledler : Acil Durum !! Sistemi sonlandırın.
Tasarım :
Analog Pinler :A0 = Ntc pini
Dijital Pinler :
2=Led Yeşil
3=Led Sarı
4=Led Kırmızı
5=Buzzer
Montaj:
int ptcPin = A0;
int ptcValue = 0;
void setup() {
pinMode (2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
Serial.begin(9600);
}
void loop() {
ptcValue = analogRead(ptcPin);
Serial.println(ptcValue);
delay(100);
if(ptcValue<580 && ptcValue>530){
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
}
else if (ptcValue>580 && ptcValue<590) {
digitalWrite(3,HIGH);
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
}
else if(ptcValue>590 && ptcValue<605){
digitalWrite(4,HIGH);
digitalWrite(3,LOW);
digitalWrite(2,LOW);
digitalWrite(5,LOW);
}
else if(ptcValue>610){
digitalWrite(5,HIGH);
delay(100);
digitalWrite(5,LOW);
digitalWrite(4,HIGH);
delay(50);
digitalWrite(3,HIGH);
delay(50);
digitalWrite(2,HIGH);
delay(50);
digitalWrite(4,LOW);
delay(50);
digitalWrite(3,LOW);
delay(50);
digitalWrite(2,LOW);
delay(50);
}
}
int ptcValue = 0;
void setup() {
pinMode (2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
Serial.begin(9600);
}
void loop() {
ptcValue = analogRead(ptcPin);
Serial.println(ptcValue);
delay(100);
if(ptcValue<580 && ptcValue>530){
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
}
else if (ptcValue>580 && ptcValue<590) {
digitalWrite(3,HIGH);
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
}
else if(ptcValue>590 && ptcValue<605){
digitalWrite(4,HIGH);
digitalWrite(3,LOW);
digitalWrite(2,LOW);
digitalWrite(5,LOW);
}
else if(ptcValue>610){
digitalWrite(5,HIGH);
delay(100);
digitalWrite(5,LOW);
digitalWrite(4,HIGH);
delay(50);
digitalWrite(3,HIGH);
delay(50);
digitalWrite(2,HIGH);
delay(50);
digitalWrite(4,LOW);
delay(50);
digitalWrite(3,LOW);
delay(50);
digitalWrite(2,LOW);
delay(50);
}
}
Yorumlar
Yorum Gönder