Elektrotekno.com Ana Sayfa || Pic ve diğer işlemci ve denetleyiciler ile yapılmış devreler, projeler || Robot projeleri (robot projects)


FPGA ile Sumo robot uygulaması

Açıklama:
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.
Şu an Tamamlanmış Elektronik Devreler, Projeler kategorisi içerisindeki Robot projeleri (robot projects) forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "Çizgi İzleyen Robot Projesi [test ettim]" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.
Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!
Kayıt: 06 Şub 2006
Mesajlar: 22

Offline
egemenak
Tarih: 07 07 2008 16:09

Slm arkadaşlar ekte xilinx spartan 3e fpga' i ile yapmış olduğum sumo robot uygulamasını bulabilirsiniz. Uygulama için gereken bütün dosyalar ekte mevcuttur.

--------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity SSMACH2 is
port (sh,solcny,sagcny :in std_logic; -- system input to start the system
solmi,solmg,sagmi,sagmg:out std_logic; -- system output
clk, reset : in std_logic); -- clock and reset inputs
end SSMACH2;
-- purpose: Implement main architecture for SSMACH2
architecture BEHAVIOR of SSMACH2 is
type STATES is (ilkhareket,solgeridon,duzgit,saggeridon,wait1,wait2,wait3,wait4,solgeridon2,solgeridon3,saggeridon2,saggeridon3); -- possible states
signal PRESENT_STATE : STATES; -- present state
signal x,y,z,a:integer;
begin -- BEHAVIOR
-- purpose: Main process
process (clk, reset)
begin -- process

-- activities triggered by asynchronous reset (active high)
if reset = '1' then
PRESENT_STATE <= ilkhareket; -- default state
solmi<='0';
solmg<='1';
sagmi<='1';
sagmg<='0';
-- activities triggered by rising edge of clock
elsif clk'event and clk = '1' then

PRESENT_STATE <= ilkhareket; -- default state
case PRESENT_STATE is

when ilkhareket =>
solmi<='0';
solmg<='1';
sagmi<='1';
sagmg<='0';
if sh='1' and solcny='1' and sagcny='1' then PRESENT_STATE<= duzgit;
elsif sh='1' and solcny='1' and sagcny='0' then PRESENT_STATE<= saggeridon;
elsif sh='1' and solcny='0' and sagcny='0' then PRESENT_STATE<= saggeridon;
elsif sh='0' and solcny='1' and sagcny='0' then PRESENT_STATE<= saggeridon;
elsif sh='0' and solcny='0' and sagcny='0' then PRESENT_STATE<= saggeridon;
elsif sh='1' and solcny='0' and sagcny='1' then PRESENT_STATE<=solgeridon;
elsif sh='0' and solcny='0' and sagcny='1' then PRESENT_STATE<=solgeridon;
elsif sh='0' and solcny='1' and sagcny='1' then PRESENT_STATE<= ilkhareket;
end if;

when duzgit =>
solmi<='1';
solmg<='0';
sagmi<='1';
sagmg<='0';
if sh='1' and solcny='1' and sagcny='1' then PRESENT_STATE<= duzgit;
else PRESENT_STATE<= ilkhareket;
end if;

when solgeridon =>
solmi<= '0';
solmg<= '1';
sagmi<= '0';
sagmg<= '1';
x<=25000000;
PRESENT_STATE<= wait1;
--wait for 1000ms;

when solgeridon2=>
solmi <= '0';
solmg <= '1';
sagmi <= '0';
sagmg <= '0';
y<=12500000;
PRESENT_STATE<= wait2;
--wait for 500ms;

when solgeridon3=>
if sh='1' and solcny='0' and sagcny='1' then PRESENT_STATE<=solgeridon;
elsif sh='0' and solcny='0' and sagcny='1' then PRESENT_STATE<=solgeridon;
else PRESENT_STATE<= ilkhareket;
end if;

when saggeridon=>

solmi<='0';
solmg<='1';
sagmi<='0';
sagmg<='1';
z<=25000000;
PRESENT_STATE<= wait3;
--wait for 1000ms;
when saggeridon2=>
solmi<='0';
solmg<='0';
sagmi<='0';
sagmg<='1';
a<=12500000;
PRESENT_STATE<= wait4;
--wait for 500ms;

When saggeridon3=>
if sh='1' and solcny='1' and sagcny='0' then PRESENT_STATE<= saggeridon;
elsif sh='1' and solcny='0' and sagcny='0' then PRESENT_STATE<= saggeridon;
elsif sh='0' and solcny='1' and sagcny='0' then PRESENT_STATE<= saggeridon;
elsif sh='0' and solcny='0' and sagcny='0' then PRESENT_STATE<= saggeridon;
else PRESENT_STATE<= ilkhareket ;
end if;

When wait1=>
if (x>0) then
x<=x-1;
PRESENT_STATE<= wait1;
else PRESENT_STATE<= solgeridon2;
end if;
When wait2=>
if(y>0) then
y<=y-1;
PRESENT_STATE<= wait2;
else PRESENT_STATE<= solgeridon3;
end if;
When wait3=>
if (z>0) then
z<=z-1;
PRESENT_STATE<= wait3;
else PRESENT_STATE<= saggeridon2;
end if;

When wait4=>
if (a>0) then
a<=a-1;
PRESENT_STATE<= wait4;
else PRESENT_STATE<= saggeridon3;
end if;
end case;
end if;
end process;
end BEHAVIOR;

10 Kullanıcı bu konu için Bozgan arkadaşımıza teşekkür ettiler

Kayıt: 28 Arl 2008
Mesajlar: 7

Offline
ersa1905
Tarih: 28 12 2008 03:12

merhaba


merhaba abi ben sapartan 3E ileilgili ödev aldım.üniversite öğrencisiyim...bana bu konuda yardımcı olursan sevinirim...bir tane uygulama yapmam lazıım
Başa dön



FPGA ile Sumo robot uygulaması


Benzer Konular

- RF Kontrollü Kameralı Robot Projesi

- IEEE 802.11a Matlab uygulaması
- matlab'da ofdm uygulaması
- şifreLi kapı kiLidi ve muLtipLexer de muLtipLexer uyguLaması
- robot kasası için yardım!!!
- at89c52 ile yapılan yürüyen ışık uygulaması
- pıc16f84a ile pwm uygulaması
- Robot Kol Projem
- LCD Bar uygulaması

- Çizgi izleyen robot yardımı

- lcd yazı uygulaması 16f84

Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar varsa iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Türkiye | Ads by Google Adsense | Design by Crazy Bat based
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72