DS18B20 dijital sıcaklık sensörü

ds18b20

18b

18b20, tek kablo üzerinden haberleşebilen dijital bi sıcaklık sensörüdür. Onda bir hatta bazı versiyonlarının yüzde beş gibi bir hassasiyetleri mevcut, kullanımı basit ve aynı 1 hat üzerinden birden fazla(255 e kadar) sensör kullanılabilir.

Örnek şemada olduğu gibi basitçe bağlanıp, lcdde kullanılabilir, herhangi bi sıcaklık değerine setlenip çıkışa alınarak fan, klima v.s. de kontrol edilebilir.

Tarafımca denenmiş, sorunsuz çalıştırılmıştır.

Dökümanlar  için indirme linki –> 18b20

Toprak nem sensörü ve otomatik sulama

1-82_zpsf18b7b67

Günümüz akıllı evlerinde artık o kadar çok gelişme var ki, insanlığa pek yapacak iş kalmıyor. Eski zamanların filmlerinde robotların ev işlerini yapması, farklı bir yol ile gerçek oluyor.

Bu yazımızda konumuz otomatik sulama ve toprağın nemini dengeleme üzerine.

Fotoğrafını gördüğünüz bu basit dedektör, toprağın direncindeki değişimi opamp ile karşılaştırarak toprağın nemini ölçmemize yardım ediyor. Kullanımı oldukça basit;

Eğer profesyonel bir ölçüm yapmayacak isek, normalde sulamamız gerektiğinde toprağa bu ölçüm kısmını batırıp, üzerindeki trimpottan, yine üzerindeki kırmızı ışığın tam söndüğü ana ayarlıyoruz ve toprağımızı normal bir şekilde suluyoruz. Toprak nemlenince direnci düşüyor ve sensörün üzerindeki opamp, bizim d0(kırmızı) ledimizi yakıyor. Led yanarken dijital çıkışın sıfır olduğunu aklımızda tutmakta fayda var. Tekrardan led söndüğünde ise anlıyoruz ki toprağın artık sulama vakti gelmiş ve dijital çıkışı bu durumda bir(3.3v) oluyor. Bu sensörü sadece görsel uyarma ya da çıkışı ile buzzer tetikleyip sesli uyarma olarak kullanabilir ya da bir mikrodenetleyiciye bağlayarak belirli süre otomatik sulama yaptırabiliriz.

nem

Buzzer yerine röle bağlayarak herhangi bir cihazı aktif etmeyi sağlayabilirsiniz, toprak nemlendiği gibi çıkış deaktif olacaktır ancak bu toprağı otomatik sulamak için pek de sağlıklı yöntem olmayabilir, zira sansörün deaktif olması için gereken su miktar bitkilere yetmeyebilir. Bunu için mikrodenetleyici kullanmak gerekirse:

nem1

Böylelikle ne kadar süre sulamamız gerektiğini kolayca programlayabilir ve ardından sulama motorunu durdurabiliriz. Ayruca birden fazla pompa ile toprağa sıvı katkıların da zamanlaması yapılabilir(örneğin orkidelerin ayda bir kendi besiniyle birlikte sulanması gibi). Örnek kodlar ektedir.

Röle seçerken 5v ile tetiklene ve kontaklarının sulama motorunu kaldırabileceği güçte olmasına dikkat etmeliyiz. Ayrıca motorun bağlandığı kontaklara voltaj uygulanırken motora uygun voltaj verilmeli(örneğin 220v gibi) ve bu uçlar karıştırılmamalı. Aksi halde devremizi yakabiliriz.

Tüm bunların haricinde nem sensörümüzün ayrıca bir de analog çıkışı var ki toprağın nem oranını ölçmemize yardımcı olabilir ve süreyle tahmini sulamadansa tam değerinde sulama yapabiliriz. Bu hassas bitkiler için özellikle gerekebilir. Bu analog çıkışı direk mikrodenetleyicimizin analog girişine bağlanıp, gerekli durumlarda çıkış değeri ölçülerek karşılaştırma yapılabilir.

nem2

Sadece saksı sulama yapılacak ise şu tarz minik mompa motorları bulmak mümkün, üstelik 5v ile verimli çalışmaları, ekstra güç kaynağı ve gerilim hattı derdini de ortadan kaldırıyor.

pump

Dijital output için hazırlanmış pic ile 5sn sulama yazılımı (güncellendi)–> nem

Bilgisayarımıza LCD Gösterge

2012-07-23 17.54.59

Karakter lcdlere ulaşmak birçoğumuz için çok kolay ve fiyatları da çok uygun. Bilgisayarlarını kimi zaman sadece müzik dinlemeye veya film izlemeye hatta download için açık tutmaya bırakan birçoğumuz, bu tarz bilgilendirme ekranlarına ihtiyaç duyabiliyor. Bazılarımız ise performans tutkunluğuna kapılıp overclock yaptığımız bilgisayarımızın, oyun oynarken ne kadar ısındığını kritik durumda olup olmadığını da merak edebiliyor.

Peki bu lcdler neleri gösterebilir? Aslında bu sorunun cevabı biraz da hayal gücü ve becerilerimize bağlı ancak genel olarak sıralamak gerekirse;

  • Güncel saat – tarih
  • Bilgisayarın birçok bölümünün sıcaklık değerleri, fan hızları
  • Winamp ya da WindowsMediaPlayer daki dinlenen izlenen öğenin adı, kalan-geçen süre bilgileri, ses spectrum analyzeri v.b.
  • Volume bar(sesin ne kadar açık olduğu)
  • Harddisklerin doluluk oranları, gb değerleri
  • RSS haber akışları
  • Bazı oyunların flag bilgileri
  • Hava durumu
  • Kendi yazdığımız herhangi bir yazı
  • Belirttiğimiz bir not defteri içinde yazılı olanlar

gibi çok kullanışlı örnekleri mevcut. Hatta şuradan yıllar önce deneyip paylaştığım videoya da ulaşabilirsiniz:

Bu lcdlerin 4×20, 2×16, 2×24, 4×40 gibi herhangi bir varyantı kullanılabilir. Özellikle 2x16lar yeterli ve 10 liranın altında maliyeti ile tercih edilebilir.

Kulandığım yazılımın adı: LCDSmartie, direk kendi sitesine erişip gönül rahatlığı ile indirebilirsiniz.

Yapmanız gereken ufak 1-2 ayar mevcut; lcd satır X karakter miktarını seçmek, bağlantı noktasını seçmek(biz LPT den bağlayacağız) ve LCD tipini seçmek (bu karakter lcdler HD44780) Daha sonra altta görünen satırlara istediklerimizi ekleyebiliriz. Menüsünden kolayca seçmek mümkün genel görüntüleri ve ayrıca yine aynı sitede ekstra pluginler mevcut. Örneğin everest ultimate programından daha farklı sıcaklık değerlerini eklemek istiyorsak bize verdiği dosyaları bu programa işlemek gerek.

Devre şemasına gelince de:

lpt_lcd_schema

Olukça basit ve az parça mevcut. 10K pot, ekranın kontrastını ayarlıyor. Eğer bulamazsanız 1.2k direnç ile direk eksiye bağlanabilir. 100R pot ise ekranın parlaklığını kısabilmek için. O da herhangi bir direnç kullanmadan eksiye bağlanıp sürekli açık kalması sağlanabilir. Devre 5v ile çalışır, farklı voltaj ve ters voltaj anında lcdyi kullanılmaz hale getiriyor.

PIC CCS ile Step motor kontrolü

step_motor

Step motolar sitemizde de bir çok kez anlatıldığı gibi hızı, ivmesi, konumu kolay hesaplanabilen, güçlü ancak bir miktar sıcaklık ve titreşim sorunu olan motor çeşididir. Kısaca çalışmasını anlatacak olursak, 4 kenara sıralandığı kabul edilen 4 bobin grubu ve bu bobinlerin ortasına oturtulmuş rotor etrafında, bobin aralıkları kadar dişleri olan mıknatıslar yerleştirilmiştir. Bobinlere sıra ile enerji verildiğinde mıknatıslar bobinlere doğrularak adım atmaktadır. Bu bobinler 2 şer olarak enerjilenerek rotorun tam ortasına hizalanması sağlanıp yarım adım da attırılabilir.

1-3

Şemada da görüldüğü gibi sırayla enerjilendirmek, aralarda bekleme yaratmak ve zamanla bu beklemeleri de değiştirmek motorumuzun yönünü, hızını ve ivmesini ayarlamamızı sağlar. Ancak gerçek hayatta motorlarda bobin sıralanışı tam olarak böyle değildir. Bunun nedeni, eğer sıralanışı böyle olsaydı her adımda 90 derece birden hareket etmesi gerekirdi.

676_The inside of a bipolar stepper motor

Rotor üzerineki mıknatıs dişlilerinen de anlaşılacağı üzere normalde step motorlar çok daha ufak adımlar atmakta ancak bobin mantığı gruplanarak tamamen aynı kalmaktadır. Örneğin her adımı 7.5 derece olan step motorlarda 48 adım sonunda tam bir tur atılmış olur. Adım sırası 4. bobinden sonra ilk bobine dönüp tekrarlanması bu işlem için yeterlidir.

Örnek bir devre vermemiz gerekirse:

step 

Buradan unipolar bir step motoru basitçe yarım adım ve tam adım, istediğimiz yönde, ivmede ve hızda sürmek mümkün. Ancak motorların mekanik ve bobin enerjilenmesiyle alakalı bazı hız sınırlamaları olabilir, bunları gerekli dökümanlardan takip etmeliyiz. Ayrıca L297 entegresi step motorları sürmeyi çok daha kolaylaştıran bir entegre, üzerindeki pinlerle adım vs. ayarı yapılmakta, ayrıca çıkışı direk L298 motor sürücü entegresine uygun ki onunla da oldukça büyük güçte motorları sürmek mümkün.

Verdiğim devreye uygun, test edilmiş kod ve dökümanlar için —> step

PIR Hareket Sensorü ve Uygulama Devresi

100_1

Bankalar, dükkanlar, marketler, hatta bazılarımızın evlerinde bile rastlanabilen bu PIR(passive infrared) sensörlerin asıl algıladıkları aslında hareket değil ısı değişimidir. Çalışma mantığı kısaca, ısı yayan cısımlerin kızılötesi bir ışık da yayması ve bu sensörlerin içindeki algılayıcıların da kızılötesi ışınlardaki farklılığı ölçerek hareket var kanaati getirmesi şeklinde açıklanabilir.

Genellikle kullanılan sensör d203s ve türevleridir.

26047

Bu sensörlerin bazılarının teknik dökümanlarında da yayınlandığı gibi, bir nevi fet transistör mantığı taşımakta ve algıladığı kızılötesi ışına göre geçirdiği akım değişmektedir. Ancak bu geçirdiği akım 100uA ile 150uA arasında olduğundan, günlük hayatta kullanılabilmesi için ekstradan birkaç kez opamp ile değerinin yükseltilmesi gerekmektedir.

Örnek devre olarak her yerde bulunan LM324 entegresi ile şu devre yapılabilir:

ds203s

Hareket algıladığında aktif, kesildiğinde pasif olan bu devreye, projemize göre LDR li karanlıkta çalışma ya da gecikme devresi gibi eklentiler yapılabilir.

G kuvveti ölçer

gforce

Araç ya da uçak kullanırken hız yaptığımızda vucüdumuza ne kadar basınç uygulandığını, ya da bir tekeri çevirirken bir cismin ne kadar bir merkez kaç kuvvetiyle karşı karşıya kalacağını ölçmek bu tarz bir devrenin işidir. Çeşitli projelerde ihtiyaç duyulabilir örneğin bir aracın hareketini herhangi görsel algılayıcı olmadan tespit etmek gibi..

  • ADXL103
  • ATtiny26
  • 3x 10 LED bar
  • 4x 0.1uF seramik kondansatör
  • 5x 360 Ohm direnç
  • 10uF kondansatör
  • 7805 regüle

Tüm malzemeler bu kadar, ekte pcb çizimleri ve hex dosyası da mevcut

indirmek için –>gforce

Tüplü TV de PIC ile Tetris

tetris

Her ne kadar çoğumuz artık LCD veya Plazma emsali tvlere geçsek de çoğumuzun evinde bir köşede nasıl değerlendirilse diye düşünülen bir eski tip tüplü tv yatıyordur.

PIC16F84 veya PIC16F628A ile kurup oynayabileceğimiz bu devre TV ye yatay ve dikey sinyalleri vermekle hükümlü. Ayrıca ses fonksiyonu mevcut ve eski ateri joypadlerimizi de (eğer hala evinde olanlar varsa benim gibi=) kullanmamıza imkan veriyor. 

schematic

Ekten ASM, PCB ve HEX tarzı dökümanlara ulaşabilirsiniz –>pictetris

Basit titreşim sensörü

vibration-sensor

Basit titreşim ve hareket sensörü, pendulum robotlarında, araç-cisim hareket algılamada belki deprem alarmı olarak bile kullanılabilir. Herhangi hareketli bir parçası yok bu nedenle kolay bozulma, çalışmama durumu da yok.

Çalışma mantığı piezo hoparlörlerin(buzzer) titreşimlerde düşük voltajda gerilim üretmesi üzerine. opampla bu voltajı yükseltip led yakabilir ya da başka devreleri tetikleyebiliriz..

Şema da oldukça basit:

Recipe4Fig1

 

1k, 3.9M direnç

1M pot,

1 ad led,

LTC1050 opamp,

piezo hoparlör,

9v pil.

Hassas ayar yapılırsa, bir cismin üzerine yapıştırıp yüksekten attığınızda, yere düşme anını elektronik olarak bildirme, kaydetme amaçlı da kullanılabilir..

 

 

Donanımsal KeyLogger yapmak

diy_hardware_keylogger

Keylogger, bir bilgisayar klavyesinde işlem yapan kişinin, klavyede bastığı tuşları aynı sırayla kaydeden donanım veya yazılıma verilen addır. İnternetin ilk yayıldığı zamanlarda MSN şifresi çalıp kız bulma umudundan, banka hesaplarını boşaltma isteğine kadar birçok kişinin iyi ya da kötü amellerine alet edilen bir sistem olduğu da aşikar. Yine de kendi bilgisayarınızın kurcalanıldığını algılama gibi kişisel güvenlik amacı da güdebilir bir düşünce.

Malzemeleri kolay bulunabilir ama atmel programlayıcı herkesde olmayabilir. Yine de bu seriler seri porttan da programlanabiliyor Flip yazılımı ile.

Şemaya gelirsek:

diy_sch

Daha detaylı bilgi, kod ve gerekli yazılımlar için:

http://www.keelog.com/diy.html

PIC C ile SD karta ses kaydedici ve oynatıcı

mikrofon_59115

Minik böcek cihazlar yapmak, ya da sadece müzikli sözlü anı defteri oluşturmak. Amaç size kalmış ve aslında her ne kadar piyasada hazırları olsa da kendim yaptım demek ya da kendi projelerimizle birleştirebilmek oldukça farklı..

sdmic

Yapılışı oldukça basit, var olan pic projesine ekstra entegre eleman eklemektense kodları dahil ederek bir ses kaydedici özellik dahil edilebilir.

Pic in kendi adc si ses giriş için, PWM çıkışı(CCP) ise bir nevi DAC olarak ses çıkışı için kullanılmış..

20KHz 8 bits mono olarak, yani .wav formatına çok benzer kalitede SD karta(SDHC desteklemez) kayıt yapıyor.

SD Kart ile SPI haberleşme kurulmuş ve birçok bloğu kendine göre programlıyor. Genel olarak SD kartların dökümantasyonuna şuradan ulaşabilirsiniz:

http://alumni.cs.ucr.edu/~amitra/sdcard/ProdManualSDCardv1.9.pdf

PIC gerilimi 5V ancak hafıza kartları 3V3 ile çalışıyor. Bu nedenle 2 diyot ile voltaj düşürülmüş, yani haricen bir 3V3 kaynak bağlanması gerekmiyor devreye.

Görev butonları push buton, yani bas çek o kayıda devam ediyor şeklinde(kayıt süresince basılı kalması gerekmiyor)..

Ses girişi 1-1,25V p-p olmalı maksimum. 2V p-p girişe hasar verebilir.

Pic kodu da burada –> sd