5-) Söz Uçar LCD'ye Yazılan Kalır


     Herkesin Kadir Gecesi Mübarek Olsun diyerek yazımıza başlayalım. Büyük ihtimalle ben bu yazıyı yayınladığımda Kadir Gecesi geçmiş olucak ama yinede böyle bir başlangıç yapalım dedim :)

     Bu gece malum Kadir Gecesi 1000 aydan daha hayırlı bir gece, herkesin ortak bir kanısı vardırki bu geceyi boş olarak değilde ibadet ederek geçirmemiz daha doğrudur. Bu ufak sözü söyledikten sonra uzak bi konuya atlayalım, facebook'ta gezinirken Sakarya Üniversitesi Enerji Teknolojileri Topluluğu'nun sayfasına rastladım. Grubun yaptıkları çalışmaları görünce, aynı arduinoya başlamamı sağlayan robot kol videosunda olduğu gibi sinirlendim hatta ondan biraz daha fazla sinirlendim diyebilirim. Konu yine aynıydı elalem bişeyler yapıyor ama BİZ HİÇ BİR HALT  YAPMADAN BOŞ BOŞ OTURUYORUZ!!! O sinirle facebook'ta kendim ve bölümdeki arkadaşlar için bi sitem yazısıda yazdım.**Şimdi ilk baştaki kısımla bu konuyu birleştirelim. Daha önce biyerde peygamber efendimizin ilimle, eğitimle ilgili sözlerini okumuştum, şuan tam hatırlamıyorum ama gerçekten güzel sözlerdi :) Bende bu geceyi boş geçirmemek adına kendi çapımda bişeyler yapmak için bu yazıyı yazmaya başlıyım dedim.

     Evet arkadaşlar bu gece napıcağımız konusu yazının başlığından ve resimdende anlaşılıyordur heralde. Bu gece LCD'ye yazı yazdırmayı öğrenicez ve Ortamın sıcaklığını ölçüp bu değeri LCD ekranından okuyucaz. Son iki yazımızda bazı farklılıklar yapmıştık, hatta kısmende piyasada olmayan şeyler yaptık. Bu uygulamamızdada böyle bişeyler yapalım dedim. Ama malesef aklıma pek güzel birşey gelmedi, ama yinede ufak bişeyler yapmak için sıcaklık ölçe kısmına 9 LED içeren bir kısım ekledik. Bu kısımda, ölçülen sıcaklık arttıkça yanan LEDlerin sayısıda artıyor.

Neler Gerekli ?

* Arduino Uno/Mega
* Arduino Yazılımı
Breadboard
* Jumper Kablo Seti
* 1K Ohm Potansiyometre
* LM35 Sıcaklık Sensörü
* 9 tane 470 Ohm Direnç
* 9 tane LED (3 Yeşil, 3 Sarı, 3 Kırmızı olsa iyi olur.)
* 16x2 LCD





***LM 35 Sıcaklık Sensörü***
     Resimde gördüğümüz küçük alet sıcaklıkları ölçmemizi sağlayan LM35 Sıcaklık sensörüdür. İsterseniz bunların çalışma mantığından bahsedelim, bunun biz ortadaki bacağını yani 2 numarali pin'i analog pin'lerden birine, 1 numaralı bacağı +5v veren pin'e, 3 numaralı bacağıda GND yani toprağa bağlıyoruz, hatırlıcak olursanız daha öncede analog pin'lerden bahsetmiştik. Bunlar gelen elektriğin gücünü ölçebiliyorlardı. Bu zamazingoda derece başına 10mV gerilim veriyor mesela 42 derecede 420mV veriyor. Tabi bunu yaparken bazı hesaplamalar yapıcaz uygulama kısmında bunuda veririm. Bu sayedede biz sıcaklık ölçen şeyler yaparken bunu kullanabiliyoruz.
     




***16x2 LCD***
     LCD tanıtımı hakkında aklımda bişey yoktu LCD alttarafı ne yazılabilir filan diyodum. Coşkun Taşdemir abimizin yazdığı Arduino ktabına bakıyım orda bişeyler vardır dedim. Ordada kendime göre yazılıcak bişey bulamadım ama tam kitabı kapatırken bir şekil dikkatimi çekti ve önemli bir konu aklıma geldi. Önemli olan o konuya gelicek olursak, bu LCDlerin hepsi aynı değil. Birini Ali üretiyo birini ben Veli üretiyo ve bu Ali'yle Veli düşman olmalılarki farklı üretiyorlar (!) Bu farklılık pin'lerin bağlantı şekilleriyle alakalı. Mesela birinde 1. pin'i hanyaya birinde 1. pin'i Konyaya bağlıyoruz :) Uygulamada benim kullandığım LCDdeki bağlantıyı göstericem, eğer unutmazsamda kitaptaki LCDnin bağlantısının resmini çekip yazının sonuna eklicem. Ve bencede benim kullandığım LCD daha kullanışlı çünkü hem alt hemde üst tarafta bağlantı pin'leri var, bazısında sırf altta veya sırf üstte oluyo. Fiyatlarına değinicek olursakta ben 11,5TL ye aldım. ama eğer yurt dışından sipariş vermeyi düşünen olursa gavur memleketlerde baya ucuz.

     Şimdi  LCD kullanımına başlarken yapılan ilk uygulama olan LCDye "Hello World" pardon yanlış yazdım, "Hello KONYA...!" yazdırma bölümüne geçelim :)




***"Hello KONYA...!"***
     Nasıl bişey yapıcağımı önceden görüp aklımızda oluşturalım diye artık videoları uygulama anlatımlarından önce veriyim dedi, inşallah iyi demişimdir :) Normalde biz Hello Konya yazıcaktık ama videoda gördüğünüz üzere başka bişeyler daha yaptırtalım dedim ben. Başka şeylerinde bir kısmını anlatıyım o zaman LCDnin çalışma mantığını inşallah daha iyi anlarız.

Bağlantının nasıl olucağını göstererek başlayalım.


     Devre sanki biraz karışık gibi demi? O yüzden ben size hangi pin'in nereye bağlanıcak olduğunu yazarak veriyim dedim. İnternettede bir çok şekil var ama ben hep bu yazı listesini kullanıyorum diğer türlü şekil üzerinden kurulum bence zor.

1-)  Toprak (GND)
2-)  +5V (+VDD)
3-)  Potansiyometrenin Ortası
4-)  Arduino 7.pin
5-)  Toprak (GND)
6-)  Arduino 8.pin

11-) Arduino  9.pin
12-) Arduino 10.pin
13-) Arduino 11.pin
14-) Ardunio 12.pin
15-) +5V (+VDD)   
16-)  Toprak (GND)

     Devremizde gördüğünüz gibi bir potansiyometre var, hayırdır gardaş bu ne işe yarıyo diyebilirsiniz :) Bunun görevi ekrandaki kontrası ayarlamak, bi anlamda netlik ayarıda denebilir. Potansiyometreyi en uç kısımlara çeviricek olursak birinde ekranda hiç birşey gözükmicek diğer en uç noktaya çevirirsekte ekranı tamamen noktalar kaplar, artık siz yazıyı görebileceğiniz bir ara değere ayarlamalısınız. Yalnız bu işlemi tabikide yazdığımız kod'u karta yükledikten sonra yapmalıyız. Malum ekranda bişeyler yazmıyorken ayar yapmanın anlamı yok :) Devreyi kurduğumuza göre kod yazma bölümüne geçebiliriz.

     Bu uygulamanın kod yazma bölümünde ilk olarak Arduinolardaki kütüphane mevzusuna değinelim bence. Nedir bu kütüphane? Arkadaşlar bu kütüphane bu işi iyi bilenlerin biz acemiler için yapmış olduğu işimizi kolaylaştıran bir mevzu. Mesela biz bundan önce hep şu pin'e elaktirik gönder bundan kes filan diyoduk ya. İşte bu bilen abiler biz LCDyi kolay bir şekilde kullanabilelim diye bunların hepsini daha önceden yapmışlar ve Arduino yazılımına gömmüşer bu sayede biz hiç bu arka plandaki karışık işlerle uğraşmıyoruz. Sadece ekranda yazmasını istediğimiz şeyleri gerekli üslupla karta söylüyoruz oda bizim için LCDye bunları yazyor :) Şimdi üslubumuza gelelim :)



#include // LCD Kütüphanesini programa ekledik.
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // LCD'yi bağladığımız pinleri yazdık.

void setup(){
  lcd.begin(16,2); // LCDmizin boyutunu yazdık, 16 sütün 2 satırdan oluşuyor bizimki
}

void loop(){
  lcd.clear();    // LCD Ekranında yazanları temizlemeye yarayan fonksiyon
  lcd.setCursor(0,0);  // Yazma işlemini hangi satırdan ve sütündan başlamasını istediğimizi söylüyoruz. Dikkat etmemiz gereken şey numaralandırma 0 dan başlıyor! 1. sayı karakteri, 2. sayıda satırı belirtir.
  lcd.print(" Hello KONYA...!");////Yazmak istediğimiz şeyi parantezin içindeki tırnak işaretlerinin arasına yazıyoruz. Bu tırnak işaretleri "Esc" tuşunun altındaki tuşta bulunuyor.
  delay(500); // Ufak bir bekleme veriyoruz. Bu LCDnin çalışma frekansıyla ilgili, eğer vermezsek yazı ekranda yanıp söner.

  }

     Evet arkadaşlar eğer bu kodları yazıp kartınıza yüklerseniz yazımızın başındaki resimdeki gibi LCD ekranınızda Hello Konya...! yazısını görebilirsiniz :) Bu yazıyı gördük ama videdaki gibi kayan yazıyı nasıl yapıcağımızı ve 2. satıra nasıl yazı yazıcağımıza geçelim. 
*İlk başta 2. satıra yazı mevzusuna gelicek olursak, 1. satıra yazdığımız yazı 1. satıra sığmayınca malesef otomatik olarak 2. satıra geçmiyor :). Siz diyelim 1. satıra bişey yazdınız ama 16 karakterden fazla. 16 karakterlik kısım ekranda gözükür ama diğer kısım gözükmez. Eğer biz 2. satıra bişey yazmak istiyosak, "lcd.setCursor(X,X); " kodunu kullanmalıyız, "lcd.setCursor(X,1);" kodunun altına "lcd.print("XXXXX");" yazarak 2. satıra istediğimizi yazabiliriz. Eğer yazıcağımız şey kısa bişeyse ve ortalamak istiyorsak "lcd.setCursor(X,1);" komutndaki X yerine uygun bir sayı yazabiliriz, ha ama size şunu söliyim ben genelde "lcd.setCursor(X,1);" komutundaki X sayısıyla oynamak yerine "lcd.print("XXXXX");" komutunda yazdığım yazının önüne boşluk koyarak yazıyı ortalıyorum :)
*2. olarak kayan yazıyı nasıl yaptığımıza gelicek olursakta aynen çizgi filmlerdeki mantığı kullandık, yani bir çok yazı yazıp bunların ekranda arka arkaya gözükmesini sağladık, ve ekranda kayan bir yazı elde ettik. Videodaki kayan yazının kodlarını aşağıya kopyala yapıştır yapıyorum, eğer sizde aşağıdaki kodları kopyala yapıştır yaparak kendi Arduino yazılımınıza aktarırsanız anlamanız daha kolay olur diye düşünüyorum.


#include //LCD Kütüphanesini programa ekledik.
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); //LCD'yi bağladığımız pinleri yazdık.

void setup(){
  lcd.begin(16,2); //LCDmizin boyutunu yazdık, 16 sütün 2 satırdan oluşuyor bizimki 
}

void loop(){
  
  lcd.clear();    //LCD Ekranında yazanları temizlemeye yarayan fonksiyon
  lcd.setCursor(0,0);  //Yazma işlemini hangi satırdan ve sütündan başlamasını istediğimizi söylüyoruz. Dikkat etmemiz gereken şey numaralandırma 0 dan başlıyor! 1. sayı karakteri, 2. sayıda satırı belirtir.
  lcd.print(" Hello KONYA...!");//Yazmak istediğimiz şeyi parantezin içindeki tırnak işaretlerinin arasına yazıyoruz. Bu tırnak işaretleri "Esc" tuşunun altındaki tuşta bulunuyor.
  delay(1000); //Ufak bir bekleme veriyoruz. Bu LCDnin çalışma frekansıyla ilgili, eğer vermezsek yazı ekranda yanıp söner.
  
  lcd.clear();    //LCD Ekranında yazanları temizlemeye yarayan fonksiyon
  lcd.setCursor(0,0);  //Yazma işlemini hangi satırdan ve sütündan başlamasını istediğimizi söylüyoruz. Dikkat etmemiz gereken şey numaralandırma 0 dan başlıyor! 1. sayı karakteri, 2. sayıda satırı belirtir.
  lcd.print("Veli Ahmet AKTEKE - Veli Ahmet AKTEKE");//Yazmak istediğimiz şeyi parantezin içindeki tırnak işaretlerinin arasına yazıyoruz. Bu tırnak işaretleri "Esc" tuşunun altındaki tuşta bulunuyor.
  lcd.setCursor(0,1);  //Yazma işlemini hangi satırdan ve sütündan başlamasını istediğimizi söylüyoruz. Dikkat etmemiz gereken şey numaralandırma 0 dan başlıyor! 1. sayı karakteri, 2. sayıda satırı belirtir.
  lcd.print("   KONYAHMET");//Yazmak istediğimiz şeyi parantezin içindeki tırnak işaretlerinin arasına yazıyoruz. Bu tırnak işaretleri "Esc" tuşunun altındaki tuşta bulunuyor.
  delay(500); //Kaç ms'de 1 karakter kaymasını istediğimizi yazıyoruz.
  

  lcd.setCursor(0,0);  //Farkettiyseniz bu bölümde "lcd.clear();" komutunu kullanmadık, eğer kullansaydık, 2. Satırdaki KONYAHMET yazısınıda her seferinde yazmamız gerekecekti.
  lcd.print("eli Ahmet AKTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("li Ahmet AKTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("i Ahmet AKTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print(" Ahmet AKTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("Ahmet AKTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("hmet AKTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("met AKTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("et AKTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("t AKTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print(" AKTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("AKTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("KTEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("TEKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("EKE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("KE - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("E - Veli Ahmet AKTEKE");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print(" - Veli Ahmet AKTEKE");
  lcd.setCursor(0,1);
  lcd.print("   KONYAHMET");
  delay(500);
  

  lcd.setCursor(0,0);
  lcd.print("- Veli Ahmet AKTEKE");
  delay(500);
  
  lcd.setCursor(0,0);
  lcd.print(" Veli Ahmet AKTEKE");
  delay(500);
  
  lcd.setCursor(0,0);
  lcd.print("Veli Ahmet AKTEKE");
  delay(500);
  
  lcd.setCursor(0,0);
  lcd.print("eli Ahmet AKTEKE");
  delay(500);
  
}

     Evet arkadaşlar uygulamamızın ilk bölümü olan ekrana bişeyler yazmayı öğrenme kısmımızı bitirmiş bulunuyoruz. Şimdide LM35 Sensöründen nasıl veri alıcağımızı, aldığımız veriyi nasıl sıcaklığa çeviriceğimizi, sıcaklık değerini nasıl LCD ekrana yazıcağımızı ve sıcaklığa göre LEDleri nasıl yakıcağımızı görelim. Yine uygulamayı anlatmaya başlamadan önce video'muzu verelim. Video biraz parça parça ve kalitesiz oldu, sıcaklığı değiştirmek için bir elimde buz torbası bir elimde çakmak vardı idare edin :)


     Uygulamanın bu kısmının LCD devresi öncekiyle tamamen aynı sadece bu devreye 9 tane LED ve 1 tanede LM35 sıcaklık sensörü eklememiz gerekiyor. Sıcaklık sensörünün zorlanıcak bir bağlantısı yok, ilk baştada sölediğimiz gibi bağlarsanız sorun olmaz, bence sıcaklık sensörü bağlarken unutmamanız gereken tek şey orta bacağın analog pin'e bağlanması, sistemi çalıştırınca baktınız çok uçuk sıcaklık değerleri ortaya çıkıyor, sensörü çıkarır 180 derece çevirir yeniden bağlarsınız, ezberlicem diye kendinizi yormayın :) LED bağlantılarınıda daha önce yapmıştık, yani uzun lafın kısası bu bölümde ek bir devre çizmicem :) önceki devre karmaşık sayılırdı birde ona eklemeler yapıp karıştırmayalım :) devre yerine ben size uygulamanın bitmiş halinin resmini veriyorum.


     Uygulamamızın devre kısmının bittiğini varsayarak kodlama bölümüne geçiyorum.
Kodlama bölümünde ilk başta pragramda yapıcağımız matematiksel işleme değiniyim, Şimdi daha öncede sölediği gibi sensör her derecede 10mv uyguluyor, yani 42 derecede 420mv kartta değer okumalıyız. Analog pinlerimizin bir değer aralığı vardı demi, bu değer aralığı kaçtı 0-1023 vede analog pinler maksimum 5V yani 5000mV okuyor. Yani eğer biz analog pin'de 1023 değerini görürsek bu o pin'e 5000mV geldiğine işaret 5000mV da normalde 500 derece oluyor :D ama tabiki bu mantığını anlamamız için bir örnekti. Neyse uzun lafın kısası ben şimdi yapılması gereken matematik işlemini söyliyim. Analog pin'de okuduğumuz değeri 1023e bölüyoruz daha sonra 5000 ile çarpıp 10'a bölüyoruz.

Arkadaşlar yine programın yazılmış halinin tamamını veriyorum, kodların yanlarına açıklamalarını ekledim, bilgisayarınızdaki Arduino yazılımına aşağıdaki kodları Kopyalaıp yapıştırırsanız daha iyi anlıcağınızı düşünüyorum. Sormak istediğiniz birşey olursa facebook, twitter veya aşağıdaki yorum kısmından bana sorabilirsiniz. Elimden geldiğince cevaplamaya çalışırım. Herkese iyi akşamlar.




#include //LCD Kütüphanesini programa ekledik.
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); //LCD'yi bağladığımız pinleri yazdık.

float sicaklik; //Analog değeri dönüştüreceğimiz sıcaklık, float kullanmamızın nedeni ondalık sayı kullanıcak olmamız.
float analoggerilim; //Ölçeceğimiz analog değer, float kullanmamızın nedeni ondalık sayı kullanıcak olmamız.
float mV; //Ölçeceğimiz mV,  float kullanmamızın nedeni ondalık sayı kullanıcak olmamız.
float sicaklikpin=15;  //Analog değer girişi, int kullansakta olurdu ama aynı olsun diye float dedim.


void setup()
{
  lcd.begin(16,2);
 pinMode(22, OUTPUT);
 pinMode(23, OUTPUT);
 pinMode(26, OUTPUT);
 pinMode(27, OUTPUT);
 pinMode(30, OUTPUT);
 pinMode(31, OUTPUT);
 pinMode(34, OUTPUT);
 pinMode(35, OUTPUT);
 pinMode(38, OUTPUT);
}

 void loop()
 {
 analoggerilim = analogRead(sicaklikpin); //A15'den değeri ölç
 mV = (analoggerilim/1023)*5000;//değeri mV'a dönüştr
 sicaklik = mV/10,0; // mV'u sicakliğa dönüştür
 lcd.clear();
 lcd.setCursor(0,0); //komutu ile imleci istediğimiz karakter kutusunda konumlanmasını sağlıyoruz.İlk satırın 6.sütununa.
 lcd.print("Sicaklik Degeri"); // İmlecten itibaren bu yazı yazılacak
 lcd.setCursor(0,1); // 1.satırın ilk sütunundayız
 lcd.print(sicaklik); // Ardndan Bu değişken değer yazılacak lcd.print(" Derece"); //Değer ardından da bu yazı yazılacak
 lcd.print(" Derece"); //Değer ardından da bu yazı yazılacak
 lcd.setCursor(1,7);  //Derece yazısının yeri (2.satır,7.sütun)
 delay(1000); //Bu kısım LCD'lerin frekans çalışma aralığı yüzünden giriliyor.

 if(1sicaklik)// sıcaklık değeri 1 ile 18 arasında ike 1. LED yansın diyoruz
 {
 digitalWrite(22, HIGH);
 digitalWrite(23, LOW);
 digitalWrite(26, LOW);
 digitalWrite(27, LOW);
 digitalWrite(30, LOW);
 digitalWrite(31, LOW);
 digitalWrite(34, LOW);
 digitalWrite(35, LOW);
 digitalWrite(38, LOW);
 }



 if(18sicaklik)// sıcaklık değeri 18 ile 21 arasında ike 1. ve 2. LED yansın diyoruz
 {
 digitalWrite(22, HIGH);
 digitalWrite(23, HIGH);
 digitalWrite(26, LOW);
 digitalWrite(27, LOW);
 digitalWrite(30, LOW);
 digitalWrite(31, LOW);
 digitalWrite(34, LOW);
 digitalWrite(35, LOW);
 digitalWrite(38, LOW);
 }


 if(21sicaklik)// sıcaklık değeri 21 ile 24 arasında ike 1. 2. ve 3. LED yansın diyoruz
 {
 digitalWrite(22, HIGH);
 digitalWrite(23, HIGH);
 digitalWrite(26, HIGH);
 digitalWrite(27, LOW);
 digitalWrite(30, LOW);
 digitalWrite(31, LOW);
 digitalWrite(34, LOW);
 digitalWrite(35, LOW);
 digitalWrite(38, LOW);
 }



 if(24sicaklik)
 {
 digitalWrite(22, HIGH);  //1.Yeşil
 digitalWrite(23, HIGH);  //2.Yeşil
 digitalWrite(26, HIGH);  //3.Yeşil
 digitalWrite(27, HIGH);  //1.Sarı
 digitalWrite(30, LOW);   //2.Sarı
 digitalWrite(31, LOW);   //3.Sarı
 digitalWrite(34, LOW);   //1.Kırmızı
 digitalWrite(35, LOW);   //2.Kırmızı
 digitalWrite(38, LOW);   //3.Kırmızı
 }



 if(27sicaklik)
 {
 digitalWrite(22, HIGH);  //1.Yeşil
 digitalWrite(23, HIGH);  //2.Yeşil
 digitalWrite(26, HIGH);  //3.Yeşil
 digitalWrite(27, HIGH);  //1.Sarı
 digitalWrite(30, HIGH);  //2.Sarı
 digitalWrite(31, LOW);   //3.Sarı
 digitalWrite(34, LOW);   //1.Kırmızı
 digitalWrite(35, LOW);   //2.Kırmızı
 digitalWrite(38, LOW);   //3.Kırmızı
 }



 if(30sicaklik)
 {
 digitalWrite(22, HIGH);  //1.Yeşil
 digitalWrite(23, HIGH);  //2.Yeşil
 digitalWrite(26, HIGH);  //3.Yeşil
 digitalWrite(27, HIGH);  //1.Sarı
 digitalWrite(30, HIGH);  //2.Sarı
 digitalWrite(31, HIGH);  //3.Sarı
 digitalWrite(34, LOW);   //1.Kırmızı
 digitalWrite(35, LOW);   //2.Kırmızı
 digitalWrite(38, LOW);   //3.Kırmızı
 }



 if(33sicaklik)
 {
 digitalWrite(22, HIGH);  //1.Yeşil
 digitalWrite(23, HIGH);  //2.Yeşil
 digitalWrite(26, HIGH);  //3.Yeşil
 digitalWrite(27, HIGH);  //1.Sarı
 digitalWrite(30, HIGH);  //2.Sarı
 digitalWrite(31, HIGH);  //3.Sarı
 digitalWrite(34, HIGH);  //1.Kırmızı
 digitalWrite(35, LOW);   //2.Kırmızı
 digitalWrite(38, LOW);   //3.Kırmızı
 }



 if(36sicaklik)
 {
 digitalWrite(22, HIGH);  //1.Yeşil
 digitalWrite(23, HIGH);  //2.Yeşil
 digitalWrite(26, HIGH);  //3.Yeşil
 digitalWrite(27, HIGH);  //1.Sarı
 digitalWrite(30, HIGH);  //2.Sarı
 digitalWrite(31, HIGH);  //3.Sarı
 digitalWrite(34, HIGH);  //1.Kırmızı
 digitalWrite(35, HIGH);  //2.Kırmızı
 digitalWrite(38, LOW);   //3.Kırmızı
 }



 if(39sicaklik)
 {
 digitalWrite(22, HIGH);  //1.Yeşil
 digitalWrite(23, HIGH);  //2.Yeşil
 digitalWrite(26, HIGH);  //3.Yeşil
 digitalWrite(27, HIGH);  //1.Sarı
 digitalWrite(30, HIGH);  //2.Sarı
 digitalWrite(31, HIGH);  //3.Sarı
 digitalWrite(34, HIGH);  //1.Kırmızı
 digitalWrite(35, HIGH);  //2.Kırmızı
 digitalWrite(38, HIGH);  //3.Kırmızı
 }

}

1 yorum:

  1. Pek sayın hocam. Lcd Ekran komutları diye aratınca sitenizi keşfettim. anlatım tarzınız çok güzel. Başarılarınızın ve çalışmalarınızın devamını dilerim. Ben de 42 yaşındayım. çin sitelerinde kendimizin lehimleyebildiği bir saat siparişi yapmıştım. saat geldi. lehimledim. güzel çalıştı. ama fişi çekince saat sıfırdan başlıyordu. entegra ayaklarına extra pil değdirmeye başladım. saati elektrik yokken unutmasın diye. ve entegre bozuldu. aynı entegreyi burdan aldım. taktım sonuç yok. araştırdım tabiki niye diye. meğer bu entegrelerin içine program yazılıyormuş istediğin şeyi yapıyormuş. neyse önce pic devreleri gördüm. sonra baskı devre lehimleme zorluğu derken arduinoyu keşfettim. çinden set siparişi yaptım. konuyu araştırdım siparişler gelene kadar. ilk çalışmam saat modülünden gelen bilgiyi pc ekranına yazdırmaktı. ikinci çalışmam likit ekrana yazı yazdırmak. fırsat olursa bugünde saati likit ekrana yazdırmak olacak. 15/02/2016

    YanıtlaSil