Picproje Elektronik Sitesi

DİJİTAL & ANALOG ELEKTRONİK => Pld, Spld, Pal, Gal, Cpld, Fpga => Konuyu başlatan: muuzoo - 16 Kasım 2015, 16:33:38

Başlık: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: muuzoo - 16 Kasım 2015, 16:33:38
Bir butona "n" kez basıldığında bir ledi "n" kez yakıp söndüren tasarımı gerçekleştiriniz. Tasarım karta yüklendiğinde butona basılmasını bekleyecek, "n" adet basımdan sonra da "n" adet led yak-söndür safhasına geçecektir. Led yak-söndür işleminden sonra tekrar buton basılmasını bekleyecek ve aynı işlemleri tekrarlayacaktır.

Kolay gelsin  :)

İpucu-1: Temelde iki durumumuz var. Butona basıldı mı ve kaç kez basıldı durumu, diğeri ise butona basma sayısı 0 dan büyük ve buton zaman aşımı oluşmuş durumu.

İpucu-2: Zaman aşımını ayarlamak için daha önceki ödevlerde verilen frekans bölme işleminden faydalanabilirsiniz.
Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: mufitsozen - 16 Kasım 2015, 17:01:08
Alıntı yapılan: muuzoo - 16 Kasım 2015, 16:33:38
Bir butona "n" kez basıldığında bir ledi "n" kez yakıp söndüren tasarımı gerçekleştiriniz. Tasarım karta yüklendiğinde butona basılmasını bekleyecek, "n" adet basımdan sonra da "n" adet led yak-söndür safhasına geçecektir. Led yak-söndür işleminden sonra tekrar buton basılmasını bekleyecek ve aynı işlemleri tekrarlayacaktır.

Kolay gelsin  :)

Ben yaptim bitirdim bile, Sizede kolay gelsin!  :)
Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: muuzoo - 16 Kasım 2015, 18:07:22
Alıntı yapılan: mufitsozen - 16 Kasım 2015, 17:01:08
Ben yaptim bitirdim bile, Sizede kolay gelsin!  :)


Hızlısınız hocam :D
Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: MC_Skywalker - 28 Kasım 2015, 14:44:27
Ben bu soruyu çözemedim. daha doğrusu çözüm için nasıl bir algotirma çıkartacağım anlamadım.
sanırım basit bir Sonlu Durum makinası dersine ihtiyacım var.
Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: z - 28 Kasım 2015, 14:53:02
Buton ile ledi seri bağlamak yetiyor.
Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: MC_Skywalker - 28 Kasım 2015, 21:39:53
seri bağlayınca böyle oluyor


----------------------------------------------------------------------------------

-- Engineer: MC_Skywalker

-- Create Date: 18.09.2015 19:18:49

-- Module Name: Switch_Controlled_Leds - Behavioral

-- Project Name: Anahtar Kontröllü LED

-- Target Devices: XC7A35T-1

-- Tool Versions: Vivado 2015.3

-- Description: Diglent sitesindeki Verilog örneklerinin VHDL ile Gerçeklenmesi

--

-- Revision 0.01 - File Created

-- Revision 0.02 - Vivado 2015.3 update

----------------------------------------------------------------------------------


library IEEE;

use IEEE.STD_LOGIC_1164.ALL;


entity Switch_Controlled_Leds is
   
Port ( SW0 : in STD_LOGIC;
           
LED0 : out STD_LOGIC);

end Switch_Controlled_Leds;



architecture Behavioral of Switch_Controlled_Leds is


begin
     Process (SW0)
       
           
begin
           
case SW0 is
               
when '0'  =>  LED0 <= '0';
               
when '1'  =>  LED0 <= '1';
               
when others =>  LED0 <= '0';
           
end case;   
       
end Process;     

end Behavioral;

Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: M.Salim GÜLLÜCE - 28 Kasım 2015, 22:34:22
Alıntı yapılan: MC_Skywalker - 28 Kasım 2015, 21:39:53
seri bağlayınca böyle oluyor


----------------------------------------------------------------------------------

-- Engineer: MC_Skywalker

-- Create Date: 18.09.2015 19:18:49

-- Module Name: Switch_Controlled_Leds - Behavioral

-- Project Name: Anahtar Kontröllü LED

-- Target Devices: XC7A35T-1

-- Tool Versions: Vivado 2015.3

-- Description: Diglent sitesindeki Verilog örneklerinin VHDL ile Gerçeklenmesi

--

-- Revision 0.01 - File Created

-- Revision 0.02 - Vivado 2015.3 update

----------------------------------------------------------------------------------


library IEEE;

use IEEE.STD_LOGIC_1164.ALL;


entity Switch_Controlled_Leds is
   
Port ( SW0 : in STD_LOGIC;
           
LED0 : out STD_LOGIC);

end Switch_Controlled_Leds;



architecture Behavioral of Switch_Controlled_Leds is


begin
     Process (SW0)
       
           
begin
           
case SW0 is
               
when '0'  =>  LED0 <= '0';
               
when '1'  =>  LED0 <= '1';
               
when others =>  LED0 <= '0';
           
end case;   
       
end Process;     

end Behavioral;


Muzoonun kafası iyice karışmıştır :)
Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: MC_Skywalker - 28 Kasım 2015, 22:54:11
bu ödevin cevabı değil sayın z'nin tavsiyesi üzerine paylaştım
Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: Firzen - 29 Kasım 2015, 00:15:20
Bu ödev Buton Debounce işlemi değil mi?
Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: MC_Skywalker - 29 Kasım 2015, 08:45:19
Ben başka şey anladım debonuce ise durum başka. sanırım aşağıdaki gibi birşey



(http://s11.postimg.cc/aft7z1fdb/debonuce.jpg) (http://postimg.cc/image/aft7z1fdb/)
Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: muuzoo - 29 Kasım 2015, 11:43:27
Bir yanlış anlaşılmayı düzeltmek istiyorum. @mufitsozen hocamın mesajını onun espirili mesajlarından biri diye düşünmüştüm ama @Mehmet Salim GÜLLÜCE 'nin de msejaını görünce anladım ki ödevine-projesine çözüm isteyen biri zannedilmişim.

Geçenlerde gerçekleştirilen FPGA eğitimini @alicavuslu ve ben beraber verdik. O yüzden benim bu sorunun çözümüne zaten ihtiyacım yok. Eğitimde ara ara bu tarz ödevler verelim FPGA ile uğraşanlar için beyin jimnastiği olur diye konuşulmuştu. İlk iki ödevi de @alicavuslu zaten konu altına yazmıştı. Ben de onun başlık formatında 3. bir ödev yazdım olay bu sadece.

@z hocam sadece butona basınca led yansın bırakınca sönsün değil uygulamanın amacı, o yüzden seri bağlantı işe yaramaz.

@Firzen "debounce" işlemi bu tasarımda kullanılacak şeylerden biri sadece ama senaryonun tamamını karşılamıyor.
@MC_Skywalker "debounce" bu tasarımın buton okuma kısmında kullanılmalı.

Tasarım senaryosu şu şekilde:

1) Butona kaç kere basıldığı sayılacak.
2) Butona basma işlemi bittikten sonra (Burada bir timeout belirlemeniz gerekiyor. Örn: 5 sn süresince butona basılmazsa. Ve her buton basışı timeout değerini başa döndürmeli)
3) Sayılan basma sayısı kadar ledler 1 saniye (0.5 saniye de olabilir size kalmış süre) aralıkla yanıp sönecek. (Örneğin 3 kere bastı isek 3 kere yanıp sönecek)
4) Tekrar 1. adıma geri dönülecek.
Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: MC_Skywalker - 29 Kasım 2015, 11:58:15
Tamam soru benim anladığım gibiymiş 😀
Başlık: Ynt: Ödev 3 : Buton Sayma - Led Yakma
Gönderen: M.Salim GÜLLÜCE - 29 Kasım 2015, 17:58:45
Vallaa bende öyle anladım ama espiriyle karışık gitti olay.
Ancak hakkaten ödev isteyen biri zannettiğimi de eklemeliyim.

Aslında bu tür problemleri Başka bir başlık altında belirli kişilerin düzenlemesinde fayda war sanırım.
Konuda beyin cimnastiği yapmak isteyenlerde cevaplarını verirler.
Forumun öyle bir köşesi varmı tabiiki bilmiyorum. :)