Arduino ve LabVIEW ile Sıcaklık Kontrol Uygulaması

9 2.461

LabVIEW (Laboratuar Sanal Enstrüman Mühendisliği Tezgahı) National Instruments tarafından geliştirilen bir görsel programlama dilidir. Veri toplama, cihaz kontrolü, sanayi otomasyon sistemleri için çok kullanışlıdır.Bu projemizde de Arduino ve labVIEW ile sıcaklık kontrol uygulamasının yapımını anlatacağım.

Malzemeler:

  1. Arduino Uno
  2. LM35 Sıcaklık Sensörü
  3. LabVIEW Yazılımı

LabVIEW Arayüz Tasarımı :

  1. Yeni dosya oluşturun : File > New VI
  2. Blok diyagram penceresinden At Data Communication > Protocols > Serial
  3. VISA Configure Serial Port : kısmından serial noktasını seçin
    VISA Write (2x): Bağlı cihaza veri yazar.
    VISA Read: Seri porta bağlı aygıttan mevcut veri okur.
    VISA Close: Bağlantıyı keser.
    Bytes at Serial Port: Serial portta veri varsa alır.
  4. Bir sonsuz döngü oluştur :  Programming > Structures > While Loop

5. Sonsüz döngü içinde 3 yapı oluşturuyoruz. Programming > Structures > Case Structure.İlk iki yapı yazma diğeri okuma işini görecek.

 6. VISA Configure Serial Port  serial yapılandırmasını yapın.Örnekte, sen vi çalıştırmadan önce ilk COM bağlantı noktası seçin lazım, ama döngü içinde koyarsan COM Port her zaman seçebilirsiniz.

7. Programming > Comparison > Grater than 0 .Okuma kısmını aktif ederek serial porttan gelen veri sıfırdan büyükse oku.

8. VISA Configure Serial Port kısmından baud hızını 9600 seçin.

9.  VISA Write > Write Buffer kısmından yazma komutu oluşturun.

Burada serial porta TF gönderdiğimizde sensörden veri almayacak,TO gönderdiğimizde veri alacak.

10. Bir kullanıcı arabirimi oluşturmak için Ön Panel penceresine gidelim.

Sıcaklık verilerini görmek için: Numerics > Thermometer and a Graph Indicators > Chart.

11. Sıcaklık kontrolü için açma kapama butonu ekleyelim.Buttons > OK Button

Sıcaklık değişimini Num Inds > Num Indicator kısmından görebiliriz.

Düğmeleri grafik penceresini termometreyi blok şemasına giderek aşağıdaki gibi ayarlayın.

12. Programming > String > String/Number Convertions > Fract/Exp String to Number: kısmından sayı dizisine dönüştürün.

13. Şimdi temometre, veri girişini bağlayalım. Fract/Exp String to Number

14. Açma kapama düğmelerini tanımlayalım.

15. Sıcaklık verisi alma aralığını belirleyelim.Programming > Timing > Wait (ms) kısmından 600 ms yapın.Arduino kodunuzdaki yenileme aralığı 500 ms dir.

Arduino Yazılımı:

char command;
String string;
#define led 13
#define lm A1
 
 void setup()
 {
 Serial.begin(9600);
 pinMode(led, OUTPUT);
 }
 
 void loop()
 {
 if (Serial.available() > 0) 
 {string = "";}
 
 while(Serial.available() > 0)
 {
 command = ((byte)Serial.read());
 if(command == ':')
 {
 break;
 }
 
 else
 {
 string += command;
 }
 
 delay(1);
 }
 
 if(string == "TO")
 {
 TempOn();
 }
 
 if(string =="TF")
 {
 TempOff();
 }
 }
 
 void TempOn()
 { 
 int x = analogRead(lm);
 float temp = (5.0*x*100.0)/1024.0;
 Serial.println(temp);
 digitalWrite(led, HIGH);
 delay(500);
 }
 
 void TempOff()
 {
 digitalWrite(led, LOW);
 delay(500);
 }

LabVIEW Arayüzünü aşağıdaki bağlantıdan indirebilirsiniz.

LabVİEW Sıcaklık Kontrol

 

Bunlar da İlgini Çekebilir

Cevap bırakın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  1. MAHMUT TÜRKÖZMEN

    hocam merhaba
    benim sorun daha büyük sanırım benim projemde 60 adet renk sensörü kullanmam gerekiyor ve hepsinden aynı anda veri almam gerekiyor. bu da ciddi bir pin sorunu oluşturuyor. bu konuda projem için nasıl bir öneride bulunabilirsiniz. ayrıca modüler bir sistem olacağı için her modül için 60 taneden max 4 modül yani 240 tane renk sensörü kullanmam gerekiyor. yardımcı olursanız çok memnun olurum.

  2. Semih

    merhaba hocam,
    arkadaşın dediği gibi bende lm35 in yanında ayrıca 2 sensör daha kullanmak istiyorum. (nem ve basınç sensörü) ve değerleride labview da ayrı ayrı görülmesini istiyorum. Bunun için yardımcı olursanız sevinirim. Teşekkürler

  3. erkan

    merhaba bende lm35 iki veya daha fazla sensör takmak istiyordum ama kaynak bulamadım yardımcı olabilirmisiniz tesekürler

    1. Sezgin GÜL

      merhaba, kaç sensör kullanacaksınız ve hepsinin verilerini labview da ayrı mı görüntülenecek.

  4. Burak

    labview ve ardunio yazılımları hazır fakat com ucunu seçmeme rağmen ekrana sinyal gelmiyor.yardımcı olursanız sevinirim.

    1. Sezgin GÜL

      baudrate değerlerine bakın aynı olması gerekir

  5. burak

    ardunioya olan bağlantılar hakkında bilgi verir misiniz?

    1. Sezgin GÜL

      Lm35 sıcaklık sensörün sinyal pinini analog 1 pinine vcc 5v ve gnd bağlantılarını yapın.Labview arayüz ayarları projede açıklanmıştır.

      1. edakndemir

        iyi günler, labview kullanarak basit mesafe ölçümü yapmak istiyorum yardımcı olabilir misiniz ?