Artık projeler elimizin altında.
Evet arkadaşlar şantiyede hemen hemen her zaman projeye bakmaya ihtiyacımız olur. İşte bu zamanlarda karşınıza telefonlarda kullanabileceğiniz bir uygulama sunacağız.Adı: DWG Fast View.
Bu uygulama ne işe yarar? Nedir? Nasıl Kullanılır?
Adım adım inceleyelim.
Önce uygulamayı indirin. Daha sonra projeleri yükleyeceğiz.
Google Play Store> DWG Fast View indirin.
İndirdikten sonra yükleyin. Yükleme bittiyse dosyaları atın.
Dwg uzantılı dosyaları telefona atmak için Bilgisayardan usb kablosuyla bağlanacağız. Ancak atmadan önce daha kolay açabilmek için Projelerin boyutunu küçültmeliyiz!
Projelerin boyutunu nasıl küçültebilir ve kolay açabilirim?
Autocad'ten açtığımız projeleri sırasıyla overkill ve purge komutlarını uygulayacağız.Overkill komutu nasıl kullanılır?
"Overkill" komutunu yazıp enter'a basıyoruz. Alanı seçmemizi ister. Seçiyoruz ve enter'a basıp bekliyoruz. Biraz sürebilir. Dosyanın büyüklüğüne göre değişir süre. Bittiğinde "purge"ye geçebiliriz.
Purge komutu nasıl kullanılır?
"Purge" yazıp enterla bekliyoruz. Bu işlem biraz sürecek. Tüm projeyi taradıktan sonra purge all yapıyoruz. Bittikten sonra işlem "zoom" ve "e" enter yapıyoruz. Ortalandı. Şimdi kaydedebiliriz. Tavsiyem 2004 formatında kaydetmeniz. Çünkü her bilgisayarda -yani alt versiyonu yüklü- açabilirsiniz. Sol üst köşeden file>save as> yapmanız yeterlidir. Kaydettiyseniz şimdi sıra projeleri telefona atmakta.
Projeleri telefona nasıl atacağım?
Usb kablosuyla bağladınız telefonu. Tuş kilidini açtınız. Bilgisayarda göründü. Dosyaları içine "dwg" formatlı olmasına dikkat ediniz. Bir yere kopyalıyoruz. Örneğin Documents'e atabilirsiniz.
Peki dwg dosyasını telefondan nasıl açacağım?
Bunun için alternatif programlar da olmasına rağmen denediğim ve hızından memnun kaldığım "DWG Fast View" uygulamasını önereceğim. Diğer alternatifler ise şimdilik DWGSee, ve Autocad360 uygulamaları mevcut. İsterseniz onları da kullanabilirsiniz.
Programı yükledim. Şimdi ne yapacağım?
Local disk'e giriyorsunuz ve "View mode" seçeneği ile açıyorsunuz.
Alternatif Programlar: DWGSee, Autocad360.
Temel Topraklama Planı
1)Bina çevresinde 120mm2 CU iletken kullanılır. (Mavi renkli gösterilmiştir)[Resim-1]
2)Binayı içten içe döşeyen 30x3.5mm Galvaniz Topraklama şeridi kullanılır.(Kırmızı renkli gösterilmiştir)[Resim-1].
3)O20mm 2x1,75m Toprak elektrodu bakır çubuğunun bağlantısı menholde yapılır.[Resim-3]
Resim-1(Binayı dıştan ve içten çevreleyen bakır iletken ve galvaniz çelik lama görülür.)
DETAYLAR
1)Binayı Dıştan Çevreleyen 120mm Bakır
1) Bakırın ve bakır çubuğun bağlantısına ve yerine bakacağız.(Şekil-3)
2) Termokaynak eklerinin nasıl kullanılacağı görülür. (Şekil-4)
Resim-2 (120mm Bakır iletken)
Resim-3(Çubuğun ve 120 Cu iletkenin menholde bağlanması)
Resim-4(Termokaynak eki)
2) 30x3.5mm Galvaniz Şerit Detayları: Galvaniz şeritinde detaylarına bakacağız.
1)Hasırda bağlandığı görülür.
2)Projeye uygulanacağı yer görülür.
3)Bağlantı klemensi görülür.
Resim-5 (30x3.5mm Galvaniz şerit Binayı İçten içe hasırın içinden çevreler)
Resim-6 (Galvaniz şeritin uygulanacağı yer. (Kırmızı renkliler))
Resim-7 (Galvaniz şeritin bağlantı klemensi)
3) Potansiyel Dengeleme Barası ve Topraklama Direncinin Ölçülmesi
Resim-8 (Eş Potansiyel Dengeleme Barası)
Resim-9 (Dilatasyon Bağlantısı)
Not: Dilatasyon depremde binaya esneme payı verir.
Topraklama Direncinin Ölçülmesi
1)Rç: Topraklama Çubuk Direnci [Şekil-1'de görülür.]
2)Ri: Çevre Topraklaması Direnci [Şekil-1]
3)Rt: Temel Topraklama İletken Direnci [Şekil-2]
4)Re:Eşdeğer Topraklama Direnci [Şekil-2]
Şekil-1 (Rç, Ri)
Şekil-2 (Rt, Re)
Bir binanın temel topraklamasını yaparak topraklama direncini ölçmüş olduk. Proje Notlarından önemli olanların altını çiziyorum.
NOT:
· Temel topraklama tesisatı imalatı yapıldıktan sonra topraklama direnci ölçümü yapılacaktır. Eğer ölçümde topraklama direnci istenilen değerin üzerinde çıkarsa; topraklama direncini istenilen değere düşürmek için topraklama tesisatına uygun olan yere ilave topraklamalar (bakır çubuk elektrot) yapılması gerekir.
· İmalatta bakır çubuk elektrotların etrafına, bakır çubuk çubuk elektrotları birbirine bağlayan iletkenin etrafına yeterli miktarda bitkisel toprak konulması toprak direncini düşürmek için uygun olacaktır.
· Bakır çubuk elektrotlar arası mesafe bakır çubuk elektrot boyunun iki katından (h = 3,5x2 = 7m)(7m' den) az olmayacaktır.
· Temel topraklayıcı kısımlarının bağlantısı: temel topraklayıcının kısımlarının birbirleriyle bağlamak için (DIN 48845' e uygun) çapraz bağlayıcılar ve uygun kamalı (DIN 48834' e göre) bağlantılar kullanılmalıdır veya bağlantılar DIN 1910 serisi standartlara uygun şekilde kaynakla yapulmalıdır.
· Toprak altında yapılan tüm iletken-çubuk bağlantı ve ekleri termo kaynakla (Cdweld kaynak - Exotermik kaynak) yapılacaktır.
· Temel topraklayıcı her tarafı betonla kaplanacak şekilde düzenlenmelidir. Galvanizli çelik lama topraklayıcı dik olarak en alt sıradaki çelik hasır üzerine yerleştirilmeli ve çelik hasıra bağlanmalıdır. Bağlantı klemensleri arası mesafe 2.00m' yi geçmemelidir.
· 21 Ağustos 2001 tarih ve 24500 sayılı resmi gazetede yayınlanan Enerji ve Tabii Kaynaklar Bakanlığının Elektrik Tesislerinde Topraklamalar Yönetmeliği uygulamada esas alınacaktır.
Eşpotansiyel toprak barasına:
· Ana pano topraklama iletkeni
· Ana su borusu topraklama iletkeni (Bina içerisinde borunun binaya girdiği noktaya yakın yerde topraklama iletkeni
irtibatlandırılacaktır.)
· Kalorifer tesisatI topraklama iletkeni
· TV anteni topraklama iletkeni
· Kompanzasyon panosu topraklama iletkeni
· Yangın hidroforu ve tablosu topraklama iletkeni
· İçme suyu hidroforu ve tablosu topraklama iletkeni
· Aşırı gerilim koruyucu topraklama iletkeni
· UPS cihazları topraklama iletkeni (Cihazlar ayrı ayrı topraklanacaktır.)
· Asansör tabloları topraklama iletkeni (Tablolar ayrı ayrı topraklanacaktır.)
· Asma tavanlardaki kablo kanalları ile elektrik şaftındaki kablo merdivenleri topraklama iletkeni
· Telefon santralleri topraklama iletkeni
· Demir kapıların topraklama iletkeni
· Ana doğalgaz borusu topraklama iletkeni (Bina içerisinde borunun binaya girdiği noktaya yakın yerde topraklama iletkeni irtibatlandırılacaktır.)
topraklama iletkenleri bağlanacaktır.
Ana panolar, kompanzasyon panosu topraklama iletkenleri 50mm², aşırı gerilim koruyucu ve UPS cihazları topraklama iletkenleri 50mm², diğer elemanların topraklama iletkenleri en az 16mm² izoleli iletkenlerle eşpotansiyel toprak barasına bağlanacaktır.
Teşekkürler.
Fatih Leventoğlu.
Selçuk Üniversitesi
Elektrik Elektronik Mühendisliği’ nden mezun olmadan altı ay
öncesinde girişim fikrim ile
Selçuk Üniversitesi Teknoloji Transfer Ofisi (SelçukTTO) tarafından eğitim
almaya başladım. Bu eğitimleri alabilmek için son 30’ a kalarak, beş ay boyunca
girişimcilik üzerine eğitim programına dahil olmaya hak kazandım. Bu eğitimler
neticesinde, iş fikrimi, pazar analizi, müşteri analizi, kişisel gelişim,
şirket içi yönetim, iş bölümü, satış planlamaları gibi bir çok konuda
geliştirdim. Eğitimlerin sonucunda son beş Lets Up projesi seçildik ve bu
projelerden sadece ikisi Silikon Vadisi’ ne gönderilecekti. Son bir performans
ile birinci seçilerek Silikon Vadisine gitmeye hak kazandım. Silikon Vadisi’
nde yaşadıklarımı, gözlemlerimi ve düşüncelerimi paylaştığım bu yazıyı sizler
için hazırladım.
Gitme günü geldiğinde
yurtdışına çıkış için tüm belgelerim hazırdı. Silikon Vadisi, San
Francisco’ da geçireceğimiz bir
haftalık süreçte, otel, şehir içi ulaşım, gidiş dönüş uçak biletlerimiz ile
birlikte üç öğün yemek ve genel ihtiyaçlarımızı karşılayabileceğimiz bir haftalık
harçlık, sponsorlar tarafından karşılandı. Önceden planlama belli olduğu için
her firmaya ve San Francisco’ ya hazırlıklı gittim. Uçaktan indiğimizde bizi
karşıladılar ve otelimize yerleştik. Bu kısımda kısaca gözüme çarpan,
beklediğimden daha fazla asya kökenli insan ile karşılaşmak oldu. Aksanlarını
anlamakta bir müddet gecikmeler olsa da 1-2 gün içerisinde alıştım.
Konakladığımız
otele Twitter’ ın uzaklığı yüz metre kadardı. Her gün yemek yemeye giderken
veya markete giderken Twitter’ ın önünden geçiyorduk. Silikon Vadisinin en
önemli ve güzel özelliklerinden biriside bu networking olayı. Yaşadığınız teknik
problemleri mail atmak yerine direk ofislerine giderek sorabiliyorsunuz. Veya
ortak bir çalışma kurmak isteyen bir firmanız varsa, yetkililerle kısa sürede
ağ oluşturabiliyorsunuz. Yeni geliştirilen frameworkleri çok yakından takip
edebilip, bir Twitter t-shirt’ ünü nereden alabilirim diye sorduğunuz kişi
Twitter’ da çalışan bir yazılım geliştirici olabiliyor.
Otele
çantalarımızı yerleştirdikten sonra şehir turuna çıktık. San Francisco yapı
olarak dik bir şehir diyebilirim. Eğik bayırlardan uzun bir iniş ve çıkış
yapabiliyorsunuz. Birçok ırk ve milletten insanı bulunduruyor. San Francisco’da
kapitalizm çok keskin diyebilirim. Bu da dayanamayan insanların ekonomik çöküş
yaşamasına sebep oluyor. Yollarda çok sayıda evsiz görmek mümkün. Siyahi
çeteler de çok rahat bir şekilde gözünüze çarpıyor. Yüksek egzoz sesi çıkararak
araba süren çete üyeleri de görmek mümkün. Bu arabaların arkasında sirenleri yakıp
giden 2-3 polis arabası da…
10
saatlik saat farkının benim için ilk birkaç günlüğüne sorun olabileceğini düşünüyordum.
Fakat, 12 saatlik uçak yolculuğunun vermiş olduğu yorgunlukla, otele
yerleştikten sonra istirahat için geçen ilk gece deliksiz bir uyku ile fazla
zaman geçmeden alıştım. Ancak döndüğümde gerçekten çok sert bir şekilde
etkilendim. 3 gün olmasına rağmen hala kendime gelemedim.
Bölgede böyle bir
ekosistemin oluşmasında en büyük etki tartışmasız bir şekilde üniversiteler…
Girişimcilik doğrudan üniversitelerde aşılanıyor ve ekosisteme hazır şekilde
mezun oluyorlar. Türkiye’de eksik olan belki de bu olabilir. İş fikri ve teknik
ekip iyi olabilir ancak doğru iş yönetimi, yeni pazarlama stratejileri
konusunda eksikler olduğundan dolayı milyar dolarlık seviyeye henüz gelememiş
olabiliriz.
Türkiye’den
farklı olarak, Türkiye’de bizler ürün hazır olduktan sonra nerdeyse piyasaya
sürülecek halde iken kullanıcılardan geri dönüş almaya çalışıyoruz. Silikon
Vadisi’nde ise basit bir Landing Page website ile örnek olarak kullanıcılardan
feedback alınıp ona göre ürün geliştiriliyor. Ek olarak bu websiteden mail
adresleri gibi iletişim adresleri toplanarak ürün yayınlandıktan sonra da
kullanıcıya ulaşım sağlanıyor.
Başka
bir problem ise ürün ile alakalı feedbackleri yanlış kişilerden alıyoruz. Bunu
Silicon Valley dizisindeki bir olaydan hafif spoiler vererek açıklayabilirim.
Sıkıştırma hizmeti sunan genel kullanıcı kitlesi için bir platform
geliştiriliyor. MVP halinde yakın çevrelerinden (mühendis) feedback alıyorlar.
Herkes mükemmel, kusursuz şeklinde geri dönüş yapıyor. Bunun üzerine genel
kullanıma sunuyorlar. Yüksek kullanıcı geliyor, her şey dışardan mükemmel
görünüyor ancak şöyle bir problem var. Kullanıcı bağlılığı yok. Çünkü
kullanıcılar sistemi fazla karmaşık buluyor ve ne yapacaklarını anlamıyorlar.
Kısaca soruları doğru kişilere sorma konusunda eksiğimiz olduğunu
söyleyebilirim.
İşbirliği
olarak, aralarında çok iyi bir koordinasyon var. Pazardan yani müşteri edinme
tarafından rekabet ediyorlar. Start-up’ lar birbirlerinin teknolojilerini
kullanmaya çok açıklar. Her şeyi kendileri geliştirmek yerine yaptıkları işin
core kısmını kendileri uğraşıp orada mükemmelleşme yakalamaya çalışırken kalan
kısmında kullanabilecekleri altyapılarla işbirliği yapıyorlar.
Müşteri
odaklılık konusunda en başından bütün süreçleri müşteriye göre tasarlıyorlar.
Özellikle müşteriye temas eden operasyonları çok titiz yürütüp aynı zamanda hiç
ama hiç bırakmadan sürekli her fırsatta feedback alıyorlar. Yaptıkları işin ne
olduğuna değil müşterinin neye ihtiyacı olduğuna dikkat ediyorlar. Bu temel bir
felsefe haline gelmiş . Farklı bir teknoloji bile geliştirmiş olsalar
ürünleştirme sürecinde bunu kullanıcıların hayatlarının içinde yer bulacak şekilde
ürünleştiriyorlar. Gerekirse farklı alanlarda hizmet sunup ürünün kullanım ömrü
boyunca bir yandan para kazanırken diğer yandan da asıl ana teknolojilerini
kullanabilecekleri ve yüksek kar edebilecekleri sürece müşteriyi hazırlıyorlar.
Müşteri alışkanlıklarını, beklentilerini yönlendirerek ve eğiterek keşfetme
temelli yol haritaları kullanıyorlar.
İletişimde
ise çok açık ve netler. Herkes sonuç odaklı ve kimse kelimelerin söyleniş
şekli, formatı ile uğraşmıyor. Yani cümlelerin altında anlam aramak yerine
direk aksiyon alıyorlar ya da düşüncelerini net bir şekilde ifade ediyorlar.
Network konusunda çok iyiler, her fırsatta ilişki kurup devam ettiriyorlar.
Örnek : Uber de taksi paylaştığım adam hala havadan sudan konularda benimle
mailleşiyor, İstanbul hakkında sorular sorup oradaki gelişmelerden bahsediyor.
Ve ben artık ne iş yaptığını ve benim ne yaptığımı biliyor. Geçen gün iş
pasladım.
Kültür olarak
orada birikmiş bir kritik kütle var. Belki bunun etkisi olabilir ama kendi
katıldığım meet-up’ lar da gözlemlediğim kadarıyla yaptıkları şeyi özümseyerek
yapıyorlar. Herkes bizim gibi sunum yapıyor ve kabiliyet olarak bizim
başladığımız yerden başlıyorlar. Yüksek adaptasyon ile başarılı oluyorlar. Para
kazanma odağı var. Bu bilinen bir şey ama oradaki Türk homeless bile sorduğumuz
soruya cevap vermek için 20$ istedi. Sürekli yaptıkları işin çıktısını paraya
dönüştürme farkındalığı en başından itibaren pazarda yer edinmenin, pazara
adapte olmanın farkındalığıyla iş yaptırıyor.
No
Drama! Bu benim için en önemli gözlem. Türkiye’ de hikayeleştirme gibi
metaforlara inananlardan daha fazla odaklanılıyor. Burada sosyal bir problemi
de çözseniz, başka bir iş de yapsanız drama yapmanız gerekiyor çoğu zaman. Müşterinizin
ya da dinleyici kitlenizin duygusal taraflarına vurmaya çalışılıyor. Orada
herkes başarı/sonuç odaklı. Performans kriterlerinin başarı oranına göre
değerlendiriliyorsunuz neden bu işi yaptığınızla değil. Mesela evsiz çocuklarla
ilgili bir iş yapıyorsanız onların hangi problemlerinin olduğuyla değil o
problemlerin ne kadarını çözdüğünüzle değerlendiriliyorsunuz. Ya da ben
evsizdim, ya da onlara çok üzülüyorum o yüzden bu işi yapıyorum değil olay,
bununla ilgilenmiyorlar.
Kim olduğunuz değil işte ne kadar iyi olduğunuz önemli.
Zaman yönetimi en
önemlisiydi. Zamanın ne olduğunu çok iyi biliyorlar. Bir şeye vakit
ayırdıklarında onu yapıyorlar. Hafta içi diğer Amerika şehirlerine göre ve ya
Türkiye de ki bazı şehirlere göre gece hayatı San Francisco da yok denecek
kadar az. Sadece hafta sonları var. Bizim gibi sokakta hayat var kültürü yok.
Bunu cidden vakit kaybı bilinçsizlik olarak görüyorlar. Birçok şeyin saati
belli. Kahvesi, yemeği… Bundan taviz vermiyorlar, çok iş yapmıyorlar,
yaptıkları işi verimli yapıyorlar. Bir şey için ayırdıkları zaman dolduğunda
gerekirse konuşmanızın bitmesini beklemeden ayrılıyorlar.
Programın ilk
günü, diğer girişimcilere projelerimizi tanıtabilmek ve hedef müşteri
kitlelerimizi netleştirmemize yardımcı olabilmek için Lean Startup Uzmanı
Tristan Kromer tarafından Business Model Design eğitimi alındı. Bu eğitim ile
müşteri, değer önerisi, altyapı ve finansal değerlerin arasındaki ilişkileri
girişimciler olarak kendi fikirlerimize uygulayarak,
öğleden sonra T-Jump
yöneticisi Barkan Uluışık tarafından Silikon Vadisi ekosistemi ve kültürü
üzerine bilgilendirildik. Özellikle A.B.D. ve Türkiye arasındaki sistemsel
girişimcilik fırsatları farklarına odaklanan bu toplantı, benim ve diğer
girişimci arkadaşların sorularının cevaplanması ile sona ermiştir.
Programın ikinci
gününde girişimci ekibi olarak, inovasyon koçu Nick Noreno eşliğinde uygulamalı
müşteri geliştirme ve mülakat teknikleri eğitimi aldık. Müşterilerimizin sahip
olduğu ihtiyaçları, onların motivasyon ve değerlerine yönelik iç görüler
oluşturmamıza yarayacak sorular listesi çıkarmışlar ve bu soruları diğer
katılımcılar üzerinde deneme şansı yakaladık. Öğleden sonraki oturum Udemy ve
Carbon Health firmalarının kurucu CEO’su Eren Bali’nin paneliyle devam
etmiştir. İş modelinde müşterilerin ihtiyaçları doğrultusunda pivot etmenin,
Silikon Vadisine geldikten sonra Udemy’nin tekrar doğmasını sağladığını
belirten Bali, ürünün çalıştığını ve piyasa tarafından tutulduğunu hisseden her
girişimcinin vadiye gelerek buradaki ‘early adopter’ (erken benimseyici)
müşteri marketinden yararlanması gerektiğini dile getirdi.
Programın üçüncü
günü Palo Alto bölgesinde yer alan girişim ve başarılı şirketler ziyaret
edildi. Sundukları sağlıklı ve diyet yemek seçenekleriyle, öğle yemeğinizi
kapınıza kadar getiren ve Stanford mezunları tarafından kurulan Farm Hill’in
mutfak olarak da adlandırılan ana ofisi ziyaret edildi. Günde 2500’e yakın öğün
öğle yemeği servis eden Farm Hill’in operasyonunu gözlemleyerek, yazılım ile
desteklenen e-ticaret ve lojistik altyapılarıyla bu girişimin yemek yeme
kültürünü nasıl değiştirdiklerini öğrendik. Bir sonraki durak eski Apple
çalışanı olan Tony Fadell tarafından kurulan ve daha sonra Google tarafından
satın alınan Nest Labs’di. Geçtiğimiz iki yıl içerisinde çalışan sayısını ikiye
katlayarak, termostattan akıllı kamera sistemlerine kadar birçok ürün sunan
Nest, çok gündelik cihazların bile iyi bir müşteri deneyimi oluşturmak üzerine
kurgulanarak markette heyecan oluşturabileceğinin en iyi örneği idi. İş
geliştirme departmanın başında bulunan Scott McGaraghan, Google tarafından
satın alındıktan sonra Google kültürünün şirkete işlediğini, ancak bunun
girişimcilik kültürünü beslediğini belirtti. Bir sonraki durak Google’ın
biyoteknoloji ve biyomühendislik üzerine çalışmalarının yürütüldüğü Google X
Verily kampüsüydü. Platform yöneticisi Collin Walter, girişimciliğini Google’a
taşıyarak gerek insan kaynağıyla gerekse finansal
desteğiyle fikirlerini pratikte uygulanabilir hale getirmek için çalıştığını
belirtti. Üniversite hayatından beri çok farklı girişimlerde bulunmuş Collin,
fikirlerin gerekli kaynaklarla doğru yönetilirse tüm dünya üzerinde etki
bırakabileceğini ve Verily’nin şu an kanser, diyabetik gibi çeşitli
hastalıkların erken tanılarını gerçekleştirebilecek bir test
prosedürü&cihazı üzerinde çalıştığını belirtti. Günün son durağı,
Artificial Intelligence (Yapay Zeka) uygulamaları ve yeni kurulan donanım
laboratuvarıyla farklı alanlara genişleyen Facebook şirketiydi. Bu
şirkette ‘Marketplace’ (Pazaryeri) uygulamalarında çalışan Bowen Pan, K12
uygulamalarında ürün mühendisliği yapan Gülin Yılmaz ve IT uzmanı Kaan Baloğlu
ile görüşüldü. 6 haftada bir yapılan hackathonları ve ufak çalışma gruplarıyla
şirket içi girişimciliği cesaretlendirilen bu şirkette, her geliştirmenin önce
binlerce kullanıcı tarafından test edilip, ürün-pazar yeri uyumu yakalandıktan
sonra geliştirmelerin tüm sisteme uygulanarak her adımda müşteri validasyonu
yapılmasının önemine değinildi.
Programının
dördüncü günü, geleneksel araba satış endüstrisini alt üst eden Y Combinator
girişimi Carlypso ile başladı. Carlypso, ikinci el araba alım satımında tüm
müzayedeleri ve web sitesi içeriğini irdeleyerek, kullanıcı adına gerekli tüm
teknik ve ekonomik kararları almak ve arabayı yeni sahibine en iyi şekilde
bırakmak üzerine kurulmuş bir yazılım ve servis girişimidir. Yapılan panelde
Carlypso kurucu CEO’su Nicky Hinrichsen, biz genç girişimcilere öncelikle
olarak çözdükleri sorundan en mustarip olanlardan başlayarak, müşterilerin
beklentilerini aşan servis ile müşteri memnuniyetini arttırmamızı öğütledi.
Daha sonra, firmadan müşteriye ulaşacak tüm mal ve hizmetlerin sevkiyatının
rotasından takibine kadar tüm aşamaları yazılım ile çözen sevkiyat yönetimi
uygulaması Onfleet ziyaret edildi. Onfleet kurucu CEO’su Khaled Naim, bizlere
müşterinin problemini çözmek için en temel sorundan yola çıkmalarını, eğer bu
noktayı bulabilirsek ek özelliklerle müşteri deneyimini arttırmamızı önerdi.
Öğleden sonra ziyaret edilen Samsung Accelerator(Hızlandırıcı),
girişimci ekibimiz ile Samsung firması arasındaki iletişimi ve kurum içi
girişimciliği arttırmak için kurulmuş bir merkezdir. Merkezdeki süreçler
hakkında bilgi aldık, daha sonra merkezde çalışan girişimcilerle sohbet ederek,
kendilerine sunulan farklı bir girişimcilik deneyimi yolunu gözlemleme şansı
bulduk. Günün son durağı Rhumbix, geleneksel inşaat sanayisini takip ve data
görselleştirme araçlarıyla alt üst eden yeni bir girişimdi. Araçların ve
kişilerin üzerine yerleştirilen sensörlerle yer, sağlık ve performans gibi
birçok kriteri izleyebilen bu start-up, kullanıcılarına zaman kaybına neden
olan noktaları grafik ve hızlı raporlamalarla sunarak inşaatın zamanında
tamamlanması için danışmanlık hizmetleri sunmaktadır. Başlangıçta sadece
işçilerin konumlarını gözlemleyerek inşaat sektörüne uygun raporlar çıkaran
Rhumbix kurucu CEO’su Zach Scheel, daha sonra müşterilerinin ihtiyaçlarını daha
iyi dinledikçe farklı özellikler eklediklerini ve hedeflerinin inşaat
sektöründe büyük data işleyerek firmalara inşaatın yönetimi konusunda temel
atımından anahtar teslimine verimli danışmanlık hizmetleri sunmak olduğunu
belirtti.
Programın beşinci gününe Stanford kampüs ve
laboratuvarlarını gezerek başladık, daha sonra Stanford Graduate School of
Business’i ziyaret ederek girişimcilere sunulan yüksek lisans programları ve
uygulamalı uzmanlaşma olanakları konusunda bilgilendirildik. Stanford
Girişimcilik Merkezi ziyaretinin ardından Tasarım Odaklı Düşünme
metodolojisinin en köklü temsilcilerinden olan d.school ve Venture Studio
ziyaret edildi. Embrace gibi yer koşullarının zorlu ve soğuk ortamlarda
bebeklerin vücut sıcaklığını korumak amacıyla kurulan sosyal girişimlerden,
Nike’ın yeni ayakkabı tasarımlarının yapıldığı inovatif teknik çalışmalara
kadar geniş bir yelpazede çalışan d.school’da, biz girişimcilere tasarım odaklı
düşünme metodolojisine giriş dersi Kerem Alper tarafından verildi. Programa,
San Francisco’da bulunan ve dünyanın en ünlü uygulamalı bilim, sanat ve insan
algısı müzelerinden biri olan Exploratorium’da gerçekleştirilen gezi ile son
verildi.
Umarım
tecrübelerimi paylaştığım bu yazı faydalı olmuştur. Silikon Vadisinde gördüğüm,
yaşadığım tecrübelerden doğru olduğuna inandığım noktaları paylaşmak ve Türkiye
de uygulamak bu gezinin bende ki temel amacı oldu. Sorularınız ve
feedbackleriniz için ‘ ;) ‘ benimle irtibata geçmenizi isterim.
Teşekkürler.
DHT11 VE NOKIA 5110 EKRAN UYGULAMASI
Merhaba arkadaşlar.Bugün elimden geldigince arduıno ile DHT11 sıcaklık ve nem sensörünü tanıtıp bunu 5110 ekranı ile kullanarak basit bir uygulama yapacagız.Öncelikle DHT11 ve 5110 ekranı biraz tanıyalım.
DHT11:Nem degerini ±%5 hassasiyetle ve sıcaklık degerini ±2°C ölçen bir devre elemanıdır.Bu sensörü kullanmak için sadece 1 adet 10k dirence ihtiyaç duyarız.
1.bacagı :+5V2.bacagı: arduıno da herhangi bir pine ve 10k lık direnç ile +5v baglıyoruz
3.bacagı: boş bırakıyoruz
4.bacagı:GND yanı topraga baglıyoruz.
NOKIA 5110 EKRANI:
1.RST:pin 11
2.CE: pin 12
3.DC: pin 10
4.Din: pin 9
5.Clc: pin 8
6.Vcc: 3.3 V
7.BL: pin 7
8.Gnd: Toprak
Not:Yazılım kısmında bu pinler degiştirilebilir.
Pinler arasında bilmemiz gereken tek yer bence BL pinidir.5110 ekranında yan tarafta 4 adet mavi ışık var.Bunlar sayesınde ekranı aydınlatmaya yarar.
Gelelim Kod Kısmına :
#include <dht11.h> //Dht11 kutuphanesı
#include <LCD5110_Basic.h> //5110 kutuphanesı
LCD5110 lcd(8,9,10,11,12); //5110 baglantı kısımları
extern uint8_t SmallFont[]; //Küçük boy yazı için
extern uint8_t MediumNumbers[]; //Orta boy rakam için
extern uint8_t BigNumbers[]; // Büyük boy rakam için
dht11 DHT11; //DHT11 adı altında degişken tanımladık
#define DHT11PIN 2 //2 nolu pin DHT11PIN ismini verdik
void setup() {
lcd.InitLCD(); //5110 ekranını hazırladık.Bu kod olmazsa olmaz kodlarımızdan bir tanesıdır.
//Ve her 5110 ekranı ugularken yazılmak zorundadır
lcd.setContrast(60); //5110 ekranı kontrastını ayarladık
digitalWrite(7,HIGH); //7 nolu pini +5 v ver
}
void loop() {
int veri=DHT11.read(DHT11PIN); //DHT11PIN deki veri degerinin oku
float x=DHT11.humidity; // Sensorden nem degerını oku ve x degişkenıne ata
float y=DHT11.temperature;//Sensorden sıcaklık degerını oku ve y degişkenıne at
lcd.setFont(SmallFont);//5110 ekranına küçük harf yazılacagını belirten kod
lcd.print("NEM",60,0);//Yatay 60,dikey 0 yerine NEM yaz
lcd.setFont(MediumNumbers);//Orta boy rakam yazılacagını belirten kod
lcd.printNumI(x,RIGHT,10);//x degişkenını dikey 10 ve saga dayalı olarak yaz
lcd.setFont(SmallFont);//5110 ekranına küçük harf yazılacagını belirten kod
lcd.print("SICAKLIK",0,0);//Yatay 0,dikey 0 yerine SICAKLIK yaz
lcd.setFont(MediumNumbers);//Orta boy rakam yazılacagını belirten kod
lcd.printNumI(y,LEFT,10);//x degişkenını dikey 10 ve sola dayalı olarak yaz
delay(3000);
}
Merhabalar,
Bu yazımızda sıcaklık sensörleri ve tiplerinden ve onların nasıl kullanıldığından bahsetmeye çalışacağız.
Endüstride en sık kullanılan sensörler sıcaklık sensörleridir.İster büyük ölçekli ister küçük ölçekli olsun neredeyse her projede en az 1 adet sıcaklık sensörü kullanıdığına rastlamışsınızdır.
Bir suyun gidiş ve dönüş sıcaklığı olsun,bir odanın ortam sıcaklığı olsun irili ufaklı her projede sıcaklık sensörü kullanılmaktadır.
Sıcaklık sensörleri en temelinde 2 ayrı gruba dağılırlar :
1. Kontak çıkış veren sıcaklık sensörleri :
Bu tip sensörler özellikleri dolayısı ile belirli bir sıcaklıkta size sıcaklığın aşılıp,aşılmadığı bilgisini vermek üzere tasarlanmışlardır.Sıcaklık değeri geçildiğinde özelliği kapsamında size açık kapalı kontak olarak dijital bir değer vererek geri bildirim almanızı sağlarlar.Bir nevi termostat mantığında çalışırlar
2. Kontak Çıkışlı olmayan sıcaklık sensörleri:
Bu tip sensörler sıcaklığın anlık olarak bilgisinin kullanıldığı ya da takip edilmesi gereken sıcaklığın kullanıcı ekranına yansıtıldığı daha detaylı otomasyon projelerinde kullanılırlar.
İsterseniz gelin sıcalık sensör tiplerine biraz daha yakından bakalım
Termostat tip mekanik sıcaklık sensörü :
Bu tip sensörler genel olarak 2 farklı element sacın bir araya getirilmesi ile oluşturulur.Bu elementler nikel,bakır,aluminyum gibi seçimlerden oluşabilir.
Yukarıda şekilde görüldüğü üzere mekanik sıcaklık anahtarı belirli bir sıcaklığa ulaştığında bimetal diyafram genleşerek ilk durumda kapalı kontak olarak bize bilgi veren sensörümüzü açık kontağa çevirir ve böylece sistemde sıcaklık değerinin aşıldığı bilgisi alınmış olur.
Bu tip termostat tipi sıcaklık sensörü tercih edilirken dikakt edilmesi gereken en önemli husus +- hata payıdır.Bir örnekle açıklamak gerekirse aldığımız bir sensör 20 derece sette 22 derece açık konuma gelebilecekken, eski haline yani kapalı durumuna 18 derece geri dönebilir.Bu sebeple projelerinizde bu sensör tipinin seçimi ya çok dikkatli yapılmalıdır ya da dijital,direnç tipi, termocoupler gibi farklı seçenelere yönelinmelidir.
Thermistörler :
İki termini ismini verdiği sıcaklık sensörü Sıcaklığa duyarlı direnç sözcüklerinin bir araya gelmesi ile adını alan termistörler.İçerisinde bulunan direncin sıcaklığa verdiği tepki ile ya direncinin azalması ya da direncinin artması ile sıcaklık ölçmemize yarayan sensör tipidir.
2 farklı tipte bulunmaktadır.
NTC tip : Sıcaklığın artması ile birlikte direnç değeri azalan sensör tipidir.
PTC tip : Sıcaklığın artması ile birlikte direnç değeri artan sensör tipidir.
İsterseniz bir ntc sensör üzerinden nasıl sıcaklık değeri okunur bir örnek ile açıklayalım :
Yukarıda şemada görüldüğü üzere besleme gerilimi ile referans direnci arasında ntc sensörü yerleştirilmiştir.12V Vcc beslemesi sensörün sıcaklık ile birlikte direnç değişiminden Vtemp voltajı değişim gösterecek ve op-amp çıkışıdan sıcaklığa duyarlı olarak değişen bir voltaj okuyacağız.
25 derecede
Sensörümüz bize 1.09V olarak çıkış verecek.
Yine 100 derecede ise
Basit bir hesaplama ile bize 10.9V verecektir.
Ntc olsun ya da Ptc olsun sensör seçiminde dikkat etmeniz gereken her sensör farklı sıcaklık-direnç tablosuna sahiptir.Bu dirençleri projenizde seçecek olursanız bu tabloları göz önünde bulundurmalısınız.
Diğer bir sıcaklığa duyarlı olarak direnç değişimi gösteren sensör tipi ise
RTD ler : Genel olarak platinum olarak karşımıza pt100 ya da pt 1000 olarak çıkarlar
0 derecede aldıkları direnç değerlerine göre 100 ohm pt 100 ve 1000 ohm ise pt1000 olarak adlandırılır. Direnç özelliğinden pasif devre elemanı olan bu dirençleri okuyabilmek için bacaklarına sabit bir voltaj uygulayarak sıcaklığa bağımlı olarak direnç değişimi ile birlikte akım değeri üzerinden sıcaklık okuma işlemi gerçekleştirilebilir ya da bir voltaj bölücü devresi ile voltaj değişimi üzerinden sıcaklık değerini elde edebilirsiniz.Bu sensörlerin sıcaklık ölçüm aralıklar -200 ile 600 derece arasında değişebilmekte ve yüksek ve düşük sıcaklık ölçümlerinde sıklıkla kullanılan sensör olma özelliği taşımaktadırlar.
Gelelim en çok kullanılan ve sıcaklık ölçüm aralığı en geniş sıcaklık sensörlerine
Thermocouple :
-200 derece ile +2000 derece arasında çalışabilme özelliği ile yükse derecede sıcaklık ölçüm projelerinde kullanılırlar.Sıcaklığa karşı yukarıda sırası ile saymış olduğumuz tüm sıcaklık sensörü tiplerinden daha hızlı tepki verirler.
Çalışma mantığı oldukça basittir.Soğuk nokta ile sıcak nokta iki farklı malzemeden oluşur ve bu iki nokta arasındaki sıcaklık farkı bize v1-v2 olarak voltaj olarak verilir.
Yukarıda şemada genel olarak bir thermocouple nasıl okunur devresini görmektesiniz.Sensör çıkış olarak milivolt seviyelerinde bir voltaj vereceğinden dolayı çıkışa ekleyeceğimiz uygun bir op-amp devresi ile voltajı yükselterek mikroişlemci tarafında sıcaklık değişimini okuyabilirsiniz.
Bu yazımızda sıcaklık sensörleri ve tiplerinden ve onların nasıl kullanıldığından bahsetmeye çalışacağız.
Endüstride en sık kullanılan sensörler sıcaklık sensörleridir.İster büyük ölçekli ister küçük ölçekli olsun neredeyse her projede en az 1 adet sıcaklık sensörü kullanıdığına rastlamışsınızdır.
Bir suyun gidiş ve dönüş sıcaklığı olsun,bir odanın ortam sıcaklığı olsun irili ufaklı her projede sıcaklık sensörü kullanılmaktadır.
Sıcaklık sensörleri en temelinde 2 ayrı gruba dağılırlar :
1. Kontak çıkış veren sıcaklık sensörleri :
Bu tip sensörler özellikleri dolayısı ile belirli bir sıcaklıkta size sıcaklığın aşılıp,aşılmadığı bilgisini vermek üzere tasarlanmışlardır.Sıcaklık değeri geçildiğinde özelliği kapsamında size açık kapalı kontak olarak dijital bir değer vererek geri bildirim almanızı sağlarlar.Bir nevi termostat mantığında çalışırlar
2. Kontak Çıkışlı olmayan sıcaklık sensörleri:
Bu tip sensörler sıcaklığın anlık olarak bilgisinin kullanıldığı ya da takip edilmesi gereken sıcaklığın kullanıcı ekranına yansıtıldığı daha detaylı otomasyon projelerinde kullanılırlar.
İsterseniz gelin sıcalık sensör tiplerine biraz daha yakından bakalım
Termostat tip mekanik sıcaklık sensörü :
Bu tip sensörler genel olarak 2 farklı element sacın bir araya getirilmesi ile oluşturulur.Bu elementler nikel,bakır,aluminyum gibi seçimlerden oluşabilir.
Bu tip termostat tipi sıcaklık sensörü tercih edilirken dikakt edilmesi gereken en önemli husus +- hata payıdır.Bir örnekle açıklamak gerekirse aldığımız bir sensör 20 derece sette 22 derece açık konuma gelebilecekken, eski haline yani kapalı durumuna 18 derece geri dönebilir.Bu sebeple projelerinizde bu sensör tipinin seçimi ya çok dikkatli yapılmalıdır ya da dijital,direnç tipi, termocoupler gibi farklı seçenelere yönelinmelidir.
Thermistörler :
İki termini ismini verdiği sıcaklık sensörü Sıcaklığa duyarlı direnç sözcüklerinin bir araya gelmesi ile adını alan termistörler.İçerisinde bulunan direncin sıcaklığa verdiği tepki ile ya direncinin azalması ya da direncinin artması ile sıcaklık ölçmemize yarayan sensör tipidir.
2 farklı tipte bulunmaktadır.
NTC tip : Sıcaklığın artması ile birlikte direnç değeri azalan sensör tipidir.
PTC tip : Sıcaklığın artması ile birlikte direnç değeri artan sensör tipidir.
İsterseniz bir ntc sensör üzerinden nasıl sıcaklık değeri okunur bir örnek ile açıklayalım :
Yukarıda şemada görüldüğü üzere besleme gerilimi ile referans direnci arasında ntc sensörü yerleştirilmiştir.12V Vcc beslemesi sensörün sıcaklık ile birlikte direnç değişiminden Vtemp voltajı değişim gösterecek ve op-amp çıkışıdan sıcaklığa duyarlı olarak değişen bir voltaj okuyacağız.
25 derecede
Yine 100 derecede ise
Ntc olsun ya da Ptc olsun sensör seçiminde dikkat etmeniz gereken her sensör farklı sıcaklık-direnç tablosuna sahiptir.Bu dirençleri projenizde seçecek olursanız bu tabloları göz önünde bulundurmalısınız.
Diğer bir sıcaklığa duyarlı olarak direnç değişimi gösteren sensör tipi ise
RTD ler : Genel olarak platinum olarak karşımıza pt100 ya da pt 1000 olarak çıkarlar
0 derecede aldıkları direnç değerlerine göre 100 ohm pt 100 ve 1000 ohm ise pt1000 olarak adlandırılır. Direnç özelliğinden pasif devre elemanı olan bu dirençleri okuyabilmek için bacaklarına sabit bir voltaj uygulayarak sıcaklığa bağımlı olarak direnç değişimi ile birlikte akım değeri üzerinden sıcaklık okuma işlemi gerçekleştirilebilir ya da bir voltaj bölücü devresi ile voltaj değişimi üzerinden sıcaklık değerini elde edebilirsiniz.Bu sensörlerin sıcaklık ölçüm aralıklar -200 ile 600 derece arasında değişebilmekte ve yüksek ve düşük sıcaklık ölçümlerinde sıklıkla kullanılan sensör olma özelliği taşımaktadırlar.
Gelelim en çok kullanılan ve sıcaklık ölçüm aralığı en geniş sıcaklık sensörlerine
Thermocouple :
-200 derece ile +2000 derece arasında çalışabilme özelliği ile yükse derecede sıcaklık ölçüm projelerinde kullanılırlar.Sıcaklığa karşı yukarıda sırası ile saymış olduğumuz tüm sıcaklık sensörü tiplerinden daha hızlı tepki verirler.
Çalışma mantığı oldukça basittir.Soğuk nokta ile sıcak nokta iki farklı malzemeden oluşur ve bu iki nokta arasındaki sıcaklık farkı bize v1-v2 olarak voltaj olarak verilir.
Yukarıda şemada genel olarak bir thermocouple nasıl okunur devresini görmektesiniz.Sensör çıkış olarak milivolt seviyelerinde bir voltaj vereceğinden dolayı çıkışa ekleyeceğimiz uygun bir op-amp devresi ile voltajı yükselterek mikroişlemci tarafında sıcaklık değişimini okuyabilirsiniz.
Thermocouple kodları | |||
Code Type |
Conductors (+/-) | Sensitivity | British BS 1843:1952 |
E | Nickel Chromium / Constantan |
-200 to 900oC | |
J | Iron / Constantan | 0 to 750oC | |
K | Nickel Chromium / Nickel Aluminium |
-200 to 1250oC | |
N | Nicrosil / Nisil | 0 to 1250oC | |
T | Copper / Constantan | -200 to 350oC | |
U | Copper / Copper Nickel Compensating for "S" and "R" |
0 to 1450oC |
Merhabalar,
Bu yazımızda plcler de kullanılan izole edilmiş dijital giriş pinlerinden bahsedeceğiz.
Sahadan alacağımız dijital veriler, sistemlerin vazgeçilmez bir parçasıdır.Örneğin sahada bulunan bir motorun on ya da off durumda olduğunu daha da önemlisi arızlı ya da normal koşulda bulunduğu gibi verileri dijital veriler üzerinden almaktayız.Yine eğerki bir scada sistemi tasarladıysak pano üzerlerinde bulunan pako devreleri ile yardımcı kontaklar vasıtası ise sistemin otomatik ya da manuel modda çalıştığı bilgisini scada sistemine yansıtabilmekteyiz.
Örneklerimizi burada sınırlı tutalım lakin sayfalarca endüstriyel dijital giriş senaryosu burada yazmak mümkün olmayacaktır.
Yazımızın ana konusuna geri dönmek gerekirse plcler üzerlerinde analog giriş,analog çıkış,dijital giriş ve dijital çıkış olmak üzere 4 ana grup barındırır.Biz ise bu yazımızda plc lerin dijital olarak sahadan bir veriyi nasıl aldıkları üzerinde duracağız.
Yukarıdaki şema bize bir plc üzerinde bulunan dijital giriş devresini vermektedir.Sağ taraf bizim otomasyon uygulamasını gerçekleştirdiğimiz sahamızı temsil ederken sola doğru ilerledikçe mikroişlemci tarafına yaklaşmaktayız.
Plc lerin genel olarak dijital girişleri 24V u logic 1 olarak görürken 0V u logic 0 olarak kabul etmektedir.Aslında mikroişlemci tarafı bunu 5V logic 1 ve 0V logic 0 olarak almakta.Sırası ile anlatacağız.Yukarıdaki şemada sol senör switch yani anahtar olarak adlandırılan kısım bizim sensörümüzden gelen veriyi temsil ederken, en sağ tarafta işlemcimizin ilgili gpio pinine giden veri ok ile belirtilmiştir.
Şimdi gelelim devremizin işleyişine :
Sahadaki dijital sensörümüzden gelecek veri ile olarak R1-C1 filtresinden geçirilmektedir.Bu filtre hem bizim sahadan gelecek olan dijital verimizi gürültüden arındıracak hemde gelen verinin daha tutarlı bir hal (oluşabilecek voltaj dalgalanmalarını engellemek) almasını sağlayacaktır.
Burada D1 ledi dikkatinizi çekmiştir.Endüstriyel cihazlarda plc gibi genellik watchdog adı verilen veri izleme işaretçileri bulunur.Nedir bu? o anda ilgili girişte bir dijital veri var ise o dijital giriş üzerindeki bir led vasıtası ile kullanıcı sahada direkt olarak plc üzerinden girişin mevcut değerini göz ile görebilmesini sağlamaktadır.
R3 direnci de tahmin edebileceğiniz gibi ledi korumak amacı ile devrede yer almaktadır.Sistemin ana can damarlarından biri optocoupler devresi hemen peşinden gelmekte.Optocoupler devreleri genellikle işlemci tarafı ile saha tarafını izole etmek bağımsızlaştırmak amacı ile kullanılır.Böylece oluşabilecek yüksek gerilim düzeylerinden mikroişlemcimiz bu koruma devresi sayesinde kendisini koruyacaktır.
Sahadan yani sensörümüzden 24V yani logic 1 gelmesi durumunda R4 direnci üzerinde bir gerilim oluşacak ve bu gerilim sayesinde optocoupler devresinde bulunan ledimiz ışımaya başlayacak sonrasında ise ışığa duyarlı transistör tetiklenecek ve mikroişlemci tarafına 5V logic 1 dijital verisi gönderilecektir.Dikkatinizi çekmiştir bir önceki yazımızda yer verdiğimiz pull up ve pull down devrelerinden bir örnek tam olarak optocoupler devresi çıkışında karşımıza çıkmata.Bu devremizde ise pull up devresi kullanılmakta yani sahadan sensör üzerinden veri gelemediği anda mikroişlemci logic 1 görür iken sensör üzerinden veri geldiği anda ise logic 0 mikroişlemci tarafından görülecek ve programcıya sensör verisi aktarılacaktır.
Bu yazımızda plcler de kullanılan izole edilmiş dijital giriş pinlerinden bahsedeceğiz.
Sahadan alacağımız dijital veriler, sistemlerin vazgeçilmez bir parçasıdır.Örneğin sahada bulunan bir motorun on ya da off durumda olduğunu daha da önemlisi arızlı ya da normal koşulda bulunduğu gibi verileri dijital veriler üzerinden almaktayız.Yine eğerki bir scada sistemi tasarladıysak pano üzerlerinde bulunan pako devreleri ile yardımcı kontaklar vasıtası ise sistemin otomatik ya da manuel modda çalıştığı bilgisini scada sistemine yansıtabilmekteyiz.
Örneklerimizi burada sınırlı tutalım lakin sayfalarca endüstriyel dijital giriş senaryosu burada yazmak mümkün olmayacaktır.
Yazımızın ana konusuna geri dönmek gerekirse plcler üzerlerinde analog giriş,analog çıkış,dijital giriş ve dijital çıkış olmak üzere 4 ana grup barındırır.Biz ise bu yazımızda plc lerin dijital olarak sahadan bir veriyi nasıl aldıkları üzerinde duracağız.
Yukarıdaki şema bize bir plc üzerinde bulunan dijital giriş devresini vermektedir.Sağ taraf bizim otomasyon uygulamasını gerçekleştirdiğimiz sahamızı temsil ederken sola doğru ilerledikçe mikroişlemci tarafına yaklaşmaktayız.
Şimdi gelelim devremizin işleyişine :
Sahadaki dijital sensörümüzden gelecek veri ile olarak R1-C1 filtresinden geçirilmektedir.Bu filtre hem bizim sahadan gelecek olan dijital verimizi gürültüden arındıracak hemde gelen verinin daha tutarlı bir hal (oluşabilecek voltaj dalgalanmalarını engellemek) almasını sağlayacaktır.
Burada D1 ledi dikkatinizi çekmiştir.Endüstriyel cihazlarda plc gibi genellik watchdog adı verilen veri izleme işaretçileri bulunur.Nedir bu? o anda ilgili girişte bir dijital veri var ise o dijital giriş üzerindeki bir led vasıtası ile kullanıcı sahada direkt olarak plc üzerinden girişin mevcut değerini göz ile görebilmesini sağlamaktadır.
R3 direnci de tahmin edebileceğiniz gibi ledi korumak amacı ile devrede yer almaktadır.Sistemin ana can damarlarından biri optocoupler devresi hemen peşinden gelmekte.Optocoupler devreleri genellikle işlemci tarafı ile saha tarafını izole etmek bağımsızlaştırmak amacı ile kullanılır.Böylece oluşabilecek yüksek gerilim düzeylerinden mikroişlemcimiz bu koruma devresi sayesinde kendisini koruyacaktır.
Sahadan yani sensörümüzden 24V yani logic 1 gelmesi durumunda R4 direnci üzerinde bir gerilim oluşacak ve bu gerilim sayesinde optocoupler devresinde bulunan ledimiz ışımaya başlayacak sonrasında ise ışığa duyarlı transistör tetiklenecek ve mikroişlemci tarafına 5V logic 1 dijital verisi gönderilecektir.Dikkatinizi çekmiştir bir önceki yazımızda yer verdiğimiz pull up ve pull down devrelerinden bir örnek tam olarak optocoupler devresi çıkışında karşımıza çıkmata.Bu devremizde ise pull up devresi kullanılmakta yani sahadan sensör üzerinden veri gelemediği anda mikroişlemci logic 1 görür iken sensör üzerinden veri geldiği anda ise logic 0 mikroişlemci tarafından görülecek ve programcıya sensör verisi aktarılacaktır.
Merhabalar,
Bu yazımızda dijital input kullanımında sık olarak kullanılan pull up ve pull down devrelerinden bahsedeceğiz.
Pull up direnç devresi nedir ?
pull up devresi, mikroişlemci tarafında sensörden bilgi gelmediği durumlarda high yani 1 bilgisi almamızı sağlar.
Mikroişlemci tarafında bir sensörünüzün kopma durumu ya da takılı olmama durumunu kontrol etmek istediğiniz durumlarda kullanılabilir.Farklı bir şekilde açıklamak gerekirse dijital olarak bilgi alacağınız devreninin kapalı devresi pull up devresi üzerinden geçirilerek sensör devresinin açık konuma geçmesi durumu kontrol edilmektedir.
Yandaki şekilde görmüş olduğumuz R1 direncimiz bizim pull up direncimiz niteliğini taşımaktadır.Her zaman yüksek bir değer seçilir hem mikroişlemci tarafında girişimizi korumak hemde sensör tarafından gelecek olan ground ile kısa devre konumuna hızlı tepki vermek açısından.
Pull down direnç devresi nedir ?
Pull up devresi için ne belirttiysek pull down devresi için tam tersi karakteristik özellik geçerlidir.Sensör tarafında alacağımız dijital veriyi normalde açık olarak aldığımız durumda mikroişlemci tarafında digital input üzerinden alacağımız değer logic 0 yani low olur.Ne zaman sahadaki sensörümüz dijital çıkış olarak bize 1 verir işlemci tarafında da yine dijital input üzerinden HIGH bilgisini elde ederiz.
Burada pull down direncinin yüksek seçilmesindeki amaç ise sahadan sensör üzerinde gelecek logic 1 in direkt olarak işlemci üzerinde akmasını sağlamak ve yüksek değerli bir R1 puu down direnci ile de işlemcimize akacak olan akımı olabildiğince azaltmak olarak düşünebilirsiniz.
Pull up ve Pull down devrelerinde direnç seçimi nasıl yapılmalıdır ?
İster pull up olsun ister pull down dijital giriş devrelerimizde bu girişleri kullanırken direnç seçiminde 2 faktör rol oynamaktadır.
1. Faktör enerji tüketimi :
Direncimiz ne kadar küçük olursa bizim devre üzerinde çekeceğimiz akım o kadar fazla olur ve çekeceğimiz her fazla akım da daha fazla güç harcamamıza neden olacaktır.Akım hesabında işlemci tarafını korumak için ekleyeceğimiz (düşük dirençli bir pull up ya da pull down devresi tasarladığımızı varsayarsak) direnci de göz önüne alırsak zayıf akım devreleri üzerinde hatrı sayılır bir güç kaybı doğacaktır.
2. Mikroişlemci logic 1-0 voltaj değerleri:
Bildiğiniz üzere mikroişlemciler üzerinde dijital input olarak kullandığınız pinlerin logic 1 ve logic 0 olarak kabul ettikleri voltaj seviyeleri farklılık gösterebilmektedir.Bazı mikroişlemciler 5Vdc gibi bir değeri belirli bir tölerans aralığında logic 1 olarak kabul etmekte iken, bazı mikroişlemciler ise 3Vdc ya da 3.3Vdc yine belirli bir tolerans aralığında logic 1 olarak gelen veriyi kabul etmektedir.Bu durumda seçeceğimiz çok yüksek bir pull up direnci bizim devremizde logic 1 i mikroişlemciye verecek bir gerilim farkı oluşturmayacaktır.
Bu yazımızda dijital input kullanımında sık olarak kullanılan pull up ve pull down devrelerinden bahsedeceğiz.
Pull up direnç devresi nedir ?
pull up devresi, mikroişlemci tarafında sensörden bilgi gelmediği durumlarda high yani 1 bilgisi almamızı sağlar.
Mikroişlemci tarafında bir sensörünüzün kopma durumu ya da takılı olmama durumunu kontrol etmek istediğiniz durumlarda kullanılabilir.Farklı bir şekilde açıklamak gerekirse dijital olarak bilgi alacağınız devreninin kapalı devresi pull up devresi üzerinden geçirilerek sensör devresinin açık konuma geçmesi durumu kontrol edilmektedir.
Yandaki şekilde görmüş olduğumuz R1 direncimiz bizim pull up direncimiz niteliğini taşımaktadır.Her zaman yüksek bir değer seçilir hem mikroişlemci tarafında girişimizi korumak hemde sensör tarafından gelecek olan ground ile kısa devre konumuna hızlı tepki vermek açısından.
Pull down direnç devresi nedir ?
Pull up devresi için ne belirttiysek pull down devresi için tam tersi karakteristik özellik geçerlidir.Sensör tarafında alacağımız dijital veriyi normalde açık olarak aldığımız durumda mikroişlemci tarafında digital input üzerinden alacağımız değer logic 0 yani low olur.Ne zaman sahadaki sensörümüz dijital çıkış olarak bize 1 verir işlemci tarafında da yine dijital input üzerinden HIGH bilgisini elde ederiz.
Burada pull down direncinin yüksek seçilmesindeki amaç ise sahadan sensör üzerinde gelecek logic 1 in direkt olarak işlemci üzerinde akmasını sağlamak ve yüksek değerli bir R1 puu down direnci ile de işlemcimize akacak olan akımı olabildiğince azaltmak olarak düşünebilirsiniz.
Pull up ve Pull down devrelerinde direnç seçimi nasıl yapılmalıdır ?
1. Faktör enerji tüketimi :
Direncimiz ne kadar küçük olursa bizim devre üzerinde çekeceğimiz akım o kadar fazla olur ve çekeceğimiz her fazla akım da daha fazla güç harcamamıza neden olacaktır.Akım hesabında işlemci tarafını korumak için ekleyeceğimiz (düşük dirençli bir pull up ya da pull down devresi tasarladığımızı varsayarsak) direnci de göz önüne alırsak zayıf akım devreleri üzerinde hatrı sayılır bir güç kaybı doğacaktır.
2. Mikroişlemci logic 1-0 voltaj değerleri:
Bildiğiniz üzere mikroişlemciler üzerinde dijital input olarak kullandığınız pinlerin logic 1 ve logic 0 olarak kabul ettikleri voltaj seviyeleri farklılık gösterebilmektedir.Bazı mikroişlemciler 5Vdc gibi bir değeri belirli bir tölerans aralığında logic 1 olarak kabul etmekte iken, bazı mikroişlemciler ise 3Vdc ya da 3.3Vdc yine belirli bir tolerans aralığında logic 1 olarak gelen veriyi kabul etmektedir.Bu durumda seçeceğimiz çok yüksek bir pull up direnci bizim devremizde logic 1 i mikroişlemciye verecek bir gerilim farkı oluşturmayacaktır.
PWM yani pulse width modulation dijital bir devreden en güzel analog sinyal elde etme metodlarından biridir.
Pwm sinyali tanımlanırken 2 birimden bahsedilir
1. Duty Cycle : pwm sinyalinde on yani 1 halinin ne kadar süre devam edeceğini belirler.0-100 arasında bir değer alır ve verilen değer kadar yüzde de on yani 1 sinyali üretir.Geri kalan yüzde de ise 0 yani off halini almaktadır.
2. Frekans : pwm sinyalinin ne kadarlık bir zaman yoğunluğunda oluşturulacağını belirler.Frekansımız ne kadar yükse ise pwm sinyallerimizi duty cycle ları o kadar kısa zamanda tekrarlanır.
Aşağıda farklı duty cyle ve frekans değerlerine sahip pwm sinyallerini görebilirsiniz.
1. Duty Cycle : pwm sinyalinde on yani 1 halinin ne kadar süre devam edeceğini belirler.0-100 arasında bir değer alır ve verilen değer kadar yüzde de on yani 1 sinyali üretir.Geri kalan yüzde de ise 0 yani off halini almaktadır.
2. Frekans : pwm sinyalinin ne kadarlık bir zaman yoğunluğunda oluşturulacağını belirler.Frekansımız ne kadar yükse ise pwm sinyallerimizi duty cycle ları o kadar kısa zamanda tekrarlanır.
Aşağıda farklı duty cyle ve frekans değerlerine sahip pwm sinyallerini görebilirsiniz.
Merhabalar arkadaşlar,
Önceki yazılarımızda lcd konularına girmiş, örnekler vermiş ve lcd kütüphane fonksiyonları üzerinde durmuştuk.Bu yazımıza ise grafik lcd ler üzerinde duracağız.
Daha önce kullanmış olduğumuz lcd ekranlar 2 satır içerirken grafik lcd ekran ise daha fazla piksel ile bize hizmet sunmaktadır.Üzerinde barındırdığı her bir piksel ile bize kullanıcı arayüzümüz için bir tuval olmaktadır.
Bu projemizde samsungun KS0108 GLCD sini kullanacağız.
Arduino ide tarafında yapmamız gereken arduino sitesine giderek GLCDks0108 kütüphanesini ide mize eklemek.
Peki bu kütüphane bizlere hangi fonksiyonları sağlar ?
Init(bool inverted): kütüphanemizi başlamaya hazır hale getirir.
ClearScreen() : grafik lcd ekranı tamamen temizler
DrawBitmap(bitmap,int x,int y,color) : x ve y koordinatları ile belirtilen noktaya bitmap uzantılı resmi ekler
SelectFont(font) : önceden tanımlı olan fontlar arasından seçim yapmamıza olanak tanır
PutChar(char c) : işaretçinin son kaldığı noktaya karakter yazdırır
GotoXY(int x, int y) : işaretçiyi x ve y ile belirtilen koordinata çeker
PrintNumber(long n) : ekranda son kalınan noktaya sayı yazdırır.
Puts(string t) : ekranda son kalınan noktaya string yazılmasını sağlar
DrawLine(int x1,int y1,int x2, int y2, color) : x1 y1 ve x2 y2 koordinatları başlangıç ve bitiş noktaları olacak şekilde ekrana çizgi çeker
DrawVertLine(int x,int y,long length , color) : x ve y koordinatıdan başlayarak length kadar uzunlukta bir dikey çizgi çeker
DrawHoriLine(int x,int y,long length , color) : x ve y koordinatıdan başlayarak lenght kadar uzunlukta yatay bir çizgi çeker
DrawRect(int x, int y, int width, int height) : x ve y koordinatlarından başlayarak width ile verilen genişlik ve height ile verilen yükseklikte bir dikdörtgen çizer
InvertRect(int x, int y, int width,int radius, int height) : x ve y koordinatlarından başlayarak widht ile verilen genişlik ve height ile verilen yükseklik kadar dikdörtgen alanın piksellerini tersine çevirir.
DrawRoundRect(int x, int y, int width, int height, color) : x ve y koordinatlarından başlayarak width ile verilen genişlik ile height ile verilen yükseklik kadar bir dikdörtgen çizer.Ancak verilen radius kadar dikdörtgenin köşelerini ovalleştirir.
FillRect(int x, int y, int width, int height, color) : x ve y koordinatlarından başlayarak width ile verilen genişlik ve height ile verilen yükseklik kadar alanı dikdörtgen şeklinde doldurur.
DrawCircle(int x, int y, int radius, color) : Dairenin merkezi x ve y ile verilen koordinatlarda yer alacak şekilde ve radius ile belirtilen yarıçapta bir daire çizer
SetDot(int x, int y, color) : x ve y koordinatları ile verilen tek bir pikseli doldurur
Bu devrede kullanacağımız malzeme listesi :
1 adet arduinı mega
1 adet glcd
1 adet parlaklık ayarı için potansiyometre
1 adet 10k ohm direnç fazla akımı engellemek için
Gelelim devre şemamıza
Gelelim Ardunino kodlarımıza
#include <ks0108.h>
int x=0; // x eksen koordinatımızı sıfırladık
int y=0; // y eksen koordinatımızı sıfırladık
void setup ()
{
GLCD.Init(NON_INVERTED); // grafik lcd mizi beyaz bir şekilde başlattık
GLCD.ClearScreen(); // başlamak için lcd mizi önce temizledik
}
void loop()
{
GLCD.DrawCircle(63,31,5,BLACK); // 63-31 merkezli 5 yarıçaplı siyah bir daire çizdik
delay(1000); // 1 sn kadar gecikme
GLCD.ClearScreen(); // ekranı temizledik
GLCD.DrawRoundRect(30,30,20,20,5,BLACK); //sol alt köşesi 30-30 koordinatında 20 genişlik ve 20 uzunlukta ve herbir köşesi 5 birimlik ovalleştirilmiş bir siyah dikdörtgen çizdirdik
delay(1000); // 1 sn lik gecikme
GLCD.ClearScreen(); // ekranı temizledik
GLCD.FillRect(30,30,30,10,BLACK); // 30-30 koordinatına 30 genişlik 10 yüksekliğe sahip içi siyah dikdörtgen çizdirdik
delay(1000); // 1 snlik gecikme
GLCD.ClearScreen();// ekranı temizledik
}
Yukarıdaki örnekte sırası ile ekrana daire ,oval köşeli dörtgen ve içi siyah diktörgen sırası ile 1 er sn aralıkla çizdirelecek ve her sekil arasındaki 1 sn lik zaman aralığından sonra ekran temizlenecektir.
Önceki yazılarımızda lcd konularına girmiş, örnekler vermiş ve lcd kütüphane fonksiyonları üzerinde durmuştuk.Bu yazımıza ise grafik lcd ler üzerinde duracağız.
Daha önce kullanmış olduğumuz lcd ekranlar 2 satır içerirken grafik lcd ekran ise daha fazla piksel ile bize hizmet sunmaktadır.Üzerinde barındırdığı her bir piksel ile bize kullanıcı arayüzümüz için bir tuval olmaktadır.
Bu projemizde samsungun KS0108 GLCD sini kullanacağız.
Arduino ide tarafında yapmamız gereken arduino sitesine giderek GLCDks0108 kütüphanesini ide mize eklemek.
Init(bool inverted): kütüphanemizi başlamaya hazır hale getirir.
ClearScreen() : grafik lcd ekranı tamamen temizler
DrawBitmap(bitmap,int x,int y,color) : x ve y koordinatları ile belirtilen noktaya bitmap uzantılı resmi ekler
SelectFont(font) : önceden tanımlı olan fontlar arasından seçim yapmamıza olanak tanır
PutChar(char c) : işaretçinin son kaldığı noktaya karakter yazdırır
GotoXY(int x, int y) : işaretçiyi x ve y ile belirtilen koordinata çeker
PrintNumber(long n) : ekranda son kalınan noktaya sayı yazdırır.
Puts(string t) : ekranda son kalınan noktaya string yazılmasını sağlar
DrawLine(int x1,int y1,int x2, int y2, color) : x1 y1 ve x2 y2 koordinatları başlangıç ve bitiş noktaları olacak şekilde ekrana çizgi çeker
DrawVertLine(int x,int y,long length , color) : x ve y koordinatıdan başlayarak length kadar uzunlukta bir dikey çizgi çeker
DrawHoriLine(int x,int y,long length , color) : x ve y koordinatıdan başlayarak lenght kadar uzunlukta yatay bir çizgi çeker
DrawRect(int x, int y, int width, int height) : x ve y koordinatlarından başlayarak width ile verilen genişlik ve height ile verilen yükseklikte bir dikdörtgen çizer
InvertRect(int x, int y, int width,int radius, int height) : x ve y koordinatlarından başlayarak widht ile verilen genişlik ve height ile verilen yükseklik kadar dikdörtgen alanın piksellerini tersine çevirir.
DrawRoundRect(int x, int y, int width, int height, color) : x ve y koordinatlarından başlayarak width ile verilen genişlik ile height ile verilen yükseklik kadar bir dikdörtgen çizer.Ancak verilen radius kadar dikdörtgenin köşelerini ovalleştirir.
FillRect(int x, int y, int width, int height, color) : x ve y koordinatlarından başlayarak width ile verilen genişlik ve height ile verilen yükseklik kadar alanı dikdörtgen şeklinde doldurur.
DrawCircle(int x, int y, int radius, color) : Dairenin merkezi x ve y ile verilen koordinatlarda yer alacak şekilde ve radius ile belirtilen yarıçapta bir daire çizer
SetDot(int x, int y, color) : x ve y koordinatları ile verilen tek bir pikseli doldurur
Bu devrede kullanacağımız malzeme listesi :
1 adet arduinı mega
1 adet glcd
1 adet parlaklık ayarı için potansiyometre
1 adet 10k ohm direnç fazla akımı engellemek için
Gelelim devre şemamıza
Gelelim Ardunino kodlarımıza
#include <ks0108.h>
int x=0; // x eksen koordinatımızı sıfırladık
int y=0; // y eksen koordinatımızı sıfırladık
void setup ()
{
GLCD.Init(NON_INVERTED); // grafik lcd mizi beyaz bir şekilde başlattık
GLCD.ClearScreen(); // başlamak için lcd mizi önce temizledik
}
void loop()
{
GLCD.DrawCircle(63,31,5,BLACK); // 63-31 merkezli 5 yarıçaplı siyah bir daire çizdik
delay(1000); // 1 sn kadar gecikme
GLCD.ClearScreen(); // ekranı temizledik
GLCD.DrawRoundRect(30,30,20,20,5,BLACK); //sol alt köşesi 30-30 koordinatında 20 genişlik ve 20 uzunlukta ve herbir köşesi 5 birimlik ovalleştirilmiş bir siyah dikdörtgen çizdirdik
delay(1000); // 1 sn lik gecikme
GLCD.ClearScreen(); // ekranı temizledik
GLCD.FillRect(30,30,30,10,BLACK); // 30-30 koordinatına 30 genişlik 10 yüksekliğe sahip içi siyah dikdörtgen çizdirdik
delay(1000); // 1 snlik gecikme
GLCD.ClearScreen();// ekranı temizledik
}
Yukarıdaki örnekte sırası ile ekrana daire ,oval köşeli dörtgen ve içi siyah diktörgen sırası ile 1 er sn aralıkla çizdirelecek ve her sekil arasındaki 1 sn lik zaman aralığından sonra ekran temizlenecektir.
Merhabalar,
Bir önceki yazımızda arduino ile paralel olarak lcd kontrolü ve kütüphanesinden bahsetmiştik.
Bu yazımızda ise seri ve paralel kontrolün farkından ve seri olarak lcd ekranın kontrol edilmesinden bahsedeceğiz.
Nedir paralel ve seri lcd kontrol arasındaki farklılıklar ?
Paralel olarak lcd ekran kontrolünde hatırlarsanız lcd ekrana veri gönderimi için 4 adet pin kullanmıştık ve bu 4 adet pin üzerinden verilerimizi ekrana göndermiştik.Seri ekran kontrolü sırasında ise arduino ile seri haberleşebilen lcd ekran arasında aynı hat üzerinde bitlik seriler halinde haberleşme sağlanır.Böylece arduino pinlerinden tasarruf sağlanmış olur.
Arduino ide bize serLcd kütüphanesi ile seri olarak lcd ekran kontrolü sağlamamızı sağlamaktadır.İsterseniz bu kütüphanenin bize sunduğu fonksiyonları ele alalım.
serLCD(int pin) : pin ile tx pinini tanımlıyoruz ve seri ekranı bu pin ile birlikte belirtiyoruz.
clear() : ekran üzerindeki tüm verileri temizler
clearLine(int satır) : int ile belirtilen satırı temizler
selectLine(int satır) : işaretçimizi satır ile belirliediğimiz konuma getirir
setBrightness(int deger): lcd ekranın kontrast değerini deger ile int olarak vermemizi sağlar
home(): işaretçinin lcd ekran üzerinde sol en üst köşeye gelmesini sağlar
print(data): Verinin ekrana bastırılmasını sağlamaktadır
setSplash(): ilk 2 satırı ekranın başlangıç ekranı olarak atar.
toggleSplash(): splash ekranı aktif ya da deaktif etmemize olanak tanır
leftToRight(): ekranda veri akışının soldan sağa doğru olacağını belirtmeye yarar
rightToLeft(): ekranda veri akışının sağdan sola doğru olacağını belirtmeye yarar
blink(): işaretçinin ve üzerinde olduğu karakterin yanıp sönmesine olanak tanır
noBlink(): işaretçinin yanıp sönmesini engeller
cursor(): işaretçinin yerini belirtir.İşaretçinin üzerinde bulunan karakter altında alt çizgi belirir
noCursor(): işaretçinin gizlenmesine olanak tanır
display(): ekranı açar.Son olarak kalan veri tekrar ekrana gelir
noDisplay(): ekranı kapatır ve ekranda son olarak kalan veri display fonksiyonu için kayıt altına alınır
setCursor(int satır,int sütun): işaretçiyi satır ve sütun numarasına götürür
Örnek uygulamamızda seri olarak lcd ekran kullanımın yanı sıra lcd ekran üzerinde sıcaklık sensöründen almış olduğumuz verileri ekrana yazdıracağız.
DS18B20 sıcaklık sensörü üzerinde dijital olarak alacağımız sıcaklık verisini lcd ekran üzerine bastıracağız.
Gelelim kodlarımıza :
#include <SoftwareSerial.h>// yazılımsal olarak seri pin kütüphanemizi ekliyoruz
#include <serLCD.h>// seri lcd ekran kütüphanemizi ekliyoruz
#include <OneWire.h>// Sıcaklık sensörü ile tek hat üzerinden haberleşeceğiz
#include <DallasTemperature.h>// kullanacağımız sıcaklık sensörü kütüphanesi
serLCD ekran(12); // lcd ekranı tanımladık ve bunu 12 nolu pin üzerinden haberleşeceğimizi belirttik
OneWire oneWire(ONE_WIRE_BUS); // tek hat haberleşme belirttik
DallasTemperature sensor(&oneWire);// sıcaklık sensörünü belirledik ve bunu tek hat haberleşmeye bağladık
void setup(void)
{
Serial.begin(9600);// 9600 baudrate ile seri haberleşme başlattık
sensor.begin();//tek hat üzerinden haberleşeceğimiz sensörü başlattık
ekran.clear(); // ekranımızı temizledik
}
void ekrana_sıcaklık_bastır() // tek hat üzerinden sıcaklık bilgisi almak için fonksiyon tanımladık
{
ekran.clear();// lcd ekranı temizledik
float sıcaklık=sensor.getTempCByIndex(0);// float küsürlü olarak santigrat değeri olarak sıcaklığı aldık
ekran.setCursor(0,0);// işaretçiyi 0. satır ve 0. sütuna yani sol en üst köşeye aldık
ekran.print("sıcaklık =");// ekranın başına sıcaklık= stringini bastırdık
ekran.print(sıcaklık,1);//aldıgımız sıcaklık degerini ekrana ekledik
}
void loop()
{
sensor.requestTemperatures();// sensörden sıcaklık verisi talep ettik
ekrana_sıcaklık_bastır();// aldığımız sıcaklık verisini ekrana yazdırdık
delay(2000);// her sıcaklık yazdırmamız arasına 2 sn lik gecikme verdik
}
Bir sonraki yazımızda grafik lcd kontrolü ile yeniden karşınızda olacağız.
Bir önceki yazımızda arduino ile paralel olarak lcd kontrolü ve kütüphanesinden bahsetmiştik.
Bu yazımızda ise seri ve paralel kontrolün farkından ve seri olarak lcd ekranın kontrol edilmesinden bahsedeceğiz.
Nedir paralel ve seri lcd kontrol arasındaki farklılıklar ?
Paralel olarak lcd ekran kontrolünde hatırlarsanız lcd ekrana veri gönderimi için 4 adet pin kullanmıştık ve bu 4 adet pin üzerinden verilerimizi ekrana göndermiştik.Seri ekran kontrolü sırasında ise arduino ile seri haberleşebilen lcd ekran arasında aynı hat üzerinde bitlik seriler halinde haberleşme sağlanır.Böylece arduino pinlerinden tasarruf sağlanmış olur.
Arduino ide bize serLcd kütüphanesi ile seri olarak lcd ekran kontrolü sağlamamızı sağlamaktadır.İsterseniz bu kütüphanenin bize sunduğu fonksiyonları ele alalım.
serLCD(int pin) : pin ile tx pinini tanımlıyoruz ve seri ekranı bu pin ile birlikte belirtiyoruz.
clear() : ekran üzerindeki tüm verileri temizler
clearLine(int satır) : int ile belirtilen satırı temizler
selectLine(int satır) : işaretçimizi satır ile belirliediğimiz konuma getirir
setBrightness(int deger): lcd ekranın kontrast değerini deger ile int olarak vermemizi sağlar
home(): işaretçinin lcd ekran üzerinde sol en üst köşeye gelmesini sağlar
print(data): Verinin ekrana bastırılmasını sağlamaktadır
setSplash(): ilk 2 satırı ekranın başlangıç ekranı olarak atar.
toggleSplash(): splash ekranı aktif ya da deaktif etmemize olanak tanır
leftToRight(): ekranda veri akışının soldan sağa doğru olacağını belirtmeye yarar
rightToLeft(): ekranda veri akışının sağdan sola doğru olacağını belirtmeye yarar
blink(): işaretçinin ve üzerinde olduğu karakterin yanıp sönmesine olanak tanır
noBlink(): işaretçinin yanıp sönmesini engeller
cursor(): işaretçinin yerini belirtir.İşaretçinin üzerinde bulunan karakter altında alt çizgi belirir
noCursor(): işaretçinin gizlenmesine olanak tanır
display(): ekranı açar.Son olarak kalan veri tekrar ekrana gelir
noDisplay(): ekranı kapatır ve ekranda son olarak kalan veri display fonksiyonu için kayıt altına alınır
setCursor(int satır,int sütun): işaretçiyi satır ve sütun numarasına götürür
DS18B20 sıcaklık sensörü üzerinde dijital olarak alacağımız sıcaklık verisini lcd ekran üzerine bastıracağız.
Gelelim kodlarımıza :
#include <SoftwareSerial.h>// yazılımsal olarak seri pin kütüphanemizi ekliyoruz
#include <serLCD.h>// seri lcd ekran kütüphanemizi ekliyoruz
#include <OneWire.h>// Sıcaklık sensörü ile tek hat üzerinden haberleşeceğiz
#include <DallasTemperature.h>// kullanacağımız sıcaklık sensörü kütüphanesi
serLCD ekran(12); // lcd ekranı tanımladık ve bunu 12 nolu pin üzerinden haberleşeceğimizi belirttik
OneWire oneWire(ONE_WIRE_BUS); // tek hat haberleşme belirttik
DallasTemperature sensor(&oneWire);// sıcaklık sensörünü belirledik ve bunu tek hat haberleşmeye bağladık
void setup(void)
{
Serial.begin(9600);// 9600 baudrate ile seri haberleşme başlattık
sensor.begin();//tek hat üzerinden haberleşeceğimiz sensörü başlattık
ekran.clear(); // ekranımızı temizledik
}
void ekrana_sıcaklık_bastır() // tek hat üzerinden sıcaklık bilgisi almak için fonksiyon tanımladık
{
ekran.clear();// lcd ekranı temizledik
float sıcaklık=sensor.getTempCByIndex(0);// float küsürlü olarak santigrat değeri olarak sıcaklığı aldık
ekran.setCursor(0,0);// işaretçiyi 0. satır ve 0. sütuna yani sol en üst köşeye aldık
ekran.print("sıcaklık =");// ekranın başına sıcaklık= stringini bastırdık
ekran.print(sıcaklık,1);//aldıgımız sıcaklık degerini ekrana ekledik
}
void loop()
{
sensor.requestTemperatures();// sensörden sıcaklık verisi talep ettik
ekrana_sıcaklık_bastır();// aldığımız sıcaklık verisini ekrana yazdırdık
delay(2000);// her sıcaklık yazdırmamız arasına 2 sn lik gecikme verdik
}
Bir sonraki yazımızda grafik lcd kontrolü ile yeniden karşınızda olacağız.
Merhabalar,
Adım adım arduino derslerimizde bu yazımızda arduino ile lcd ekran sürme işleminden bahsedeceğiz.
Arduino Ide içerisinde lcd ekranları sürmemizi sağlayan liquidcrystal lcd kütüphanesi bulunmakadır.
Peki bu kütüphane bize neleri sağlamakta ve hangi fonksiyonları barındırmaktadır? isterseniz buna bir gözatalım
begin(int kolon,int sıra) : begin fonksiyonu bizim ne kadarlık bir lcd kullanacağımızı programsal olarak tanımlamamıza olanak tanır.Kullandığımız lcd kaç satır ve sütunu destekliyorsa kolon ve sıra ile bunu belirtmemiz gerekmektedir.
clear() : ingilizcesinden de kolayca anlaşılabileceği üzere lcd ekran üzerinde herşeyi temizleyen fonksiyonumuz
home() : lcd ekran üzerinde işaretçinin lcd ekranın başlangıç noktası yani en yukarı ve sol köşesine gitmesi sağlar
setCursor(int kolon,int sıra): işaretçimizin fonksiyon içerisinde girilmiş olan kolon ve sıra numarasına ilerlemesini sağlar
write(byte değer): işaretçini lcd ekran üzerinde bulunduğu yere değeri yazdırmaktadır.Burada değer 1 adet karakteri yani char belirmektedir.
print(veri): ekrana string olarak veri değerini yazdırmaya yarayan fonksiyonumuz
cursor(): işaretçinin altında çizginin belirlemesini sağlamaktadır.
noCursor(): işaretçinin ekran üzerinde görünmemesini sağlar.
blink(): işaretçinin yanıp sönmesine olanak tanır.
noBlink(): işaretçinin yanıp sönmesini iptal eder
display(): ekranın kapanmasını sağlayan noDisplay fonksiyonun tersini sağlayarak ekrana verilen son verinin geri getirilmesini sağlar
noDisplay(): ekranı kapatma fonksiyonudur.
scrollDisplayLeft(): ekrandaki veriyi bir karakter boşluk ile sola kaydırır
scrollDisplayRight(): ekrandaki veriyi bir karakter boşluk ile sağa kaydırır
autoscroll():her karakter girildiğinde otomatik olarak önceki karakteri sola ya da sağa kaydırır
noAutoscroll(): otomatik scroll komutunu devre dışı bırakır.
leftToRight(): verinin ekrana soldan sağa doğru akacak şekilde yazılmasını sağlar
rightToLeft():verinin ekrana sağdan sola doğru akacak şekilde yazılmasını sağlar
Fonksiyonlarımızı inceledikten sonra gelelim lcd ekranımızı nasıl arduinomuza bağlayacağımıza
şemada 68 ohm değerindeki direnç lcd ekranımızın arduino üzerinden çekilen akımını sınırlamak için kullanılmıştır.
Yukarıda arduino ile lcd ekran arasındaki bağlatı noktaları listenmiştir.Burada dikkatinizi çekeceği üzere arduino üzerinden veriler 4 bit olarak ekrana gönderilmektedir ve db4-7 üzerinde arduinonun d2-5 arasında bağlantı sağlanmıştır.Potansiyometre lcd ekranımızın kontrast yani netleğini ayarlamak amacı ile devreye eklenmiştir.
Gelelim arduino kodlarımıza
#include <LiquidCrystal.h> // lcd kütüphanemizi ekledik
LiquidCrsytal lcd(12,11,5,4,3,2); // lcd ekranımızın bağlantı noktalarını tanımladık 12,11 register ve enable pinleri iken 5-2 pinleri ise data pinlerimiz
void setup()
{
lcd.begin(16,2);// lcd ekranımızın 2 satırlık ve 16 sütunluk olduğu programa belirtiyoruz
lcd.print("Arduino");// lcd ekranın en üst sol köşesinden başlayarak arduino yazdırdık.
lcd.setCursor(0,1);// lcd ekran üzerinde işaretçimizi 2. satır ve 0. sütuna yani 2. satır başlangıcına çekiyoruz
lcd.print("LCD display");// 2. satırımıza verimizi yazdırdık.
}
void loop()
{
}
Bu yazımızda sizlerle paralel bağlantılı lcd ekranların arduino ile kullanımından bahsettik.Bir sonraki yazımızda seri olarak haberleşen lcd ekran ile uygulama üzerine sizlerle birlikte olacağız.
Adım adım arduino derslerimizde bu yazımızda arduino ile lcd ekran sürme işleminden bahsedeceğiz.
Arduino Ide içerisinde lcd ekranları sürmemizi sağlayan liquidcrystal lcd kütüphanesi bulunmakadır.
Peki bu kütüphane bize neleri sağlamakta ve hangi fonksiyonları barındırmaktadır? isterseniz buna bir gözatalım
begin(int kolon,int sıra) : begin fonksiyonu bizim ne kadarlık bir lcd kullanacağımızı programsal olarak tanımlamamıza olanak tanır.Kullandığımız lcd kaç satır ve sütunu destekliyorsa kolon ve sıra ile bunu belirtmemiz gerekmektedir.
clear() : ingilizcesinden de kolayca anlaşılabileceği üzere lcd ekran üzerinde herşeyi temizleyen fonksiyonumuz
home() : lcd ekran üzerinde işaretçinin lcd ekranın başlangıç noktası yani en yukarı ve sol köşesine gitmesi sağlar
setCursor(int kolon,int sıra): işaretçimizin fonksiyon içerisinde girilmiş olan kolon ve sıra numarasına ilerlemesini sağlar
write(byte değer): işaretçini lcd ekran üzerinde bulunduğu yere değeri yazdırmaktadır.Burada değer 1 adet karakteri yani char belirmektedir.
print(veri): ekrana string olarak veri değerini yazdırmaya yarayan fonksiyonumuz
cursor(): işaretçinin altında çizginin belirlemesini sağlamaktadır.
noCursor(): işaretçinin ekran üzerinde görünmemesini sağlar.
blink(): işaretçinin yanıp sönmesine olanak tanır.
noBlink(): işaretçinin yanıp sönmesini iptal eder
display(): ekranın kapanmasını sağlayan noDisplay fonksiyonun tersini sağlayarak ekrana verilen son verinin geri getirilmesini sağlar
noDisplay(): ekranı kapatma fonksiyonudur.
scrollDisplayLeft(): ekrandaki veriyi bir karakter boşluk ile sola kaydırır
scrollDisplayRight(): ekrandaki veriyi bir karakter boşluk ile sağa kaydırır
autoscroll():her karakter girildiğinde otomatik olarak önceki karakteri sola ya da sağa kaydırır
noAutoscroll(): otomatik scroll komutunu devre dışı bırakır.
leftToRight(): verinin ekrana soldan sağa doğru akacak şekilde yazılmasını sağlar
rightToLeft():verinin ekrana sağdan sola doğru akacak şekilde yazılmasını sağlar
Fonksiyonlarımızı inceledikten sonra gelelim lcd ekranımızı nasıl arduinomuza bağlayacağımıza
şemada 68 ohm değerindeki direnç lcd ekranımızın arduino üzerinden çekilen akımını sınırlamak için kullanılmıştır.
Gelelim arduino kodlarımıza
#include <LiquidCrystal.h> // lcd kütüphanemizi ekledik
LiquidCrsytal lcd(12,11,5,4,3,2); // lcd ekranımızın bağlantı noktalarını tanımladık 12,11 register ve enable pinleri iken 5-2 pinleri ise data pinlerimiz
void setup()
{
lcd.begin(16,2);// lcd ekranımızın 2 satırlık ve 16 sütunluk olduğu programa belirtiyoruz
lcd.print("Arduino");// lcd ekranın en üst sol köşesinden başlayarak arduino yazdırdık.
lcd.setCursor(0,1);// lcd ekran üzerinde işaretçimizi 2. satır ve 0. sütuna yani 2. satır başlangıcına çekiyoruz
lcd.print("LCD display");// 2. satırımıza verimizi yazdırdık.
}
void loop()
{
}
Bu yazımızda sizlerle paralel bağlantılı lcd ekranların arduino ile kullanımından bahsettik.Bir sonraki yazımızda seri olarak haberleşen lcd ekran ile uygulama üzerine sizlerle birlikte olacağız.