Bu uygulamamızda sizlerle birlikte Arduino ile kendimize bir termometre yaparak sıcaklık ölçmeyi ve sıcaklığa göre Led yanmasını sağlayan uygulama deneyimim sizlerle paylaşmaya çalışacağım.
Kullanılacak Malzemeler
- Arduino Uno
- Breadbord
- 10 kΩ Potansiyometre
- 4 tane 220 Ω direnç
- RGB Led
- 16*2 LCD Ekran
- TMP36 Sıcaklık Sensörü
Devre Şeması
Devrenin Adım Adım Bağlantılarının Yapılması
- LCD ekranımızı Breadboard üzerine alıyoruz. LCD ekranın GND ucunu jumper kabloyla – kutba, VCC kısmını jumper kabloyla + kutbuna bağlıyoruz. + kutbu jumper kabloyla 5V pinine, – kutbu jumper kabloyla GND pinine bağlıyoruz.
- LCD ekranın RS bağlantı noktasını jumper kabloyla 12. pine , E bağlantı noktasını ise jumper kabloyla 11. pine bağlıyoruz.
- 220 Ohm direnci ise bir ayağı – kutba gelecek şekilde LED ucu ile bağlantı kuracak şekilde yerleştiriyoruz
- Potansiyometremizin Terminal 1 bacağını – kutba, Terminal 2 bacağını + kutba bağlıyoruz. Ortadaki bacağını ise VD yani kontrasta bağlıyoruz.
- LCD ekranımızın RW bacağını ve 2.led bacağımızı jumper kablo yardımıyla – kutba bağlıyoruz.
- LCD ekranın DB4 bacağından başlayacak DB7 bacağına kadar sırasıyla 5,4,3 ve 2 numaralı pinlere jumper kablo yardımıyla bağlanır.
- TMP sensörümüzün güç bacağını jumper kabloyla + kutba, orta bacağını jumper kabloyla A0 pinine , GND bacağını ise jumper kabloyla – kutba bağlıyoruz.
- RGB ledimizi breadbord üzerine bağlıyoruz. 2. ayağı boşta kalacak şekilde dirençlerimizi bağlıyoruz.
- Dirençlerimizi jumper kablo yardımıyla sırasıyla 7, 8 ve 9 pinlere bağlıyoruz. RGB ledimizin boşta kalan ayağını ise – kutba bağlıyoruz.
Kaynak Kodlar
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int R=7;
int G=9;
int B=8;
void setup()
{
lcd.begin(16, 2);
pinMode(R,OUTPUT);
pinMode(G,OUTPUT);
pinMode(B,OUTPUT);
lcd.print("Sicaklik Olcumu:");
}
void loop()
{
int read = analogRead(A0);
float voltage = read * 5.0;
voltage /= 1024.0;
float c = (voltage - 0.5) * 100 ;
lcd.setCursor(0, 1);
lcd.print(c);
lcd.setCursor(6,1);
lcd.print("C-");
float f = (c * 9.0 / 5.0) + 32.0;
lcd.print(f);
lcd.print(" F");
delay(100);
if(c <= 0 or c >= 100 )
{
analogWrite(R,255);
analogWrite(G,0);
analogWrite(B,0);
delay(500);
}
else if( c < 50)
{
analogWrite(R,0);
analogWrite(G,255);
analogWrite(B,0);
delay(500);
}
else
{
analogWrite(R,0);
analogWrite(G,0);
analogWrite(B,255);
delay(500);
}
}
Arduino ile termometre yapımızı yazımız umarım sizler için faydalı olmuştur. Sizler de isterseniz mavi, yeşil, sarı ve kırmızı ledleri kullanarak renklerin ayrı ayrı yanmasını sağlayabilirsiniz.