8.4kviews
Merhaba arkadaşlar bu devremizde Arduino Uno ile hızı sıcaklığa bağlı olarak değişen fan yapacağız.
İhyacımız olan malzemeler;
- Arduino Uno
- 9V pil
- 1 adet dc motor ucuna pervane takmanız gerekmekte, fan olarak kullanacağız
- LM35 sıcaklık sensörü
- BC237 NPN transistör
- farklı renkte 3 adet led. Sıcaklık durumunu göstermek için sarı kırmızı mavi olabilir.
Devre şeması aşağıdaki gibidir.

Arduino kodları;
//LED'lerin bağlı olduğu pinler tanımlanır.
#define LED1 7
#define LED2 6
#define LED3 5
//değişken tanımlamaları yapılır.
long analog;
float isi;
int hiz;
void setup()
{
pinMode(11,OUTPUT); // Fan pini çıkış olarak tanımlanır.
pinMode(7,OUTPUT); // 7,6 ve 5'de LED'ler bağlıdır. Çıkış olarak tanımlanırlar.
pinMode(6,OUTPUT);
pinMode(5,OUTPUT);
}
void loop()
{
analog=analogRead(0); // Sıcaklık sensörü okunur.
isi=analog*0.488; // Okunan sıcaklık bilgisine göre sıcaklık santigrat cinsinden hesaplanır.
hiz=analog/4; // Ortamın sıcaklık değerine göre motorun hızı hesaplanır.
analogWrite(11,hiz); // Motor hesaplanan hızda döndürülür. Sıcaklık arttıkça motorun dönüş hızı da artar.
if(isi>20) //Isı 20 santigrat dereceyi aşmışsa LED1 ışık verir.
{
digitalWrite(LED1,HIGH);
}
if(isi>35) //Isı 35 santigrat dereceyi aşmışsa LED2 ışık verir.
{
digitalWrite(LED2,HIGH);
}
if(isi>50) //Isı 50 santigrat dereceyi aşmışsa LED3 ışık verir.
{
digitalWrite(LED3,HIGH);
}
if(isi<20) //Isı 20 santigrat derecenin altına düşmüşse LED1 söner.
{
digitalWrite(LED1,LOW);
}
if(isi<35) //Isı 35 santigrat derecenin altına düşmüşse LED2 söner.
{
digitalWrite(LED2,LOW);
}
if(isi<50) //Isı 50 santigrat derecenin altına düşmüşse LED3 söner.
{
digitalWrite(LED3,LOW);
}
}
Devrenin şeması için;





Son yorumlar