Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.trGenel KategoriProjeArduino ile C64 klavye kullanma
Sayfa: 1 [2] 3   Aşağı git
Yazdır
Gönderen Konu: Arduino ile C64 klavye kullanma  (Okunma Sayısı 33047 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #15 : Ekim 30, 2015, 23:24:15 ÖS »

Kolay gelsin i_r_on. Sormak istedigim birsey var. Bu matrise standart ps2 klavye controlor chipi taksan nasil olur? Sadece clock data ile cozersin isi. Chip bulamam dersen 5tl ye satilan ucuz klavyelerin bile chipi kullanilabilir?

I/O pin sayısının azalması şu an benim için handikap değil. SPI kullanacağım için zaten boşa bıraktığım 11, 12, 13 pin'leri spi için ortak olacak. Sd için bir CS (9), Ekran için bir CS (10) lazım. RTC I2C kullanıyor onun için arduino üstünde ayrı iki pin var zaten. Geriye 2-3 tane daha analog pin kalıyor istersem kullanacağım.

Yani maceraya girmeye gerek yok Başka ne bağlayabilirim diye düşündüğümde misal elimde bir de ses kayıt devresi var. Onu bağlayabilirim.

Yaptığım şey basit cpu gücü istemeyen işler yapacak. Otantik bir organizer gibi bir şey olacak. Tabii uğraşıp da yazılımını yazabilirsem ve terkedilmiş projeler kervanına katılmaz ise

Başlangıçta bir kaç özellik koyarım içine, zamanla da geliştirim.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.757


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #16 : Ekim 30, 2015, 23:39:35 ÖS »

Tabii uğraşıp da yazılımını yazabilirsem ve terkedilmiş projeler kervanına katılmaz ise

Dikkat et de bitmemiş projelerin hayaleti dadanmasın sana da. Kahkaha

Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #17 : Ekim 31, 2015, 00:23:09 ÖÖ »

Feature set'i bir yerde kesmek lazım yoksa her proje bitmemeye aday

Bu arada ilk mesajı güncelledim. Koda cbm ve shift tuşlarını tanıma ekledim. LCD bağlama kısmına geçebilirim ben. Lanet olası level shifting olayı var. İlk fırsatta shield haline getirmem lazım bunu.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
commander64
Uzman
*****
Mesaj Sayısı: 3.441



Üyelik Bilgileri WWW
« Yanıtla #18 : Ekim 31, 2015, 02:31:37 ÖÖ »

Bildiğin spi rtc var mı? lazım da
Logged

i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #19 : Ekim 31, 2015, 10:16:58 ÖÖ »

Bildiğin spi rtc var mı? lazım da

Aliexpress'te rtc module spi diye aratırsan sonuç getiriyor. Ben alırken i2c yahut spi şeklinde tercih yapmamıştım. Rtc konusunda siftahı yeni yapacağım bu arada.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.757


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #20 : Ekim 31, 2015, 13:49:48 ÖS »

Yeni videoyu linklemeyi unutmuşsun. Kahkaha

Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #21 : Ekim 31, 2015, 14:42:22 ÖS »

Yola çıktığım için link atıp yazamadım. Artık akşam rtc'yi entegre edip işe yarar bir şeyler yaptıktan sonra detaylı yazarım.

Soru işareti kısmı ekrani c64 kasasına zarar vermeden nasıl monte edeceğim.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
ibo1973
Uzman
*****
Mesaj Sayısı: 2.499


Üyelik Bilgileri
« Yanıtla #22 : Ekim 31, 2015, 15:01:32 ÖS »

Yola çıktığım için link atıp yazamadım. Artık akşam rtc'yi entegre edip işe yarar bir şeyler yaptıktan sonra detaylı yazarım.

Soru işareti kısmı ekrani c64 kasasına zarar vermeden nasıl monte edeceğim.


Şunun benzeri çift taraflı bantlarla geçici çözüm olabilir

http://www.avansas.com/scotch-cift-tarafli-tekrar-kullanilabilen-seffaf-kareler-18-adet-25mmx25m.html?utm_source=google-shopping&utm_medium=cpc&utm_campaign=shopping-maskeleme-ve-cift-tarafli-bantlar
Logged
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #23 : Ekim 31, 2015, 21:28:47 ÖS »

Evet ekranı bir case tarzı bir şey içinde paketleyebilirsem yapıştırma iş görebilir. Kablosunu da içeride board olmayacağı için görüntü yahut serial tarafından sallarım içeriye.

Hatta kasanın içi bomboş olacağı için breadboard hali ile bile sallarım devreyi içeriye
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #24 : Kasım 01, 2015, 00:15:18 ÖÖ »

Bu arada devreyi kullanmamda temel bir hata farkettim. Nasıl farkettim? Shift / Control / Cbm tuşları ile beraber bir tuş basılması ile ilgili geliştirmeyi yaptığımda baktım bu tuşlarla aynı sütunda olan tuşlara basıldığında iki tuş bir arada algılanamıyor. Önce çözemedim durumu ancak sonra farkettim.

Ben Output port'unu hep output modunda tutup ilgilenmediğim satırları HIGH, ilgilendiğim satırı LOW ile sürüyordum. Aynı sütundaki iki tuşa denk gelince matriste hangisi üstte ise o satır seçilmemiş olmasa da devreyi tamamladığı için matriste altta olan tuş algılanmıyordu. C64 kod örneklerinde dikkatimden kaçan bir nokta aklıma geldi. Veri yön register'ını da kullanıyordu örnekler. Ben de aynı şekilde arduino'da satır okurken sadece o satır ile ilgili output pin'ini LOW olarak sürüyorum, diğer satırlar için olan pin'leri ise pull-up direnci ile okuma modunda bırakıyorum.

Kodu bu hale getirdiğimde canavar gibi çalıştı

* C64Keyboard.zip (39 KB - Yükleme: 215 kez.)
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #25 : Kasım 01, 2015, 17:19:51 ÖS »

Sıçtık

A4 ve A5 I2C sinyalleri için kullanılıyormuş Ben dedike ayrı pin'ler olduğunu sanıyordum. TFT için SPI pin'leri haricinde DS ve RESET için iki output'a daha ihtiyaç oldu. Ya seri bağlantıdan vazgeçip 0 ve 1 pin'lerini de kullanacağım ya da klavye okuma işini i2c cihaz gibi davranacak ayrı bir arduino ile halledeceğim. Elimde 16kb flash'lı pro mini'ler vardı onlardan kullanabilirim. Seri bağlantı debug vesaire için işe yarıyor o yüzden bundan vazgeçmek çok mantıklı gelmiyor.

Bu zorunluluğun şöyle bir avantajı olacak, klavye okumaya dedike ettiğim bir arduino olduğu için 74165 ve yanında kullandığım pull-up'lara gerek olmayacak ancak çalışan şeye dokunma prensibi gereğince şimdilik ellemeyeceğim. Klavye okuyan kısım kapalı kutu haline geldiği için bunu başka yerlerde de kullanma imkanım olacak ayrıyeten.

İşin zor kısmı, şimdi kurduğum devreyi dağıtıp tekrar kurmak.

Bu arada rtc'yi denedim, sıkıntı yok. A4 hattında TFT'nin reset sinyali vardı, o dağıldı sadece
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
commander64
Uzman
*****
Mesaj Sayısı: 3.441



Üyelik Bilgileri WWW
« Yanıtla #26 : Kasım 02, 2015, 08:32:01 ÖÖ »

Sıçtık

A4 ve A5 I2C sinyalleri için kullanılıyormuş Ben dedike ayrı pin'ler olduğunu sanıyordum. TFT için SPI pin'leri haricinde DS ve RESET için iki output'a daha ihtiyaç oldu. Ya seri bağlantıdan vazgeçip 0 ve 1 pin'lerini de kullanacağım ya da klavye okuma işini i2c cihaz gibi davranacak ayrı bir arduino ile halledeceğim. Elimde 16kb flash'lı pro mini'ler vardı onlardan kullanabilirim. Seri bağlantı debug vesaire için işe yarıyor o yüzden bundan vazgeçmek çok mantıklı gelmiyor.

Bu zorunluluğun şöyle bir avantajı olacak, klavye okumaya dedike ettiğim bir arduino olduğu için 74165 ve yanında kullandığım pull-up'lara gerek olmayacak ancak çalışan şeye dokunma prensibi gereğince şimdilik ellemeyeceğim. Klavye okuyan kısım kapalı kutu haline geldiği için bunu başka yerlerde de kullanma imkanım olacak ayrıyeten.

İşin zor kısmı, şimdi kurduğum devreyi dağıtıp tekrar kurmak.

Bu arada rtc'yi denedim, sıkıntı yok. A4 hattında TFT'nin reset sinyali vardı, o dağıldı sadece
Kütüphaneden i2c pinleri değiştirilebiliyor ayrıca rx, tx pinleri de program atma haricinde giriş çıkış olarak kullanılabiliyor.
Logged

i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #27 : Kasım 02, 2015, 08:56:56 ÖÖ »

Kütüphaneden i2c pinleri değiştirilebiliyor ayrıca rx, tx pinleri de program atma haricinde giriş çıkış olarak kullanılabiliyor.

A4 / A5'i kullanma dediğimde kullanabileceğim başka I/O pin yok zaten. RX / TX'i de normal i/o için kullanmayı tercih etmiyorum zaten.

Hali hazırda bir tane arduino nano'yu slave yaptım i2c ile okuyorum klavyeyi. Şu an RTC / TFT artı klavye okuma kısmı çalışıyor. Ekran editörünü hemen hemen bitirdim. Arduino'nun ram kısıtı dolayısıyla karakterlerin Y eksenindeki boyutunu 2 misli yaptım. Böylece 40 * 12 = 480 karakterlik bir hafızada tüm ekranı tutabiliyorum.

Bir kaç özellik ekleyip paketleyeceğim kasa içine.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.790


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #28 : Kasım 02, 2015, 09:23:06 ÖÖ »

İşi karmaşıklaştırmak istemem. Ancak bu tip bir bellek dar boğazı durumunda harici ram kullanamaz mıyız? 23K256 mesela? Spi üzerinden haberleşiyor.
Logged

i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #29 : Kasım 02, 2015, 10:14:01 ÖÖ »

İşi karmaşıklaştırmak istemem. Ancak bu tip bir bellek dar boğazı durumunda harici ram kullanamaz mıyız? 23K256 mesela? Spi üzerinden haberleşiyor.


Pek tabii kullanılablir, hatta keşke elimde olsaydı bunlardan
Ben i2c eeprom'a niyetlendim ancak baktığımda çok ta pratik bulmadığım için vazgeçtim.

Benim durumumda karakterlerin yüksekliğini iki misline çıkarmak ekranın küçük olmasından dolayı okunabilirliği de arttırdığından şimdilik böyle devam ediyorum. Ram darboğazı yine oluşursa bu çipler düşünülebilir hakikaten. Ya da belki raspberry pi gibi daha güçlü alternatiflere de geçilebilir.

Bu arada normal şartlarda sketch içinde kalan hafıza 1536 byte falandı, 1000 byte'ını ekrana ayırsam sd kart sürmek için yeterli bellek kalmayacaktı.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Sayfa: 1 [2] 3   Yukarı git
Yazdır
Gitmek istediğiniz yer: