Ahududu pi ile lcd ekran kullanma

Bu, Ahududu Pi ile birlikte LCD ekranlar kullanmaya ilişkin çalışmalarımdan bir tanesi. İlk yazımı kontrol etmenizi öneririm, çünkü bu konu üzerine kurulmuştur. PCF8574 ve MCP23008 cips’li LCD Ekranları kontrol etmek için I²C’yi nasıl kullanacağınızı göstereceğim.

PCF8574 kablo sistemi çok basittir. Bir I²C adresini belirtmek için A0 – A2 kullanılır. Her I²C cihazı benzersiz bir adres gerektirir. 3 pimdeki topraklama, onaltılı adres 20’ye eşittir. P0 – P7 temelde Pi’den kontrol edebileceğiniz 8 ek GPIO pimidir. Bu demoda, bu pimlerden 6 tanesi LCD ekranını 4 bit modunda kontrol etmek için kullanılır. RS, Enable ve 4 veri hattını kontrol etmek için herhangi bir 6 pini kullanabilirsiniz. SDA ve SCL, seri veri ve seri saat çizgileridir. PCF8574 üzerindeki SCL ve SDA sırasıyla Pi üzerindeki GPIO2 ve GPIO3’e bağlanır. PCF8574’teki VCC, Pi’nin 3.3V pimlerinden birine bağlanmış ve çipin zemini Pi’nin zeminlerinden birine bağlanmıştır.

Yukarıdaki diyagram PCF8574’e özel bağlantıları göstermektedir. LCD Kontrastı için önceki yazılarıma bakabilirsiniz.

 

Raspbian’ın en son sürümü şimdi I²C’yi kurmayı çok daha kolaylaştırıyor. Tek yazılım gereksinimi I²C arabirimini etkinleştirmektir. Pi’nin menüsünden Tercihler – Ahududu Pi Yapılandırması’nı tıklayın. Arayüzler sekmesini tıklayın ve I²C arabirimini etkinleştirin:

Her şeyin doğru şekilde bağlanıp bağlanmadığını kontrol etmek için i2c detect yardımcı programını kullanabilirsiniz. Son parametre 1, önceki revizyon Pi’lerde 0’a değiştirilmesi gerekebilir. Aşağıdaki grafik, onaltılı adres 20’ye bağlı bir I²C cihazını göstermektedir:

Adafruit’in video sonrası kütüphanelerinde önemli değişiklikler yaptığını lütfen unutmayın. Aşağıdaki kodlar, bu değişiklikleri yansıtacak şekilde güncellendi.

sudo  pip  install  adafruit - charlcd



I²C ile ilgili en iyi şey, yalnızca 2 Pi GPIO iğnesi kullanırken çoklu aygıtları birbirine 
zincirleyebilmenizdir. SDA ve SCL'yi ek cihazlara genişletip güç ve toprak sağlayın. 
Her cihazın eşsiz bir I²C adresi olmalıdır. 

İşte 2 LCD ekranı kontrol etmek için örnek kod. Cihaz için 2. Ada GPIO2 onaltılı adres 21'de
bildirilir. 2. GPIO parametresi için aktarılan 2. LCD ile bildirilir. Şimdi 2 ekran Python'dan
kontrol edilebilir:

dan  Adafruit_CharLCD  ithalat  Adafruit_CharLCD 
ithalat  Adafruit_GPIO.PCF8574  olarak  PCF

GPIO  =  PCF . PCF8574 (adres = 0x20 ) 
GPIO2  =  PCF . PCF8574 (adres = 0x21 )

# LCD'ye bağlı PCF pinlerini tanımlayın. 
lcd_rs         =  4 
lcd_en         =  6 
d4, d5, d6, d7    =  0 , 1 , 2 , 3 
satır, satır sayısı     =  16 , 2

# LCD ekranı 
başlat lcd  =  Adafruit_CharLCD (lcd_rs,  lcd_en,  d4,  d5,  d6,  d7 
                       ,  satır, satır,  gpio = GPIO) 
lcd . açık()

lcd2  =  Adafruit_CharLCD (lcd_rs,  lcd_en,  d4,  d5,  d6,  d7 
                        ,  satır, satır,  gpio = GPIO2) 
lcd2 . açık()

LCD . mesajı ( 'Ahududu Pi \ n   I2C LCD 0x20' ) 
lcd2 . mesajı ( 'LCD Ekran # 2 \ n   I2C LCD 0x21' )

Adafruit Char_LCD kitaplığı, MCP23008 için yerleşik destek içeriyor ve böylece Python kodu 
daha da kolaylaşıyor. Adafruit_MCP230xx sınıfını içeri aktarın ve bir GPIO bildirmek için 
kullanın. Kodun geri kalanı PCF8574 için olduğu gibi kalır.

dan  Adafruit_CharLCD  ithalat  Adafruit_CharLCD 
ithalat  Adafruit_GPIO.MCP230xx  olarak  MCP

GPIO  =  MCP.MCP23008 (adres = 0x20 , alan  no = 1 )

# LCD'ye bağlı PCF pinlerini tanımlayın. 
lcd_rs         =  4 
lcd_en         =  6 
d4, d5, d6, d7    =  0 , 1 , 2 , 3 
satır, satır sayısı     =  16 , 2

# LCD ekranı başlatmak 
lcd  =  Adafruit_CharLCD (lcd_rs,  lcd_en,  d4,  d5,  d6,  d7 
                       ,  satır, satır,  gpio = GPIO) 
lcd.clear () 
lcd.message ( 'Ahududu Pi \ nI2C LCD MCP23008' 
)
Yer işareti koy Kalıcı Bağlantı.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir