Elektronik Dart Oyunu

Başlatan Yusuf usta, 13 Temmuz 2015, 17:39:31

Yusuf usta

Evet, geldik şimdi süper bir çalışmaya...

Kısaca bir dart yapacağız işte, bildiğiniz dart... hani ok atıp puan aldığınız şu meşhur ok oyunu... ama bu dart çok basit bir şekilde dokunmatik tasarlanmış ve digital göstergelerde iki oyuncunun attığı okların değdiği puanı otomatik ve sırayla topluyor...

Hemen işe girişelim...




16F876 kodları:
:020000040000FA
:100000005A28A301A200FF30A207031CA307031C68
:1000100055280330A100DF300F200328A101E83E5E
:10002000A000A109FC30031C1828A00703181528FC
:10003000A0076400A10F152820181E28A01C222844
:10004000000022280800A501A4011030A600210DFF
:10005000A40DA50D2208A4022308031C230FA5024A
:10006000031839282208A40723080318230FA5071B
:100070000310A00DA10DA60B27282008552810302D
:10008000A800A101A001A70CA60C031C4D28220862
:10009000A00723080318230FA107A10CA00CA50C8F
:1000A000A40CA80B43282408552883130313831298
:1000B00064000800831607309F00860187018312C1
:1000C0008701FF308600C901D201C8018A110A12D6
:1000D000A0208A110A121E2107170508D300640008
:1000E000113053028A110A12031C78281030D302EF
:1000F00064000508003C8A110A1203199A28871720
:1001000064004908003C8A110A12031D9128530813
:10011000D2078A110A12A0200130C9008A110A12DE
:1001200097285308C8078A110A121E21C9018A118B
:100130000A129B2887130A308A0101208A016C2841
:1001400064000A3052028A110A120318AB28CA014D
:10015000CB015208CC006400643052028A110A12AA
:100160000318CF285208A000A1010A30A200A30161
:100170008A012320C7004708A600A7010A30A20071
:10018000A3018A013F20D40054085202C600CA01CC
:100190004708CB004608CC008A110A12FF285208F3
:1001A000A000A1016430A200A3018A012320D7008E
:1001B0005708A600A7016430A200A3018A013F20CE
:1001C000D50055085202D4005408A000A1010A30FD
:1001D000A200A3018A012320C7004708A600A701A7
:1001E0000A30A200A3018A013F20D600560854021B
:1001F000C6005708CA004708CB004608CC004A088A
:10020000D0000130D1008A110A129C2132308A01BB
:1002100001204B08D0000230D1008A110A129C2123
:1002200032308A0101204C08D0000330D1008A11FD
:100230000A129C2132308A010120080064000A3031
:1002400048028A110A1203182929CD01CE01480853
:10025000CF006400643048028A110A1203184D2945
:100260004808A000A1010A30A200A3018A012320AE
:10027000C7004708A600A7010A30A200A3018A010F
:100280003F20D40054084802C600CD014708CE00E4
:100290004608CF008A110A127D294808A000A10152
:1002A0006430A200A3018A012320D7005708A600CA
:1002B000A7016430A200A3018A013F20D5005508A0
:1002C0004802D4005408A000A1010A30A200A301F2
:1002D0008A012320C7004708A600A7010A30A20010
:1002E000A3018A013F20D60056085402C6005708D1
:1002F000CD004708CE004608CF004D08D00004309E
:10030000D1008A110A129C2132308A0101204E0844
:10031000D0000530D1008A110A129C2132308A01A6
:1003200001204F08D0000630D1008A110A129C210A
:1003300032308A010120080064005108013C8A1112
:100340000A12031DAC290710871407158715071615
:1003500087168A110A12F92964005108023C8A1191
:100360000A12031DBC2907148710071587150716E5
:1003700087168A110A12F92964005108033C8A1170
:100380000A12031DCC2907148714071187150716B5
:1003900087168A110A12F92964005108043C8A114F
:1003A0000A12031DDC290714871407158711071685
:1003B00087168A110A12F92964005108053C8A112E
:1003C0000A12031DEC290714871407158715071255
:1003D00087168A110A12F92964005108063C8A110D
:1003E0000A12031DF9290714871407158715071624
:1003F000871214308A01012064005008003C8A11E1
:100400000A12031D0A2A06108610061186118A1187
:100410000A12852A64005008013C8A110A12031D41
:10042000182A06148610061186118A110A12852AC6
:1004300064005008023C8A110A12031D262A061085
:100440008614061186118A110A12852A6400500842
:10045000033C8A110A12031D342A0614861406115D
:1004600086118A110A12852A64005008043C8A11F8
:100470000A12031D422A06108610061586118A11DB
:100480000A12852A64005008053C8A110A12031DCD
:10049000502A06148610061586118A110A12852A1A
:1004A00064005008063C8A110A12031D5E2A0610D9
:1004B0008614061586118A110A12852A64005008CE
:1004C000073C8A110A12031D6C2A061486140615AD
:1004D00086118A110A12852A64005008083C8A1184
:1004E0000A12031D7A2A06108610061186158A1133
:1004F0000A12852A64005008093C8A110A12031D59
:0C050000852A06148610061186150800D6
:02400E007D3FF4
:00000001FF

16F877 kodları:

:020000040000FA
:100000002828A301A200FF30A207031CA307031C9A
:1000100023280330A100DF300F200328A101E83E90
:10002000A000A109FC30031C1828A00703181528FC
:10003000A0076400A10F152820181E28A01C222844
:1000400000002228080083130313831264000800B1
:10005000831607309F00850183120130A300F4301E
:100060008A010220C60164008A110A1206183D287E
:1000700096308A0101200130C60064008A110A12FC
:100080008618472896308A0101200230C600640095
:100090008A110A120619512896308A01012003306C
:1000A000C60064008A110A1286195B2896308A01FC
:1000B00001200430C60064008A110A12061A65285D
:1000C00096308A0101200530C60064008A110A12A8
:1000D000861A6F2896308A0101200630C600640017
:1000E0008A110A12061B792896308A0101200730EE
:1000F000C60064008A110A12861B832896308A0182
:1001000001200830C60064008A110A1207188D28E1
:1001100096308A0101200930C60064008A110A1253
:100120008718972896308A0101200A30C60064009B
:100130008A110A120719A12896308A0101200B3072
:10014000C60064008A110A128719AB2896308A010A
:1001500001200C30C60064008A110A12071AB52863
:1001600096308A0101200D30C60064008A110A12FF
:10017000871ABF2896308A0101200E30C60064001D
:100180008A110A12071BC92896308A0101200F30F4
:10019000C60064008A110A12871BD32896308A0190
:1001A00001202030C60064008A110A120818DD28D8
:1001B00096308A0101202130C60064008A110A129B
:1001C0008818E72896308A0101202230C600640092
:1001D0008A110A120819F12896308A010120233069
:1001E000C60064008A110A128819FB2896308A0119
:1001F00001202430C60064008A110A12081A052959
:1002000096308A0101202530C60064008A110A1246
:10021000881A0F2996308A0101202630C600640012
:100220008A110A12081B192996308A0101202730E9
:10023000C60064008A110A12881B232996308A019D
:1002400001202830C6004608850064308A0101205C
:040250008A013228C5
:02400E00753FFC
:00000001FF




Dart devremizi monte etmeye başlıyoruz.
Görüldüğü gibi mikro denetleyicileri soketlerine proglarını yükledikten sonra taktık.
Kartın en altında görülen 10 kilo ohm dirençler, 16 f877 portlarını lojik 1 yani 5voltta tutmaya yarayan pull-up dirençleridir.

Butonlar, yani dart dilimlerinden gelen eksi voltaj ile girişler lojik 0 olacak ve o porta atanan sayısal değer 16f 876 mikro denetleyicisinden display'lere gönderilecektir.

Her iki mikro denetleyicinin de kristalleri 4 MHz'dir.

Devrede bulunan pull-up dirençlerinin değerleri yeterli olmasına rağmen biz kartın altından paralel olarak 1K direnç bağladık. Bunun sebebi dart dilimlerine uzattığımız kabloların bir şekilde 10k ile sağladığımız lojik dengelemeyi bozuyor oluşuydu. Butonların bazıları kendiliğinden basılıyordu. 1K ile desteklediğimiz zaman bu problem düzeldi.

 


Devredeki kırmızı led devamlı yanarak sistemin sorunsuz çalıştığını gösterirken, her bıtona basılışta, yani dart dilimine basıldığında yeşil led bir kez flash yapar.

7805 gerilim regülatör entegresinin devredeki güç tüketimini karşılamasına rağmen aşırı derecede ısınmasına önlem olarak bir alüminyum soğutucu vidalayarak sorunu çözdük.

Devrede 4511 entegrelerinden hangisini o anda çalıştıracaksa onun 5 numaralı pinine işlemci yani 16f876 sinyal yollayarak aktif eder.

4511 entegrelerinin paralel bağlı olan data girişleri 1-2-6 ve 7 numaralı pinlerini de kart üzerinden 5 numaralı pinlerde olduğu gibi kablo ile taşıdık.




Şimdi sıra dartın mekanik bölümüne geldi

Resimde görüldüğü gibi mantar plakayı dilimler halinde keserek 10 adet dilim oluşturduk. Ortaya da merkez dilimi yerleştirerek 11 adet dilim elde ettik.

Bu dilimlerin arkalarını alüminyum bant ile kapladık. Her dilime yine alüminyum bant ile bir kablo parçası tutturduk.

Bu işlem oldukça hassas bir işlemdi.
Alüminyum folyo bantların taşmaması gerekiyor, yükselti olmayacak şekilde düzgün olması gerekiyordu.

Bu eklediğimiz kabloları işimiz bitince birleştirip eksi uca bağlayacağız. Ve dartın alt zeminine yapıştıracağımız, her dilime denk gelen yine alüminyum folyo bantla yapacağımız yüzeye değdiklerinde tıpkı bir buton gibi çalışmalarını sağlayarak 16f877 entegresinin portlarındaki lojik durumu 0 yaparak numaralarımızın led display'den görülmesini sağlayacağız.




resimde dart dilimlerinin darbe aldığında çarpacağı alt yüzeyi görüyoruz.
Resimde şeffaf bir plexiglass üzerine yapıştırılmış alüminyum kesitler görülmektedir.
Bu dilimlerin her birinden sabit bir kablo çıkışı alarak, elektronik karttaki numaralardan dilediğimize bağlıyoruz. Biz bu çalışmada çift rakamları tercih ettik. 2-4-6-8-10-12-14-16-18-20 ve ortadaki yuvarlak dilime de en yüksek rakam olan 24 sayısını atayarak işimizi bitirdik.

Sistemin kısaca işleyişi şu şekildedir:
16f877 portlarından her biri lojik durumu 0 olduğunda yazılımla kendisine atanan 1 ile 24 arasındaki sayı değerini 16f876'ya gönderir. 16f876 ise her gelen sayı değerini binary Decimal kodla (BCD) çıkış yapar.

Bu üç basamaklı bcd kodları aynı portlardan çıkarıp 4511 bcd to seven segment converter ile 7 segment sayıya dönüştürürken, aynı anda tarama işlemi yapmakta, sırası ile 5 numaralı pinlerden her display'i ayrı ayrı enable-disable yapmaktadır.

Bu rakamları led göstergelere gönderirken, ilk  gelen rakamı sol göstergeye, ikinci geleni ise sağ göstergeye yerleştirmekteyiz. Ve aynı zamanda her gelen rakamı bir önceki ile topluyor, böylece skorbordumuzun çalışmasını sağlamış oluyoruz.







Alt yüzü folyo ile kaplı olan mantar dilimleri, yine alt tarafta folyo kaplı tabana tutturulurken çift yüzü yapışkan olan nalburlarda satılan silikon bantlar var,  o bantlardan kullanın. hem gereği kadar yüksekte tutuyor hem de sağlam bir yapışma ve esneme sağlıyor.
Mühendislik Diplomayla olmaz. İnsanı adam eden, bilgi değil görgüdür.

Yusuf usta

#1
devreleri yapacak olanlara çizim dosyalarını yollayabilirim. kod ve saire ne lazımsa çekinmeyin. Yaptığımız devrelerin kodları firmamızca yazılmıştır. yayın çoğaltın ne yaparsanız yapın. yok emeğe saygıydı yok benim adım anılmadıydı bilmem ne kaprisleri bizde yok. varını veren utanmaz. bazı projelerde kullandığım çizgi izleyen kodları ve rf verici alıcı kodları bize ait değildir. onlar için bir şey diyemem. ama faydanlanmanızı istemese paylaşmazdılar, ticarete dökmedikten sonra işi sorun yok.
Mühendislik Diplomayla olmaz. İnsanı adam eden, bilgi değil görgüdür.

harmy_tr

#2
Yusuf usta selamlar. Paylaşım gerçekten çok güzel ve yararlı olmuş, teşekkürler. Konuyla da ilgili bir e-mail attım bilginize...

Yusuf usta

#3
Alıntı yapılan: harmy_tr - 19 Aralık 2015, 17:38:27Yusuf usta selamlar. Paylaşım gerçekten çok güzel ve yararlı olmuş, teşekkürler. Konuyla da ilgili bir e-mail attım bilginize...
mailinize cevap yazdıktan sonra gördüm ki burada çizim dosyası falan paylaşmamışım. size ayrıntılı dosyaları mail atacağım hafta başında.
Mühendislik Diplomayla olmaz. İnsanı adam eden, bilgi değil görgüdür.


Yusuf usta

ekteki dosyayı indirin, diğer dosyalar yükleme limiti nedeni ile bir sonraki iletide...
Mühendislik Diplomayla olmaz. İnsanı adam eden, bilgi değil görgüdür.

Yusuf usta

Mühendislik Diplomayla olmaz. İnsanı adam eden, bilgi değil görgüdür.

Yusuf usta

bu ileti ekinde yazılım kodları ve resimli açıklama var.

ares isis bir sonraki iletide olacak.
Mühendislik Diplomayla olmaz. İnsanı adam eden, bilgi değil görgüdür.

Yusuf usta

Mühendislik Diplomayla olmaz. İnsanı adam eden, bilgi değil görgüdür.


Hızlı Yanıt

Not: Bu konu bir moderatör tarafından onaylanmadan görüntülenmeyecektir.

Adı:
E-Posta:
Doğrulama:
Lütfen bu kutuyu boş bırakın:
IRFP250 Nedir:
kısayollar: göndermek için alt+s veya önizleme yapmak için alt+p'ye basın