İçindekiler:

Otobüs Korsanları için HD44780 LCD - I2C Adaptör Kartı: 9 Adım
Otobüs Korsanları için HD44780 LCD - I2C Adaptör Kartı: 9 Adım

Video: Otobüs Korsanları için HD44780 LCD - I2C Adaptör Kartı: 9 Adım

Video: Otobüs Korsanları için HD44780 LCD - I2C Adaptör Kartı: 9 Adım
Video: Tayo'nun arkadaşları ile tanışın l uzay araçları l KÜÇÜK OTOBÜS TAYO Türkçe 2024, Kasım
Anonim
Otobüs Korsanları için HD44780 LCD - I2C Adaptör Kartı
Otobüs Korsanları için HD44780 LCD - I2C Adaptör Kartı
Otobüs Korsanları için HD44780 LCD - I2C Adaptör Kartı
Otobüs Korsanları için HD44780 LCD - I2C Adaptör Kartı

HD44780 yonga setini temel alan ucuz karakter LCD'ler çeşitli boyutlarda gelir: 2x16, 4x20, vb. Bu ekranların iki standart arabirim modu vardır, 4bit ve 8bit paralel. 8bit toplam 11 veri hattı gerektirir, 4bit 7 (salt yazma için 6 adet) gerektirir. Bazı LCD'ler, Hack a Day'de ele aldığım VFD gibi ek bir seri veri modunu destekler. HD44780 LCD'ler genellikle arka ışık için ayrı bir beslemeye sahip 5 voltluk parçalardır. Bus Pirate'de sadece beş adet 5 volt toleranslı I/O pini var, bu yüzden LCD'yi kontrol etmek için yeterli pinli küçük bir adaptör kartı yaptık. Bus Pirate, adaptör kartını LCD arabirim kitaplığı aracılığıyla kontrol eder. Bus Pirate HD44780 karakter LCD adaptör kartı ve arabirim kitaplığı hakkında okumaya devam edin. Seeed Studio tarafından üretilen PCB'leri, kitleri veya montajlı kitleri, dünya çapında nakliye dahil olmak üzere yaklaşık 15 $ karşılığında alabilirim, daha fazlası burada. Bazı biçimlendirme öğelerini ve HTML tablolarını bir Eğitilebilir Tabloya dahil edemedim, orijinal gönderiyi Dangerous Prototypes'ta görebilirsiniz. Blog.

Adım 1: Donanım

Donanım
Donanım
Donanım
Donanım
Donanım
Donanım

Genel BakışBu makalede, HD44780 tabanlı LCD'ler için bir I2C adaptör kartının ana hatlarını veriyoruz. Bunu bir Bus Pirate evrensel seri arabirimiyle gösteriyoruz. I2C tabanlı HD44780 arayüz kitaplığı için Bus Pirate kaynak kodu kamu malı olduğundan, kendi projelerinize uyarlamak ücretsizdir. HardwareTam boyutlu devre görüntüsü [PNG]. Devre ve PCB, Cadsoft Eagle'ın ücretsiz sürümü ile tasarlanmıştır. Tasarım dosyaları Bus Pirate SVN'den indirilebilir. Adaptör kartını kullanmadan önce, LCD'nizin veri sayfasını adaptör pin çıkışına göre doğruladığınızdan emin olun. Tüm LCD'ler aynı değildir. PCF8574 G/Ç genişletici IC Bu, iki telli I2C arabirimi aracılığıyla kontrol edilen basit bir 8 G/Ç genişletici çiptir. I2C arayüzüne JP1 başlığından erişilebilir. PCF8574, 2,5 ila 5 volt arasında çalışır. G/Ç pinleri besleme voltajında çalışır, bu nedenle 5 volt beslersek LCD ile 5 voltta arayüz oluşturur. C1 (0.1uF), IC'yi güç kaynağındaki dalgalanmalardan ayırır. PCF8574'ün bir pimi, akım sınırlama direnci R2 (1000 ohm) aracılığıyla 3 mm'lik bir LED'i (LED1) kontrol eder. LED, Bus Pirate ve adaptör arasındaki başarılı iletişimi göstermek için yanar. PCF8574, LED'e güç sağlamak için yeterli akımı sağlayamaz, bu nedenle LED'i 5 voltluk güç kaynağından besler ve toprağı değiştiririz. LCD Adaptör kartı, 4 bit paralel arabirim modunda HD44780 tabanlı bir karakter LCD ile iletişim kurar. 4 bit arabirim pimleri - RS, RW, EN ve D4-D7 - PCF8574 G/Ç pimlerinin yedisine bağlanır. Adaptörü bir LCD'ye bağlamak için 0.1" erkek pin başlığı kullanmayı seviyoruz, hızlı bir test için yeterli teması oluşturmak için genellikle LCD'yi pinlere yaslayabilirsiniz. Kırpıcı direnci R1 (10K), pin 3'e kontrast ayar voltajı sağlar. LCD başlığı. Arka ışık pimlerini bağlamadık çünkü pek çok farklı arka ışık stili var. Bir LED arka ışığına güç sağlamak, negatif voltaj kaynağı gerektiren bir ekrana zarar verebilir. Güç kaynağı Çoğu LCD, 5 volt gerektirir, harici bir güç kaynağı sağlar başlık JP2. Bus Pirate'in pull-up dirençlerini bağlamak için ikinci bir güç kaynağı pini sağladık. PCB Devre ve PCB, Cadsoft Eagle'ın ücretsiz sürümü ile tasarlanmıştır. Tasarım dosyaları Bus Pirate SVN'den indirilebilir. PCB tek taraflı, tamamı delikli tasarım, tek bir atlama teli ile (kırmızı ile gösterilmiştir). PCB'ler, kitler veya Seeed Studio tarafından üretilen montajlı kitler, dünya çapında nakliye dahil olmak üzere yaklaşık 15 $'a sahip olabiliriz, daha fazlası burada. Tüm th kaba delik) C10.1uF/10volts+R110000 (10K) ohm tek turlu düzeltici/potansiyometre, 6mmR21000 (1K) ohm direnç, 1/4 wattLED13mm (T1) LED, redJP1+JP20.1" erkek başlık, 5 pinsIC1PCF8574N, 8bit IC1I için I2C I/O genişletici DIP16ICS116 pin DIP soketi, bazı biçimlendirme öğelerini ve HTML tablolarını bir Eğitilebilir Dosyaya dahil edemedi, orijinal gönderiyi Dangerous Prototypes blogunda görebilirsiniz.

2. Adım: Bağlantılar

Bağlantılar
Bağlantılar

Cihaz: HD44780 karakter LCD. Veriyolu: PCF8574 I2C adaptör kartı ile 4 bit paralel. Güç gereksinimleri: 5 volt. Referanslar:örnek veri sayfası [PDF], HD44780 komut referansı, HD44780 LCD uber-site. Bu gösteri için Komple Bus Korsan oturum günlüğü. Biz adaptörü Bus Pirate evrensel seri arabiriminin LCD kitaplığı için tasarladı, ancak I2C protokolünü konuşabilen her şeyle çalışacak. Örnek bir I2C->HD44780 uygulaması için Bus Pirate kaynak koduna bakın. Bus Pirate'i tabloda gösterildiği gibi adaptör panosuna bağlayın. Tablo aynı zamanda bir adaptör kartı olmadan takip ediyorsanız PCF8574 IC'ye yapılan ham bağlantıları da gösterir. Adaptörü LCD için yeterli, genellikle 5 volt olan bir güç kaynağına bağlayın. Adaptör ve Bus Pirate arasındaki I2C bağlantısı, 2 ile 10K arasında çekme dirençleri gerektirir. Pull-up'larla karışık voltaj arabirimi ve Bus Pirate yerleşik pull-up dirençleri hakkında daha fazla bilgiyi burada bulabilirsiniz. Bazı biçimlendirme öğelerini ve HTML tablolarını Instructable'a dahil edemedim, orijinal gönderiyi Dangerous Prototypes blogunda görebilirsiniz..

Adım 3: Adım 1. Kurulum Kitaplığı

Adım 1. Kurulum Kitaplığı
Adım 1. Kurulum Kitaplığı

Arayüzleme Adaptör tasarımını ve onu Bus Pirate'e nasıl bağlayacağımızı ele aldık, şimdi nihayet LCD'ye bir şeyler yazmanın zamanı geldi. HiZ>m <<11 <<1 <<w <

p <<2 <<v <<<voltaj raporu al VOLTAJ İZLEME: 5V: 4,9 | 3.3V: 3.3 | VPULLUP: 5.0 <<Bus Pirate terminalinde 'm' tuşuna basın ve LCD kitaplığını seçin. Şu anda yalnızca bu makalenin ilk yarısında açıklanan PFC8574 adaptörünü kullanan HD44780 karakter LCD'leri destekler (seçenek 1). Güç kaynaklarını (büyük 'W') ve çekme dirençlerini ('p' menüsü) etkinleştirin. Voltaj monitörünü (menü 'v') kontrol edin ve yukarı çekme voltajının (Vpullup) 5 volt civarında olduğundan emin olun.

Adım 4: Adım 2. Sıfırlama ve Başlatma

Adım 2. Sıfırlama ve Başlatma
Adım 2. Sıfırlama ve Başlatma
Adım 2. Sıfırlama ve Başlatma
Adım 2. Sıfırlama ve Başlatma

Bu tablo, bir HD44780 LCD'yi kontrol eden tek baytlık komutları özetlemektedir, burada ayrıntılı bir referans bulunmaktadır. Bu komutlar Bus Pirate komut satırından girilebilir, ancak çoğu için zaman kazanmak için makrolar yaptık. LCD>(0) <<<makro menüsünü göster0. Makro menüsü <<<bu menü1. LCD Sıfırla << <LCD'yi sıfırla2. LCD'yi başlat <<<LCD'yi sıfırla ve başlat3. LCD'yi temizle <<<LCD'yi temizle, imleci 04'e döndür. İmleç konumu ör:(4:0) <<<imleç konumunu ayarla5. Test metni yaz <<Makro 0, herhangi bir Otobüs Korsan modu için makro menüsünü görüntüler. LCD>(2) <<<LCD makrosunu başlat Ekran satırları:1. 1 <<<tek satırlı ekran2. Çoklu <<2 ' RESET <<<makro 2 bir sıfırlama dizisi içerirINIT <<LCD makrosunu başlatma (2), ekranı 4 bit arayüz modu için yapılandırır, imleç gösterimini etkinleştirir ve diğer birkaç yararlı seçeneği ayarlar. Ekran satırlarının sayısını yapılandırın, tek satırlı ekran için 1'i veya diğer tüm ekranlar için 2'yi seçin. Başlatmadan sonra, köşede bir imleç görünecek şekilde ekran net olmalıdır. İşe yaramadıysa, I2C bağlantısını, çekme dirençlerini ve güç kaynağını kontrol edin, ardından tekrar deneyin. HD44780 LCD'lerin 4 bit veya 8 bit arabirim modu için başlatılmadan önce özel bir sinyal dizisiyle sıfırlanması gerekir. Makro 1 bu diziyi oluşturur. Makro 2, sıfırlama dizisini içerir, bu nedenle makro 2'den önce makro 1'i kullanmaya gerek yoktur.

Adım 5: Adım 3. Test Karakterlerini Yazın

Adım 3. Test Karakterlerini Yazın
Adım 3. Test Karakterlerini Yazın
Adım 3. Test Karakterlerini Yazın
Adım 3. Test Karakterlerini Yazın

LCD>(6:80) <<Rakamları yazma makrosu LCD'yi 0 ile 9 arasındaki test numaralarıyla doldurur. İki nokta üst üste işaretinden sonraki sayı Bus Pirate'e kaç tane test numarası yazacağını söyler, 4x20LCD kullanıyoruz, bu yüzden doldurmak için 80 sayı yazıyoruz. İmlecin ilk '0'. LCD>(7:80) << altında 0 konumunda bittiğine dikkat edin.Karakter yazma makrosu LCD'yi ASCII karakterleriyle doldurur, iki nokta üst üste işaretinden sonra miktarı girin. İlk satırın üçüncüde, üçüncünün ikincide ve ikincinin sonda devam ettiğine dikkat edin. Karakter LCD'leri bir satırdan diğerine kaydırmadığı için karakterler sürekli değildir. Daha sonra bunun hakkında biraz daha konuşacağız.

Adım 6: Adım 4. LCD'yi Temizle

Adım 4. LCD'yi Temizle
Adım 4. LCD'yi Temizle

LCD>(3) <<Clear LCD makrosu, ekranı silen ve imleci ilk konuma döndüren HD44780 komutunu gönderir. Bu işlemlerden herhangi birini makrolar olmadan da yapabilirsiniz, bu bölümün başındaki komut tablosuna bakın. Arabirimi komut moduna ([) ayarlamak için Bus Pirate'e '[0b1' girin ve bir makro olmadan HD44780 ekran temizleme komutunu (0b00000001) gönderin.]

Adım 7: Adım 5. Metin Yazın

Adım 5. Metin Yazın
Adım 5. Metin Yazın
Adım 5. Metin Yazın
Adım 5. Metin Yazın

LCD>(8) <<<kullanıcı metnini ekle İmleç konumuna eklenecek metni girin. HD44780 LCD demo <<4. adımda LCD'yi temizledikten sonra, imleç ilk blokta konumlanır. Bunu, imleci ilk karaktere hareket ettiren makro (4:0) ile de ayarlayabiliriz. İmleç makrosundaki metin ekleme, metin girişi ister ve ardından enter. LCD>(4'e bastığınızda LCD'ye kopyalar.:0x40) <&lt

LCD>(8) <<<metin ekle İmleç konumuna eklenecek metni girin. Bus Pirate v2go <<İkinci satıra yazmak biraz daha karmaşıktır, aslında 4x20 LCD'de 64 karakterinden başlar. 1. satırın sonundan (20 karakter) yazmaya devam ederseniz, üçüncü satırın başına gelirsiniz! Bu sayfa, çoğu karakter LCD boyutu için güzel bir bellek haritaları koleksiyonuna sahiptir. İlk olarak, imleci ikinci satıra (4:0x40) konumlandırıyoruz. Ardından, 'metin ekle' makrosu girdimizi alır ve LCD'ye kopyalar. LCD>(4:0x14)(8)(4:0x54)(8) <<<çoklu makro sözdizimiİmleç konumuna eklenecek metni girin. Firmware v2.0+ <<<bu yazdık, imleç konumuna eklemek için metni girin. TehlikeliPrototipler <<Bus Pirate, aynı satırda birden fazla makro kabul eder, böylece tüm ekran bir kerede yazılabilir. Son iki satıra tek satır sözdizimi ile yazdık. '(3)(4:0)(8)(4:0x40)(8)(4:0x14)(8)(4:0x54) kullanabiliriz. (8)' LCD'yi temizlemek ve dört satırın tümünü tek bir sözdizimi girişi ile yazmak için.

Adım 8: Adım 6. LCD'den Okuma

Adım 6. LCD'den Okuma
Adım 6. LCD'den Okuma

Bus Pirate ve LCD adaptör kartı LCD'den okuyabilir. Ekrana yazdığımız metni (DDRAM) okuyacağız, ancak doğru adresi ayarlayarak ayarları ve özel karakter ramını (CGRAM) da okuyabilirsiniz. LCD>[0b10000000 '''<<<okuma işaretçisini ayarlayın'' ']HD44780 RS DÜŞÜK, KOMUT MODU <<<kayıt pin düşük seçinCMD YAZ: 0x80 <<İlk olarak, Bus Pirate'e LCD komut kaydına ([) veri göndermesini söylüyoruz. Ardından, okuma işaretçisini DDRAM'ın başına ayarlamak için set DDRAM adres komutunu (0b1xxxxxxx) kullanırız (xxxxxxx=0000000).]LCD>]rrrrrrr <<<veri belleği okuHD44780 RS HIGH, DATA MODE <<<register select pin highREAD: 0x48 <<< 'H'OKU: 0x44 <<< 'D'OKU: 0x34 <<< '4'OKU: 0x34 <<< '4'OKU: 0x37 <<< '7'OKU: 0x38 < << '8'READ: 0x30 <<< '0'LCD>Son olarak, Bus Pirate'e veri belleğinden (]) okumasını ve ardından birkaç bayt okumasını (rrrrrrr) söyleyin. 5. adımda ekrana yazdığımız metin olan "HD44780"i aldık. Yedi bayt okumak için r:7 kısayolunu da kullanabilmelisiniz, ancak mevcut bellenimde çalışmıyor - bunu daha önce düzelteceğiz. sonraki sürüm.

9. Adım: Daha Fazlasını Yapmak

Daha Fazlasını Yapmak
Daha Fazlasını Yapmak

Step'in genel bir tanımını yapınHD44780 karakter LCD adaptörü, Bus Pirate için kullanışlı bir aksesuardır. Hızlı bir test veya daha gelişmiş mantık geliştirme için kullanılabilir. LCD'lere ek olarak, sekiz adet 2.5 volt-5 volt I/O pini diğer yüksek pin sayısı Bus Pirate uygulamaları için faydalı olabilir. PCB'ler, kitler, veya Seeed Studio tarafından dünya çapında nakliye dahil olmak üzere yaklaşık 15 $ karşılığında üretilen birleştirilmiş kitler, daha fazlası burada. Bazı biçimlendirme öğelerini ve HTML tablolarını bir Eğitilebilir Tabloya dahil edemedim, orijinal gönderiyi Dangerous Prototypes blogunda görebilirsiniz.

Önerilen: