P10 Led Panel 32x16 toplamda 512 tane ledden oluşur. Üzerinde Hub1.2 adı verilen 8x12 lik iki adet bağlantı noktası ve 5v güç giriş bağlantısı bulunur. Hub1.2 bağlantılarının aşağıdaki resme göre soldaki giriş, diğeri ise diğer panellere bağlanabilmesi için çıkış olarak ayarlanmıştır.
Hub1.2 bağlantı noktasının pin tanımlamaları yandaki şekilde gösterilmiştir. ENABLE pinine HIGH sinyal uygulandığında panel aktif olur, bu pin LOW sa panelden diğer tüm parametrelere bakılmaksızın görüntü alamıyoruz.
A ve B pinleri panelde satır seçme işlemi için kullanılır. Panelin yukardan aşağıya doğru (panelin arkasındaki yön gösteren oklardan dikey olan yukarı konumu gösteriyorken) 16 satıra sırasıyla A1-A16 isimlerini verirsek seçme işlemi şu şekilde olacak
(Burada seçme işlemiyle kastedilen ledlerin anodlarına + voltajın verilmesini sağlamaktır, A ve B nin durumuna göre seçili satırda bulunan ledlerin anodu enerjilendirilmiş olur)
B
A
Seçilen Satırlar
0
0
A1-A5-A9-A13
0
1
A2-A6-A10-A14
1
0
A3-A7-A11-A15
1
1
A4-A8-A12-A16
DATA pini ledlerin katodlarınında belirleyicidir, yani data pininde gönderdiğimiz sinyalin LOW olduğu kısımlara denk gelen ledler çalışıyor olacak, data gönderim işlemi kısaca şöyle, data pininin seviyesi CLK pini üzerinden pir pulse gönderilerek 74HC595 'in registerine kaydırılır, A,B 0 0 iken sarı satırlar üzerine binecek olan data gönderimi yapılacak, gönderdiğiniz her data bir öncekileri ileri kaydıracak şekilde tasarlanmıştır. Tek bir satırda 8*16 = 128 tane led vardır, her birinin yanma sönük kalma durumu bu şekilde registerlara yazdırılır, sonra SCLK pinine pulse gönderilerek ilk satırın veri gönderimi tamamlanmış olur. SCLK pulse 74HC595 lerin registerlerindeki datayı çıkışlarına, yani ledlere göndermiş olur, SCLK pulse gelmeden çıkışlar yüksek empedans durumundadır. Aynı rutin 4 satıra da uygulanarak, tüm ekranın taraması tamamlanmış olur.
şekilde de görüldüğü üzere ilk gönderdiğiniz data şuanda 128 yazan hücreden girip yolculuğunu sol atta 1 yazan hücrede tamamlar, varsa bir sonraki panelin 128 yazan hücresinden girerek yoluna devam eder.
P10 led panelin çalışma prensibi ve devre analizi ile devresinde bulunan 74HC245 74HC04 74 HC138 ve 74HC595 entegrelerinin de nasıl çalıştığını incelediğim videoma yazının sonunda ulaşabilirsiniz. Keyifli seyirler.
DHT11 & Arduino UNO DHT 11 içerisinde NTC (Negative Temprature Coefficient) direnç ve nem sensörü bulunduran data kağıdında kendi deyimiyle => "yüksek performanslı" 8 bit mikrodenetleyici bulunan, (ölçüm yapması insanın kendi başına hava sıcaklığını ve nemini algılayabileceği süreden daha uzun süren:) , 250µs demişler ancak 2 saniye kadar sürebilir de demişler), bağlı olduğu sistemlerle "Tek hat-çift yön" serial protokolüyle konuşan güzide bir sensördür. Hep mi kötü bu kadar mı kötü, hayır tabii ki, ucuz mesela, bugünkü fiyatla 10 TL'ye almanız mümkün, düşünsenize bir NTC, bir nem sensörü, 8 bitlik "yüksek performanlı" bir mikrodenetleyici, bir kaç direnç ve kapasite, bunların takılı olduğu bir pcb, plastik muhafazası, pin headeri hatta onun takılı olduğu bir pcb daha, hepsi 10TL! Çinli malı eline almış kadıköy-eminönü seferinde bitti mi, bitmedi diyerek hepsini 10 liraya veriyor. En az sensörün kendisi kadar kaliteli bu yorumun ardı
Arduino güç özellikleri konusunda detaylıca anlattığımız üzere, Arduino UNO için konuşuyorsak; mikro denetleyicimizin anlamlandırabildiği maksimum potansiyel fark +5V 'tur. Bunun konumuzu ilgilendiren kısmı da standart olarak bir Arduino UNO ile ölçebileceğimiz en fazla potansiyel farkın 5V olmasıdır. Daha yüksek seviyelerdeki voltajların Arduino ile ölçülebilmesi için ek elemanlara ve devrelere ihtiyaç duyulmaktadır, ileride bu konuyla ilgili yazı yayınlarsam linkini buralarda paylaşıyor olurum. Voltaj Bölücü Devresi şimdilik size yardımcı olacaktır. Gerekli hesapları yapıp Vout için maksimumda 5v gelecek şekilde dirençlerinizi seçip devrenizi tasarlayabilirsiniz. Bu yazı Arduino UNO ile daha önce hiç voltaj ölçmemiş, nasıl ölçüldüğü konusunda fikri olmayan okuyucularımızı hedef almaktadır :) Arduino ADC ölçümlerinde yalnızca 0-5V arası DC gerilim ölçülebilir! Devre şemamız görseldeki gibi, biraz anlatmamız gerekirse, potansiyometremizin dış uçlarından birin
Bu yazıda, Arduino ile ssd1306 oled ekranın SSD1306TUR kütüphanesiyle kullanımına ve tüm fonksiyonlarına bakıyor olacağız. Arduino demişken; ATmega328 : Arduino UNO, Adafruit Pro Trinket, Adafruit Metro 328, Adafruit Metro Mini ATmega32u4 : Arduino Leonardo, Arduino Micro, Arduino Yun, Teensy 2.0, Adafruit Flora, Bluefruit Micro ATmega2560 : Arduino Mega ESP8266 : Adafruit Huzzah ATSAM3X8E : Arduino Due ATSAMD21 : Arduino Zero, M0 Pro, Adafruit Metro Express, Feather M0 ATtiny85 : Adafruit Gemma, Arduino Gemma, Adafruit Trinket Particle: Particle Argon tamamı ile testi yapılmış çalıştığı görülmüştür. Kütüphane nasıl yüklenir ? : SSD1306TUR | SSD1306 Oled Ekran Türkçe Kütüphane linkini takip edebilirsiniz. SSD1306 Arduino UNO I2c Bağlantısı Ekranın I2c protokolü üzerinden Arduino Uno 'ya bağlantısı şu şekilde : Ekran Pini Arduino Uno Pini GND GND VDD 5V SCK A4 SDA A5 Ekranın Başlatılması Uygulamaya başlamadan önce tanımlarımızı sayfanın en üstünde yapıyoruz :
Birçok projede hem ucuz olması hem de kolay bulunması bakımından 16x2 LCD ekranları kullanıyoruz. Bu yazımızda Arduino ile LCD Ekran Kullanımı 'na bakıyor olacağız. Üzerinde Hitachi 'nin ürettiği HD44780 sürücü entegresi bulunmakta. Aşağıda görselde ekranla birlikte 16x2 LCD ekran pin bağlantıları da verilmiştir. Pin detayları şu şekilde: GND : Ground VCC : +5V Contrast : Ekran kontrastını ayarlamamıza yardımcı olur, bir potansiyometre ile 5V voltaj bölücü şeklinde konfigüre edilerek kullanılabilir, potansiyometrenin kenar uçlarını +5v ve GND ye bağlayıp orta ucu da Contrast pinine bağlayarak kontrast ayarı yapabilirsiniz. RS : Register Select pini, komut mu data mı gönderiyoruz onu seçmemizi sağlıyor LOW durumda instruction (yani komut) HIGH durumda data (yani karakter) gönderiyoruz. RW : Read Write seçimi için kullanılıyor, LOW : write, HIGH : read; ekrandan veri okumayacağımız için direkt olarak GND 'ye bağlayabiliriz. D0-D7 : data pinleri 8 bit mode
Arduino ile 5v 'tan daha yüksek bir voltajı ölçmek için ; ya da herhangi bir mikro denetleyici için analog referans değerinin üzerindeki bir gerilimi ölçmek istediğimizde linkteki yazıda anlattığım gerilim bölücüleri kullanırız. Henüz okumadıysanız, okuyup buraya geri dönmenizi tavsiye ederim. Örnek olsun diye 9V 'luk bir pili ölçmeye çalışalım, bu aynı zamanda en fazla 9V dc çıkışı olan farklı bir kaynak da olabilir. Burada teorik olarak yaptığımız şey en fazla 5v olan arduino ölçme kapasitesini 9V a çıkartmaktır. Dirençleri seçerken GND 'ye bağlı olan 5 in kaç katıysa (4) kaynağın + sına bağlı olan direncin de 4'ün o katı olduğuna dikkat edin.. Toplamda dirençlerimizin GND ve arduino analog pin arasında olan üzerinde 5V diğer direnç üzerinde de 4v olmasını istiyoruz, 12V ölçüyor olsaydık ikinci direnç 4'ün değil 7'nin 4 katı olacaktı, 9 da 4, 12 'de 7 nerden geldi? Kaynak voltajı - 5v (arduino adc max) 'tan geldi. Basitçe üstteki direnç 5x
Bu yazımızda Arduino UNO 'nun güç bölümünü inceliyoruz. Bu hemen hemen aynı yapıda olan arduino kartları için benzer özellikler gösterir. Yazıda yukardaki görseli kullanacağız. USB B Type ismindeki bağlantı noktasından Arduino 'ya nasıl enerji verebiliriz, seçeneklerimiz nelerdir, sırasıyla bakalım: Arduino UNO Bilgisayara Nasıl Bağlanır? B tipindeki bir USB kablo ile bilgisayara bağlanabilir, kablonun hem bilgisayara bağlanan tarafında hem de arduino karta bağlanan kısmında dikey yönü önemlidir. Karta bağlanan kısmın bir tarafında köşelerin keskin diğer tarafında eğimli olduğuna dikkat edin, kartın üzerindeki giriş de aynı şekildedir, kart ile kablonun uyumlu tarafları karşılıklı gelecek şekilde bağlayabilirsin ters ya da yan takmanız mümkün değildir ancak zorlarsanız da kablonuzu ya da kart üzerindeki konnektörü bozabilirsiniz. Bilgisayara bağladığınız kısımda ise bir tarafta pinlerin olduğu beyaz plastik bir parça vardır, ters takmanız yine mümkün değildir tak
Arduino LM35 Sıcaklık Sensörü Kullanımı Arduino ile LM35 sıcaklık sensörü kullanımı oldukça basittir, zira sensörün çalışma prensibi zaten oldukça basittir; her bir derece için sinyal bacağında 10mV luk voltaj değişimi gerçekleşir ve tamamen olmasa da (her zaman biraz hata vardır) bu değişimin doğrusal olduğunu söyleyebiliriz. LM35 Pin Tanımları Lm35 Sıcaklı Sensörünün 3 adet pini bulunmaktadır : + Pini : Arduino 'nun 5V pinlerinden birine bağlanır. - Pini : Arduino 'nun GND pinlerinden birine bağlanır. S Pini : Sinyal çıkış pini olup, Arduino 'nun Analog pinlerinden (A0,A1 vs) birine bağlanır. Lm35 Arduino Bağlantısı Görselde görmüş olduğunuz Lm35 modül ile 2°C ile 150°C arasında sıcaklık ölçümlerini yapabiliriz. LM35 modül ile -55 ile 150 derece arasındaki sıcaklıkları da ölçmek mümkün ancak bu farklı bir yazının konusu olabilir; devre üzerinde bazı modifikasyonlara ihtiyacı oluyor. Arduino Lm35 ile Sıcaklık Ölçme Örnek Kod Öncelikle Arduino ile
LiquidCrystalTUR kütüphanesi nihayetinde hazır, biraz uğraştırdığını söyleyebilirim ancak neticeye de ulaşmış bulunmaktayım. Arduino 'nun ide yüklemesiyle birlikte gelen LiquidCrystal kütüphanesi, print fonksiyonuyla ne yazık ki türkçe karakterleri yazamıyor, bunun yerine custom karakterler tasarlayıp her biri için ayrı birer fonksiyon kullarak çağırmak gerekiyor. Normal şartlarda bu kütüphaneyi kullanarak print fonksiyonuyla lcd. print (" Türkçe Yazı "); yazdığınızda karşılaştığınız manzara sol taraftaki gibi olacaktır, ayrıca bu kütüphaneyle ilgili benim gördüğüm bir iki eksiklik daha var, örneğin noDisplay fonksiyonuyla ekranın kapanmasını sağlayabiliyorsunuz, ancak kütüphanenin içinde ve Arduino 'nun resmi sitesindeki referanslarındaki bağlantı şemasını kullandığınızı düşünürsek, sadece ekrandaki görüntü gidiyor ve ışıklar yanmaya devam ediyor. İkincisi de kontrast problemi, kontrastı mutlaka bağladığınız pot üzerinden ayarlamak durumundasınız, peki ya bunu k
Arduino ve Röle ile Lamba Kontrolü Arduino ile aşağıda görseli bulunan röle modülünü nasıl kullanırız bu yazımızda ona bakıyor olacağız. Modül üzerindeki ana elemanımız rölemiz olup, SRD-05VDC-SL-C koduna sahiptir. Röle Modül Pin Bilgileri Görselin sağ tarafındaki pinler Arduino tarafında lazım olan pinlerdir, VIN, arduino kart üzerindeki VIN pinine GND, GND'ye; kontrol pini de dilediğiniz herhangi bir digital pine bağlanabilir. Görselin sol tarafındaki pinlere gelince neredeyse tüm rölelerde bulunan pinler olup tek tek aaçıklamak gerekirse COM, COMM, COMMON : Ortak uç olup anahtarlamak istediğimiz kaynağın bir ucunu bağladığımız pindir, bu pin rölenin çalışmadığı yani enerji verilmediği durumda, NC pinine temas etmektedir, röleye enerji verilip çalıştırıldığında içindeki mekanik anahtarın bobin tarafında oluşan elektromıknatıs ile diğer tarafa çekilerek NO pinine teması sağlanmış olur. NO, Normally Open : normalde açık devre olan pindir. Röle çalışırken common pini bu pi
DMD2TUR P10 Panel Türkçe Karakter Kullanımı Arduino P10 panel kullanımında yardımımıza koşan DMD2 kütüphanesi ve içerisindeki fontlar Türkçe karakterleri desteklememektedir. DMD2 kütüphanesinin üzerine geliştirmiş olduğum bu kütüphane sayesinde DMD2 kullandığınız projelere DMD2TUR kütüphanesini ekleyerek Türkçe karakter desteği kazandırabileceksiniz. Visual Studio Code ile platformIO kullanarak Arduino kod geliştirenler platformIO-Libraries içerisinde DMD2TUR yazarak kütüphaneye ulaşabilir, projelerine ekleyip kullanmaya başlayabilirler: Eğer P10 projenize yeni başlıyorsanız ve henüz DMD2 indirmediyseniz DMD2TUR kütüphanesini indirdiğinizde DMD2 kütüphanesini de indirmiş olup ayrıca indirmenize gerek kalmayacaktır. Arduino IDE kullanıcıları menüden Tools * Manage Libraries seçeneğinden açılan kütüphane yönetim penceresinin arama satırına DMD2TUR, -sadece dmd de yazsanız çıkıyor- yazdıktan sonra Install butonuna tıklayarak kütüphaneyi indirebilirler. Kütüphaneleriniz ar
Yorumlar
Yorum Gönder