Arduino ile Data Logger Uygulaması
  • Merhaba arkadaşlar. Proje olarak sıcaklık sensöründen sıcaklık değerini okuyup bunu SD karta yazdırmak, PC'ye yazdırmak şeklinde bir proje istedi. Kendim de ek olarak bu değerleri LCD'de de göstermek istiyorum(kendimi geliştirmek açısından). Gömülü sistemler dünyasına yeni adım atan biri olarak Arduino üzerinde hem yazılım geliştirme rahatlığı hem öğrenme rahatlığı hem de kullanım rahatlığı açısından Arduino'nun bu iş için uygun olacağını düşünüyorum. Kit olarak Arduino Uno bu projede benim işimi rahatlıkla görecektir sanırım. Coşkun Taşdemir'in kitabını alıp oradan takip ederek bu işi halledebileceğimi düşünüyorum, yanılıyor muyum? Ayrıca internetten biraz araştırdım ve Arduino için SD kart shieldleri olduğunu da gördüm. Sizin önereceğiniz hangisi olur?
  • Türkiye'de stoklarda var mı bilmiyorum ama bu shield gayet güzel.
    http://www.robitshop.com/microSD-Shield,PR-94.html
    sadece SD kart soketi alarak da istediklerinizi yapabilirsiniz.
    http://www.robitshop.com/Breakout-Board-for-microSD-Transflash,PR-413.html
    yalnız paralel LCD + Sd kart + sensörler kullandığınızda pin konusunda biraz sıkıntı yaşayabilirsiniz, bu yüzden ilk linkteki shield işinizi çok kolaylaştıracaktır. ya da seri LCD kullanabilirsiniz.
  • Öncelikle bazı sorular sormak istiyorum:
    Hangi bölümde yüksek lisans yapıyorsunuz? Hocanız hangi platform üzerinde bu dersi veriyor ve hangi konuları öğretiyor?
    Yüksek lisans seviyesinde gömülü sistemler dersinde Arduino'nun kullanılmasına şahsen ben sıcak bakmıyorum. Asıl öğrenmeniz gereken birçok şeyden mahrum kalabilirsiniz.
    Eğer illa Arduino ile yapacaksanız internette arattığınızda SD kartlarla yapılmış onlarca proje bulmanız mümkün.
    Biraz daha ilerisi ethernet shield alarak hem üzerindeki sd kart bağlantısını kullanıp hem de dosyaları ethernet hattından PC'ye ileten birşeyler yapabilirsiniz belki.

    Kitabımda SD kart konusu bulunmuyor yalnız onu söyleyeyim ama temel Arduino kullanımı konusunda bilgi edinmek için kullanabilirsiniz.

    Kolay gelsin
  • Coşkun, Elektrik-Elektronik mühendisliğinin yüksek lisans bölümlerinden birisinde ders olarak dahi olsa böyle bir proje yapıldığını düşünmek istemiyorum.
  • Bölüm elektronik ve haberleşme mühendisliği. Belli bir platform yok. Dersin içeriği;
    Gömülü sistemlere genel bakış
    Gömülü sistemlerin temel karateristikleri
    8-bitlik örnek bir işlemci mimarisi
    16-bitlik örnek bir işlemci mimarisi
    32-bitlik örnek bir işlemci mimarisi
    Sayısal İşaret İşleyiciler (TI)
    Sayısal işaret işleyiciler (Analog Devices, diğerleri)
    FPGA'ler ve seri haberleşme protokolleri
    Gömülü yazılım geliştirme
    Gömülü işletim sistemleri
    Yazılım donanım tümleştirme ve hata ayıklama
    şeklinde. Arkadaşlar siz sanırım biraz fazla tepki vermişsiniz lakin ben ilerde gömülü sistemci olmak istemiyorum. Sadece genel bilgi edinmek ve ilerde işime yarayacak bir temel olması anlamında bu dersi aldım ve ilerde de bu işlerle hobi olarak uğraşmak istiyorum. Bu nedenle de hocadan da ona göre bir proje istedim. MSP430 ile falan yapalım dedi kendisi ama benim açımdan Arduino bana daha uygun. Yani illa bu bölümden mezunum diye ARM ile MSP ile PIC ile DSP'ler ile kopup gitmem gerekmiyor diye düşünüyorum :) Sonuçta herkes ilgi duyacak diye bir şart yok, herkersin hoşuna giden şeyler farklıdır. Bu işlerle arada bir hobi olarak uğraşmak isteyenlerin de olması normal diye düşünüyorum. Bu işlere ileri seviyede gönül vermiş insanlar olarak bunu en iyi sizler bilirsiniz.

    İkinci olarak, Coşkun bey kitabınızda SD kart uygulaması vs. olmasa da o uygulamayı yapabilmek için gereken altyapıyı almamda yardımcı olur diye düşünüyorum? Doğru mudur?

  • Black, henüz tepki vermedik fakat tepki verilmesi, üzerinde düşünülmesi gereken bir durum bu.
    sorunu ilk okuduğumda toplamda 1 saatte yapılacak bir yapı olarak değerlendirmiştim, sonra bu devreyi yapacak tüm elemanlara sahip olmama rağmen sitede örnek bir yazı yazmadığımdan kendime kızmıştım, ardından yüksek lisansta, hele bir de elektronik ile ilgili bir bölümde böyle bir projenin ödev dahi olarak da olsa yapılacağını düşününce "eyvah eyvah!" dedim. Benim uzmanlığım elektronik değil, arduino ve böyle sistemlerle uğraşma amacım veri toplama işinin çok kolay olması ve zevk almam, arduino satın almama sebep olan özelliklerinden birisi bu tür veri toplama, gösterme işlerini oldukça kolay şekilde yapabilmek. bu yüzden de bu örnek arduino ile çok kolay seviyede.

    Hayatında hiç gömülü sistem programlamamış, arduino kullanmamış birisinin sadece örneklerde göterilen devre elemanlarının bir arada olması şartı ile bu sistemi yapması 1 saat sürmez. (örnekleri sıra ile ard arda yaparak) Bu durumda lisans seviyesinde elektronik eğitimi almış birisinin bu örneği ders olarak dahi işlemesi (2. sınıftan itibaren) çok ciddi eksikliklerin göstergesidir. bunun yüksek lisansta olması ise daha da büyük eksikliklerin işareti olarak yorumlanmalı.
    Elektronik harici bölümlerde ise gayet normal bir durum olarak karşılanabilir, yanlış hatırlamıyorsam tıp vb bir kaç alanda ders olarak işlenmeye başladı arduino gibi yapılar.
    Bu örnek orada bir iki derste işlenecek bir konu olabilir ancak.
    Verilen tepkiler sana değil, eğitim sistemine, konuyu kişisel algılamamalısın ( ya da aşağıdaki yazıyı okuduktan sonra algılayabilirsin).
    uzun süredir üzerinde tartışılıyor.
    http://ahmetalpat.com/elektrik-elektronik-muhendislik-ogrencilerinin-suursuzlugu-uzerine/
    http://coskuntasdemir.net/muhendislik/muhendislik-ogrencileri-neden-arduino-kullanmamalisiniz.html
  • Merhaba Kaan bey. Coşkun beyin yazısını daha önceden okumuştum fakat bir daha okudum, yazdıklarına katılmamak KESİNLİKLE mümkün değil. Satırı satırına doğru bir yazı, zamanında okuduğumda da hak vermiştim, şimdi okuduğumda yine " Ne güzel yazmış Coşkun bey" dedim, kendi kendime. Ahmet beyin de yazısını da ilgiliyle okudum. Dört dörtlük olmayan her mühendislik öğrencisi kendinde o yazıdan bir(kaç) parça(lar) bulacaktır buna kesinlikle şüphe yok :) Lakin sanırım ben demek istediğimi anlatamadım. Elektrik ve elektronik mühendisliği bildiğiniz gibi sonsuz bir deniz. Enerji sistemleri kısmı var, analog devre tasarımı kısmı var, sayısal devre tasarımı kısmı var, telekomünikasyon kısmı var ki o da içinde network idi anten idi birçok dala ayrılmakta, gömülü sistemler kısmı var, endüstriyel otomasyon kısmı var. Var oğlu var. Türkiye'de malasef şirketlerin büyük bir çoğunluğu(herkesin biriminin, görevinin belli olduğu büyük markalar hariç) daha az eleman alp cebinden daha az para çıkması amacıyla
    -ARM, PIC, DSP, FPGA bilen
    -C/C++/C# ve Java bilen
    -SQL'e hakim
    -Oracle veri tabanını kullanan
    -+5 yıl tecrübeli
    XXXX mühendisi alınacaktır tarzı sanki işe insan değil de robot alıyormuş tarzı ilanlar vermekte.
    Ben bir mühendis olarak ahtapot misali her yere elimi kolumu atarsam nasıl bir konuda cidden dolu olabilirim? Bir hocamız söylemişti yurtdışında elektrik motorlarının sadece rotor kısmının tasarımıyla uğraşan mühendisler var diye. Aslında olması gereken mühendislik de budur bence.
    Açıkçası ben hayatımı gömülü sistemlere adamak, bu konuda ileri seviyede bir mühendis olmak, bu konuya gönül vermek istemiyorum. Elektrik-Elektronik Mühendisliği okumuş, Elektronik Haberleşme Mühendisliği bölümünde yüksek lisans yapan adamsın nasıl böyle birşeyi düşünürsün? de diyen çıkabilir. Lakin benim istediğim şey C dilindeki eksiklerimi giderip üzerine C++, C# ya da Java'dan birini ekleyerek, real-time olmayan software tabanlı(C/C++/C#/Java, MATLAB, Labview vs.) ses, video, görüntü işleme işleriyle uğraşmak. Yüksek lisansa başlarken de buna dönük dersler almayı planladım tabi ki evdeki hesap çarşıya uymadı :) Gidip de yüksek frekans tekniği, VLSI tasarım, Optik Haberleşme Sistemlerinin Analizi ve Tasarımı gibi ilgimin alakamın olmadığı dersleri almaktan ise en azından bana bir bilgi birikimi katacaktır diye düşündüğüm gömülü sistemler dersini aldım. Bunun yanında lisanstaki sayısal devre tasarımı temeli üzerinden bir donanım tasarlama dili öğrenip, FPGA ile ilgili bilgi edinebilmek amacıyla ileri sayısal tasarım dersi aldım. Son olarak da esas isteğime yönelik olarak tek ders olan ileri görüntü işlemeyi aldım. Lisansta temel sinyaller ve sistemler dersi ve son sınıfta sayısal sinyal işleme dersi haricinde lisans seviyesinde bir görüntü işleme dersi almadığımdan derse hakim olabilmek için lisans düzeyinde görüntü işleme dersiyle alakalı notlar, kitap vs. edinip tamamen olayı kapma şansım olmasa da en azından temel bilgileri edinebilmek için uğraşıyorum. Sonuç olarak üzerinde ustalaşmak istemediğim, sadece arada eğlence amaçlı takılmak, kendi kendime evde projeler yapmak istediğim bir alanda işin ileri seviyesini öğrenmek için kendimi zorlamamın benim için sıkıntı verici olacağını düşünüyorum.
    Saygılar.
  • Merhaba ben geçenlerde bu uygulamayı yapmıştım. Hatta hala masamın üzerinde duruyor :)

    SD kartın kendisinden başka sadece bir yuvaya ihtiyacınız olduğunu düşünüyorum. Gene de isterseniz 74AHC125 gibi bir yonga kullanabilirsiniz.

    Zaman ve saat bilgisi için DS1307 kullanabilirsiniz.

    Yararlandığım kaynaklar.

    http://hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio

    http://arduinodiy.wordpress.com/2012/04/02/simple-sd-card-interface-for-arduino

    http://makezine.com/projects/sun-logger

    C, C++ konusunda da ceviz forumları iyidir.

    http://forum.ceviz.net/c-c/
  • Merhaba Erdem bey. DS1307'e baktım da. Real-Time clock entegresi olduğunu gördüm. Yanlış anlamadıysam o entegre ile ölçülen değerlerin yanına zaman bilgilerini de girmeye yarayacak. Arduino'nun kendi real-time clock'u yok mu? Araya bir başka entegre daha sokmadan ondaki real-time değerleri giremez miyiz direkt?
  • Arduino'da Real-Time Clock yok. DS1307 gibi rtc entegresi kullanmak gerekiyor.

  • Benim yapmaya çalıştığım şey elektronik rasat istasyonu ya da basitçe iklim istasyonu diyebiliriz.

    Ne yaptığına gelince örneğin 01 Ocak 2014 tarihinden itibaren sıcaklık verilerini kaydetmeye başlayacak. Belki 6 - 7 ay kadar bir süre kaydedecek. Bu süre zarfında günlük en yüksek, en düşük ve etkili sıcaklıklar toplamını kaydetmesini istiyoruz.

    http://en.wikipedia.org/wiki/Growing-degree_day

    Etkili sıcaklığı da şu şekilde hesaplıyoruz.

    EtkiliSıcaklık = [(SıcaklıkEnYüksek + SıcaklıkEnDüşük) / 2] - SıcaklıkTaban

    Burada taban sıcaklık değerimiz 10 °C.

    Örneğin bir gün içinde en yüksek sıcaklık 23 °C ve en düşük sıcaklık 12 °C ise etkili sıcaklık katkısı 7.5 derece/gün olacak.

    ES = [(23 - 12) / 2] - 10 = 7.5

    Amacım bu etkili sıcaklıklar toplamı 250 derece/gün olduğunda bir uyarı vermek. 800 derece/gün olduğunda bir ikinci uyarı vermek.

    Sadece belirli tarih aralığındaki değerleri örneğin 01 Ocak ya da falanca tarihte örneğin akşam 8 ile sabah 8 arasındaki sıcaklıkları öğrenip bunlar üzerinde işlem yapmam gerektiği için DS1307 yongası kullandım. Bir de güç kesintilerine önlem olarak.

    İkinci aşamada nasıl güç tüketimini azaltabilirim veya elektriğin olmadığı yerlerde güneş enerjisiyle nasıl çalıştırabilirim diye düşünceler var.

    Şu aralar güç elektroniği ve yüksek matematik dersleri aldığım için hiç bakamıyorum. Masada masum masum oturuyor :)
  • Başlık hortlatmak gibi olacak ama ben de elektronik ve haberleşmede yüksek lisans okudum. Google'ın derinliklerinde kaybolurken bu yazıya denk geldim ve dayanamadım. Açıkcası Arduino ile yüksekte proje yapmak hocanın suratına küfretmekten farklı birşey değildir. bölümün çok dallandığına katılıyorum fakat hobi olsun diye gömülü sistemler dersi seçilmez.
  • iyi birşey mi dediniz kötü birşey mi anlayamadım. sonuca bakınca hangisi kolayına geliyorsa onunla yapılması daha iyi değilmidir?
  • merhaba,

    labview de arduino için hazırlanan programlar arduinoya yüklenip kendi başına çalışabiliyor mu yoksa labview ile beraber mi çalışabiliyorlar?

    teşekkürler.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.