Merhaba arkadaşlar
Ben Talha. Adanalıyım ve Elektrik-elektronik 4. sınıf öğrencisiyim. Arkadaşlarımın önerisiyle steemit'i keşfettim ve bende kaydoldum. Burada gerek kendi hobilerim gerekse okulda öğrendiğim faydalı ve ilgisini çekebilecek arkadaşlar için başlangıç olabilecek yazılar yazmak istiyorum. henüz yeni olduğum için olaylara pek hakim değilim ama zamanla olacağıma eminim. ilk olarak geçen hafta okulda labaratuar dersimiz için hazırladığım projeyi paylaşmak istedim. Umarım beğenirsiniz.
hello everyone
today we will see how to make this simple game with logic gates. we use 2 different application. these are Xilinx and digilent adept. also, we need basys 2 to check our results. Firstly we need to assign each situation to binary numbers.
We have 5 situations so 3bit is enough for us. We assign them between 001 and 101. Now let's see win-lose conditions.
Now we have to make a truth table according to these conditions. then we use k'map to transform it logic.
The truth table which is showing 64 different conditions because we use 3bits and we can show 0 to 7 with it. It means there are 8x8 different situations. Before the next step if you something miss about it you can ask me in comments or send me email. now we have truth table so its time to use k'map.
There are two different k'maps because one of them shows the first player winnings the other one shows second player winnings. Now we obtain what we need. we draw the circuit in xilinx which is look like
We draw both of the k'map results. now we can customize the circuit how we want. We can add counters so we can count numbers of winning each player. The counter will be like
now its time to assign code to each input and output. We can use basys 2 which with these codes. Then we save all the files. Time to open Adept and run the program. The Basys 2 looks like
For example first 6 pins represent our inputs, 3 for one and the other 3 for second player. and the 8 lights represent the our counters, 4 for one and the next 4 lights represent second player. Don't forget we use binary numbers in the project. now if we make the firts player 001 and second one 010. then the lights will be show who is the winner. if we play it 3 times and the result is 2-1. the lights shows us it in binary so it will be 0010 and 0001 in the lights.
Thanks for reading my first project. It is not perfect but i hope it helps you. if there is any questions ask me in comments or email me.
Have fun.
[email protected]
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Merhaba arkadaşlar
Bugün taş kağıt makas oyunu xilinx üzerinde logic gatelerle yapmayı göstereceğim.bunu yapmak için ayrıca digilent adept programı ve basys 2 ' ye ihtiyacımız var. ilk olarak her bir hamleyi 2'lik sistemde bi sayıya atıcaz. toplam 5 farklı hamlemiz olduğu için 3bit'lik sistem bizim için yeterli olacaktır. ilk olarak kazanma-kaybetme koşullarına bakalım.
Şimdi ise bu durumların truth table ını oluşturup k'map kullanarak istediğimiz logic devresi haline getirecez.
5x5 durum olmasına rağmen 64 farklı sonucu incelememizin sebebi 3bitlik sistem kullanmamız ve 3bitlik sistemde 8 farklı sayıyı input olarak girebiliyor olmamız yani aslında durumumuz 8x8 oluyor bu yüzden. ama asıl hamlelerimiz dışında girilen sayılar için sonucu 0 atayacağımızdan o durumda bir değişiklik olmayacak ve devremizi zorlaştırmayacak. Şimdi k'map ile devreyi oluşturma zamanı.
biz bu projede k'map ile zaman kaybetmemek için program yardımıyla k'map sonuçlarını hazır aldık. şimdi 2 farklı k'map devremiz var bunun sebebi de her biri bir oyuncunun kazanma ihtimalini söylüyor. basitce bu devreyi xilinx de çizersek de aşağıdaki gibi gözükecek.
Buradan sonra devremizi istediğimiz gibi özelleştirebiliriz. biz bugün sonuna sayaç ekleyerek oyuncuların kaç kez kazandığını sayacaz ve yüksek puan kimdeyse onu görmüş olacaz. bunun için de JK flip-floplarından yardım alacaz. Sayaçlarımız da bu şekilde gözükecek.
Devreyi tamamladıktan sonra input ve outputları Basys 2 deki gerekli yerlere atamamız gerekiyor. bunu da basit bir kod yardımıyla yapıyoruz. Basys 2 ye bu devreyi ve kodu aktarmak için de Adept programını kullanıyoruz. Herşeyi kaydettikten sonra adept i çalıştırıp Basys 2 ye yüklüyoruz dosyayı.
Basys 2
En altta N3 E2 diye isimlenmiş olan anahtarlar bizim input girişlerimiz. ilk 3 ü birinci oyuncu için ikinci 3'lü ikinci oyuncu için. hemen üstündeki lambalar da oyuncularımızın puanını göstercek. 4bit üzerinden gösterecez oyuncularımızın sonuçlarını. yani ilk 4 ışık 1. oyuncu için diğer 4 ışık 2. oyuncu için olacak.
Artık oyuna başlayabiliriz. Oyunculardan biri 001 ve diğeri 010 girebilir. bunlar taş ve kağıdı temsil ediyor. bu durumda kağıtı oynayan oyuncu kazanır ve onun taraftaki sayac yanmaya başlar. son olarak sayaçlarımız da 2'lik sistemde çalışmaktadır. bunun anlamı 3. elde oyun 2-1 olduysa sayaçlardan biri 0001 ve diğeri 0010 şeklinde olacaktır.
Projeyi okuduğunuz için teşekkürler.
Proje ile ilgili herhangi bir soru için aşağıda yorum yazabilirsiniz veya bana mail atabilirsiniz.
iyi çalışmalar herkese
[email protected]
Çok bilgilendirici bir yazı olmuş kardeşim ellerine sağlık helal olsun <3