Mündəricat:
- Addım 1: Taymer
- Addım 2: Düymə Optimizasiyası
- Addım 3: LED
- Addım 4: Üst Fayl
- Addım 5: Məhdudiyyətlər Dosyası
- Addım 6: PIR Hərəkət Sensorunun Bağlanması
- Addım 7: Çörək lövhəsindəki LED -in bağlanması
- Addım 8: Basys Board Əlaqələri
Video: Hərəkət Sensorlu LED: 8 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Fon:
Dərsə və ya işə getməzdən əvvəl və ya yatmazdan əvvəl işığı söndürməyi heç unutmusunuz? İstifadə etmədiyiniz zaman işıqların yandığı bu saat həqiqətən xərc və enerji itkisinə səbəb ola bilər. Məsələn, solarcity.com saytına görə, bir həftə ərzində bütün gecə işıqları yandırmaq elektrik hesabınıza 25 dollar əlavə edə bilər! CPE133 layihəmiz üçün insanların evlərində enerjiyə qənaət etmələrinə və işıqlarından səmərəli istifadə etmələrinə kömək etmək üçün hərəkət sensoru işığı dizayn edirik.
Sistemimiz praktik olaraq:
Təcrübədə, işıqlar yalnız bir otaqdakı hərəkəti algıladığında yanar. Sonra işıqlar təxminən 30 dəqiqə kimi müəyyən bir müddət yanacaq və sonra avtomatik olaraq sönəcək. Ancaq deyək ki, müəyyən bir müddət bitməmiş sadəcə içəri keçirdiniz və ya otaqdan erkən çıxmaq istədiniz. Bu hallarda, işıqları əl ilə yandırıb söndürə biləcəyiniz bir düymə quraşdırdıq. Nəzərə alın ki, işıqlar əl ilə və ya avtomatik açıldıqda belə (işıqlar əl ilə söndürülməsə) 30 dəqiqə yanacaq.
Gəmidə simulyasiya:
Taymeri işlədiyini görmək üçün taymeri 1 dəqiqəyə dəyişdik.
Materiallar:
- 1 Basys board (burada Digilent -dən tapa bilərsiniz)
- 1 PIR hərəkət sensoru (Amazon -da tapa bilərsiniz)
- 1 çörək taxtası və dəsti (bunu Amazon -dan istifadə etməyi təklif edirik)
-
Yuxarıdakı dəstdən
- 1 LED
- 3 dişi -kişi tullanan kabel
- 6 kişidən kişiyə keçid kabelləri
Addım 1: Taymer
LED -in 1 dəqiqə yanması üçün əvvəlcə bir taymer yaratmalıyıq. Basys 3 lövhəsi 100 MHz daxili tezliyə malikdir və beləliklə 1 milyon saniyəyə bərabər olan 100 milyon dövrü təşkil edir. Bu, daha sonra "t_cnt" üçün maksimum rəqəm kimi çıxış edəcək bir dəyişən kimi istifadə olunur. Basys 3 lövhəsi bir dövrü tamamladıqca t_cnt 1 artır. 100 milyon həddinə çatdıqda sıfırlayacaq və başqa bir dəyişən "saniyə" 1 artacaq. Bu "saniyə" dəyişən keçilən saniyə sayını ifadə edir və bu dəyişən 60 -a bərabər olduqda tam bir dəqiqə keçdi.
Aşağıdakı kodu Timer adlı bir vhdl mənbə faylına kopyalayın.
COUNT_8B varlığıdır
port (RESET: std_logic -də;
CLK: std_logic -də; T: out std_logic: = '0');
son COUNT_8B;
COUNT_8B -nin memarlıq sayımdır
daimi max_count: integer: = (100000000); -siqnal t_cnt: std_logic_vector (0-a qədər 7): = "00000000"; siqnal t_cnt: tam ədəd: = (0); prosesə başla (CLK, RESET, t_cnt) dəyişən sec: integer: = 0; başlamaq əgər (yüksələn_kiymət (CLK)) sonra əgər (RESET = '1') onda t_cnt <= (0); - aydın elsif (t_cnt = max_count) o zaman- max_count 1 saniyəyə bərabər olan 100 milyondur t_cnt <= (0); - Daxili saatı 0 saniyəyə sıfırlayır: = sec + 1; - "Yavaş saatımızı" 1 artırarsa (saniyə = 60)- 60 saniyəyə çatdıqdan sonra maksimum vaxta çatır: = 0; - "Yavaş saatı" sıfırlayaraq 0 T <= '1'; bitərsə; başqa t_cnt <= t_cnt + 1; - daxili saatı artırır T <= '0'; bitərsə; bitərsə; prosesi bitirmək; my_count -u bitir;
Addım 2: Düymə Optimizasiyası
Basys lövhələrində tezlik çox yüksək olduğu üçün (təxminən 100 MHz) Basys lövhəsinə qısa bir müddət qoyduğunuzu basdığınız zaman onu 100.000 dəfə basacaqsınız. Bu, işığın açılma və sönmə vəziyyəti arasında sürətlə yanıb -sönməsinə səbəb olur. Titrəməni azaltmaq üçün vəziyyət diaqramı yaradaraq düyməni optimallaşdırmağa çalışdıq.
D-flip-floplar hər bir vəziyyəti tutacaq və sonra proses ifadəsində vəziyyət keçidlərini təyin edəcəyik.
Aşağıdakı kodu Button adlı bir vhdl mənbə faylına kopyalayın.
kitabxana IEEE; IEEE. STD_LOGIC_1164. ALL istifadə edin;
varlıq düyməsidir
Port (btn: STD_LOGIC -də; clk: STD_LOGIC -də; E: STD_LOGIC xaricində); son düyməsi;
memarlıq Davranış düyməsidir
state_type növü (PRESSED, NP); siqnal PS, NS: state_type: = NP;
başlamaq
seq_proc: proses (NS, clk) başlayarsa (yüksələn_kiymət (clk)) sonra PS <= NS; bitərsə; prosesi bitirin seq_proc;
ns_proc: proses (btn, PS)
start case PS, NP => if (btn = '1') olduqda NS <= PRESSED; E <= '1'; başqa NS <= NP; E əgər (btn = '0') onda NS <= NP; E <= '0'; başqa NS <= BASILDI; E <= '0'; bitərsə; son hal; prosesi ns_proc bitirin;
Davranışa son qoymaq;
Addım 3: LED
LED iki vəziyyətdədir: OFF (və ya IDLE) və ON. Daha əvvəl dediyimiz kimi, dövlətlər d-flip-flopda saxlanılır. Sensor hərəkət algılarsa (S = 1) və ya bir düyməyə basıldıqda (E = 1) işıq yanacaq. Taymer 1 dəqiqəyə (T = 1) çatdıqda və ya düyməyə basıldıqda (E = 1) LED avtomatik olaraq sönəcək.
Aşağıdakı kodu LED adlı bir vhdl mənbə faylına kopyalayın.
obyekt motion_sensored_light Limandır (S: STD_LOGIC -də; - sesnor; Port JA10/Pin G3 E: STD_LOGIC -də; - manuel funksiya üçün xarici düymə; Mərkəz düyməsi T: STD_LOGIC -də; - timer maksimum vaxta çatanda; Taymer LED -dən: STD_LOGIC çıxdı; - yüngül TRST: STD_LOGIC; - timer clk: STD_LOGIC -də sıfırlanır); - state_sensored_light vəziyyətlərini tutan flip flop üçün clk;
memarlıq Motion_sensored_light davranışıdır
state_type növü (ST0, ST1); --ST0 = Boş, ST1 = YÜKSƏK LED
siqnal PS, NS: state_type: = ST0; - Mövcud DÖVLƏT VƏ NÖVBƏTİ DÖVLƏT, ST0 İDLE-də başlayır
başlamaq
- flip flopun proses bloku- seq_proc saatın yüksələn kənarında vəziyyəti yeniləyir: proses (NS, clk) başlayır- d (əgər yüksələn_hənd (clk)) sonra PS <= NS olarsa vəziyyətləri saxlayan d flip flop; bitərsə; prosesi bitirin seq_proc;
ns_proc: proses (S, E, T, PS)
başlanğıc PS, ST0 => LED <= '0' olduqda; - boş vəziyyət üçün çıxışlar TRST <= '1'; əgər (S = '0' OR E = '1') onda - st0 -dan st1 -ə keçid üçün girişlər NS <= ST1; başqa NS LED <= '1'; - TRST vəziyyəti üçün nəticələr <= '0'; əgər (E = '1' OR T = '1') onda - st1 -dən st0 -a keçid üçün girişlər NS <= ST0; başqa NS <= ST1; bitərsə; son hal; prosesi ns_proc bitirin;
Davranışa son qoymaq;
Addım 4: Üst Fayl
İndi bütün digər fayllarımızı bir yerə birləşdirəcəyik.
Aşağıdakı kodu Top_File adlı bir vhdl mənbə faylına kopyalayın.
kitabxana IEEE; IEEE. STD_LOGIC_1164. ALL istifadə edin;
varlıq Top_File
Port (S: STD_LOGIC -də: = '1'; - sesnor; Port JA10/Pin G3 btn: STD_LOGIC -də: = '0'; - manuel funksiya üçün xarici düymə; Mərkəz düyməsi LED: söndürmə STD_LOGIC; - işıq: STD_LOGIC -də); - Top_File-in sonunu tutan flip flop üçün clk;
Memarlıq Top_File Davranışlıdır
COUNT_8B komponentidir
port (RESET: std_logic: = '0'; CLK: std_logic; T: out std_logic: = '0'); son komponent; motion_sensored_light komponenti Limandır (S: STD_LOGIC -də; - sesnor; Port JA10/Pin G3 E: STD_LOGIC -də; - manuel funksiya üçün xarici düymə; Mərkəz düyməsi T: STD_LOGIC -də; - taymer maksimum vaxta çatanda; Taymer LED -dən: STD_LOGIC çıxdı; - yüngül TRST: STD_LOGIC; - timer clk: STD_LOGIC -də sıfırlanır); - dövlətlərin son komponentini tutan flip flop üçün clk; komponent düyməsi Port (btn: STD_LOGIC; clk: STD_LOGIC; E: out STD_LOGIC); son komponent; siqnal t_reached_c: std_logic; - siqnal r_time_c: std_logic; - siqnal button_c: std_logic;
başlamaq
taymer: COUNT_8B liman xəritəsi (RESET => r_time_c, CLK => CLK, T => t_reached_c); motion_sensor: motion_sensored_light liman xəritəsi (S => S, E => button_c, T => t_reached_c, LED => LED, TRST => r_time_c, clk => clk); button_controller: düymənin port xəritəsi (btn => btn, clk => clk, E => button_c); Davranışa son qoymaq;
Addım 5: Məhdudiyyətlər Dosyası
İndi giriş və çıxışlarımızın lövhədə harada olacağını müəyyənləşdirməliyik.
Aşağıdakı kodu Məhdudiyyətlər adlı bir vhdl məhdudiyyətlər faylına kopyalayın.
## Bu fayl Basys3 rev B lövhəsi üçün ümumi bir.xdcdir ## Bir layihədə istifadə etmək üçün: ## - istifadə olunan sancaqlara uyğun olan sətirləri qeyd etmə ## - istifadə olunan portların adını dəyiş (hər sətirdə, get_ports -dan sonra) layihədəki ən yüksək səviyyəli siqnal adlarına
## Saat siqnalı
set_property PACKAGE_PIN W5 [get_ports clk] set_property IOSTANDARD LVCMOS33 [get_ports clk] create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports clk] ## Switch #set_property PACKAGE_PIN {17] set_property IOSTANDARD LVCMOS33 [get_ports {sw [0]}] #set_property PACKAGE_PIN V16 [get_ports {sw [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [1]}] #set_property PACKAGE_PIN W16 [2] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [2]}] #set_property PACKAGE_PIN W17 [get_ports {sw [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [3]}] #set_property PACKAGE_PIN {sw15 [4]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [4]}] #set_property PACKAGE_PIN V15 [get_ports {sw [5]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [5]}] #set_property PACKAGE_PIN [6]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [6]}] #set_property PACKAGE_PIN W13 [get_ports {sw [7]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [7]}] #set_property PACKAGE_PIN V2 [get_ports {sw [8]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [8]}] #set_property PACKAGE_PIN T3 [get_ports {sw [9]}] #ST_ARD LVCMOS33 [get_ports {sw [9]}] #set_property PACKAGE_PIN T2 [get_ports {sw [10]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [10]}] #set_property PACKAGE_PIN R3 [get_ports {sw] [11]} # set_property IOSTANDARD LVCMOS33 [get_ports {sw [11]}] #set_property PACKAGE_PIN W2 [get_ports {sw [12]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [12]}] #set_property PACKAGE_PIN U1 [get_ports] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [13]}] #set_property PACKAGE_PIN T1 [get_ports {sw [14]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [14]}] #set_property PACKAGE_PIN {sw2 [15]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [15]}]
## LED
#set_property PACKAGE_PIN U16 [get_ports {led [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [0]}] #set_property PACKAGE_PIN E19 [get_ports {led [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports] }] #set_property PACKAGE_PIN U19 [get_ports {led [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [2]}] #set_property PACKAGE_PIN V19 [get_ports {led [3]}] #set_property IOSTANDARD [L_CM] 3]}] #set_property PACKAGE_PIN W18 [get_ports {led [4]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [4]}] #set_property PACKAGE_PIN U15 [get_ports {led [5]}] #set_property IOOSANDARD led [5]}] #set_property PACKAGE_PIN U14 [get_ports {led [6]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [6]}] #set_property PACKAGE_PIN V14 [get_ports {led [7]}] #set_property IOMARD get_ports {led [7]}] #set_property PACKAGE_PIN V13 [get_ports {led [8]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [8]}] #set_property PACKAGE_PIN V3 [get_ports {led [9]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [9]}] #set_property PACKAGE_PIN W3 [get_ports {led [10]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [10]}] #set_property PACKAGE_PIN [11]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [11]}] #set_property PACKAGE_PIN P3 [get_ports {led [12]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [12]}] #set_property NAC3 {led [13]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [13]}] #set_property PACKAGE_PIN P1 [get_ports {led [14]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [14]}] #set_proper PAC1 [get_ports {led [15]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [15]}] ## 7 seqmentli ekran #set_property PACKAGE_PIN W7 [get_ports {seg [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [0]}] #set_property PACKAGE_PIN W6 [get_ports {seg [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [1]}] #set_property PACKAGE_PIN U8 [get_ports {seg [2]}] #set_property IOSTA NDARD LVCMOS33 [get_ports {seg [2]}] #set_property PACKAGE_PIN V8 [get_ports {seg [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [3]}] #set_property PACKAGE_PIN U5 [4_port] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [4]}] #set_property PACKAGE_PIN V5 [get_ports {seg [5]}] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [5]}] #set_property PACkAGE_PIN [PAC7] }] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [6]}]
#set_property PACKAGE_PIN V7 [get_ports dp]
#set_property IOSTANDARD LVCMOS33 [get_ports dp]
#set_property PACKAGE_PIN U2 [get_ports {a [0]}]
#set_property IOSTANDARD LVCMOS33 [get_ports {a [0]}] #set_property PACKAGE_PIN U4 [get_ports {a [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {a [1]}] #set_property PACKAGE_PIN V4 [get_ports] }] #set_property IOSTANDARD LVCMOS33 [get_ports {a [2]}] #set_property PACKAGE_PIN W4 [get_ports {a [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {a [3]}]
##Düymələr
set_property PACKAGE_PIN U18 [get_ports btn] set_property IOSTANDARD LVCMOS33 [get_ports btn] #set_property PACKAGE_PIN T18 [get_ports btnU] #set_property IOSTANDARD LVCMOS33 [get_ports btnU] #set_property PACKAGE_PIN W19 [get_ports btnL] #set_property IOSTANDARD LVCMOS33 [get_ports btnL] #set_property PACKAGE_PIN T17 [get_ports btnR] #set_property IOSTANDARD LVCMOS33 [get_ports btnR] #set_property PACKAGE_PIN U17 [get_ports btnD] #set_property IOSTANDARD LVCMOS33 [get_ports btnD]
## Pmod Başlığı JA
## Sch adı = JA1 #set_property PACKAGE_PIN J1 [get_ports {JA [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JA [0]}] ## Sch name = JA2 #set_property PACKAGE_PIN L2 [get_ports {JA [1] #set_property IOSTANDARD LVCMOS33 [get_ports {JA [1]}] ## Sch name = JA3 #set_property PACKAGE_PIN J2 [get_ports {JA [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JA [2]}] ## = JA4 #set_property PACKAGE_PIN G2 [get_ports {JA [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JA [3]}] ## Sch name = JA7 #set_property PACKAGE_PIN H1 [get_ports {JA [4]}] #set LVCMOS33 [get_ports {JA [4]}] ## Sch adı = JA8 set_property PACKAGE_PIN K2 [get_ports LED] set_property IOSTANDARD LVCMOS33 [get_ports LED] ## Sch name = JA9 #set_property PACKAGE_PIN H2 [get_ports] J # set_property IOSTANDARD LVCMOS33 [get_ports {JA [6]}] ## Sch adı = JA10 set_property PACKAGE_PIN G3 [get_ports S] set_property IOSTANDARD LVCMOS33 [get_ports S]
## Pmod Başlığı JB
## Sch adı = JB1 #set_property PACKAGE_PIN A14 [get_ports {JB [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [0]}] ## Sch name = JB2 #set_property PACKAGE_PIN A16 [get_ports {JB [1] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [1]}] ## Sch name = JB3 #set_property PACKAGE_PIN B15 [get_ports {JB [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [2]}] ## = JB4 #set_property PACKAGE_PIN B16 [get_ports {JB [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [3]}] ## Sch name = JB7 #set_property PACKAGE_PIN A15 [get_ports {JB [4]}] #set LVCMOS33 [get_ports {JB [4]}] ## Sch adı = JB8 #set_property PACKAGE_PIN A17 [get_ports {JB [5]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [5]}] # #Sch name = JB9 #set_property PACKAGE_PIN C15 [get_ports {JB [6]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [6]}] ## Sch name = JB10 #set_property PACKAGE_PIN C16 [get_ports {JB [7]}] #set_property IOOSANDARD [IOS] JB [7]}]
## Pmod Header JC
## Sch adı = JC1 #set_property PACKAGE_PIN K17 [get_ports {JC [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [0]}] ## Sch name = JC2 #set_property PACKAGE_PIN M18 [get_ports {JC [1] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [1]}] ## Sch name = JC3 #set_property PACKAGE_PIN N17 [get_ports {JC [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [2]}] ## = JC4 #set_property PACKAGE_PIN P18 [get_ports {JC [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [3]}] ## Sch name = JC7 #set_property PACKAGE_PIN L17 [get_ports {JC [4]}] #set LVCMOS33 [get_ports {JC [4]}] ## Sch name = JC8 #set_property PACKAGE_PIN M19 [get_ports {JC [5]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [5]}] ## Sch name = JC9 #set_property PACKAGE_PIN P17 [get_ports {JC [6]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [6]}] ## Sch name = JC10 #set_property PACKAGE_PIN R18 [get_ports {JC [7]}] #set_property IOOSANDARD [IOS] JC [7]}]
## Pmod Başlığı JXADC
## Sch adı = XA1_P #set_property PACKAGE_PIN J3 [get_ports {JXADC [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC [0]}] ## Sch name = XA2_P #set_property PACKAGE_PIN L3 [get] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC [1]}] ## Sch name = XA3_P #set_property PACKAGE_PIN M2 [get_ports {JXADC [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports] {JXADC #) = XA4_P #set_property PACKAGE_PIN N2 [get_ports {JXADC [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC [3]}] ## Sch name = XA1_N #set_property PACKAGE_PIN K3] [Set_port] LVCMOS33 [get_ports {JXADC [4]}] ## Sch adı = XA2_N #set_property PACKAGE_PIN M3 [get_ports {JXADC [5]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC [5]}] #_N #Set #X # PACKAGE_PIN M1 [get_ports {JXADC [6]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC [6]}] ## Sch name = XA4_N #set_property PACKAGE_PIN N1 [get_ports {JXADC [7]} LVCM) [get_ports {JXADC [7]}]
## VGA bağlayıcısı
#set_property PACKAGE_PIN G19 [get_ports {vgaRed [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaRed [0]}] #set_property PACKAGE_PIN H19 [get_ports {vgaRed [1]}] 1set }] #set_property PACKAGE_PIN J19 [get_ports {vgaRed [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaRed [2]}] #set_property PACKAGE_PIN N19 [get_ports {vgaRed [3]} VOST {ARD_pro] 3]}] #set_property PACKAGE_PIN N18 [get_ports {vgaBlue [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaBlue [0]}] #set_property PACKAGE_PIN L18 [get_ports {vgaBlueSP_Pro_SV_33] {1]} #alın vgaBlue [1]}] #set_property PACKAGE_PIN K18 [get_ports {vgaBlue [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaBlue [2]}] #set_property PACKAGE_PIN J18 [get_port] get_ports {vgaBlue [3]}] #set_property PACKAGE_PIN J17 [get_ports {vgaGreen [0]}] #set_property IOSTANDARD LVCMOS33 [get_p orts {vgaGreen [0]}] #set_property PACKAGE_PIN H17 [get_ports {vgaGreen [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaGreen [1]}] #set_property PACKAGE_PIN G17 [get_pro] {vgaGreen] LVCMOS33 [get_ports {vgaGreen [2]}] #set_property PACKAGE_PIN D17 [get_ports {vgaGreen [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaGreen [3]}] #set_property PACKAGE_PIN_POS_POS_POS_PTS_19 Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #set_property IOSTANDARD LVCMOS33 [get_ports Vsync]
## USB-RS232 Arayüzü
#set_property PACKAGE_PIN B18 [get_ports RsRx] #set_property IOSTANDARD LVCMOS33 [get_ports RsRx] #set_property PACKAGE_PIN A18 [get_ports RsTx] #set_property IOSTANDARD LVCMOS33 [get_ports RsRx]
## USB HID (PS/2)
#set_property PACKAGE_PIN C17 [get_ports PS2Clk] #set_property IOSTANDARD LVCMOS33 [get_ports PS2Clk] #set_property PULLUP true [get_ports PS2Clk] #set_property PACKAGE_PIN B17 [get_ports PS2Data_data
## Dörd SPI Flash
## Qeyd edək ki, CCLK_0 7 seriyalı cihazlara yerləşdirilə bilməz. ## STARTUPE2 ibtidai istifadə edərək daxil ola bilərsiniz. #set_property PACKAGE_PIN D18 [get_ports {QspiDB [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {QspiDB [0]}] #set_property PACKAGE_PIN D19 [get_ports {QspiDB [1]} VSport [Pro] }] #set_property PACKAGE_PIN G18 [get_ports {QspiDB [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {QspiDB [2]}] #set_property PACKAGE_PIN F18 [get_ports {QspiDB [3] VV {3]) 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]
Addım 6: PIR Hərəkət Sensorunun Bağlanması
PIR hərəkət sensoru üç sancağa malikdir: sırasıyla güc, gnd və siqnalizasiya (ilk şəklə baxın). Bu təlimatda təklif olunan hərəkət sensoru birbaşa çörək taxtasına qoşula bilər. Ancaq istifadə etdiyimiz sensor üçün telləri kəsməli və soymalıyıq və aşınmaması üçün açıq uclarını lehimləməli olduq. Çörək taxtasına güc və torpaq pinləri ilə birlikdə bir kişi ilə dişi keçid telini, sonra isə siqnal pimi ilə birlikdə kişidən kişiyə keçid telini daxil edin (ikinci şəklə baxın).
Addım 7: Çörək lövhəsindəki LED -in bağlanması
LED -i çörək taxtasına qoşun. Qara bir kişidən kişiyə keçid kabelini LED -in qısa ucu ilə ardıcıl olaraq daxil edin. Sonra LED -in uzun ucu ilə fərqli rəngli kişidən kişiyə keçid kabelini qoşun.
Addım 8: Basys Board Əlaqələri
PIR hərəkət sensörünün qadın uclarını bazis lövhəsindəki 5 voltlu gərginlik mənbəyinə qoşun. Sonra kişi LED topraklama telini yan portun torpağına, sonra PIR hərəkət sensöründən siqnalizasiya telinə və sonra LED giriş telinə (şəkildə göründüyü kimi) bağlayın.
Tövsiyə:
Arduino və Solenoid Valfdan istifadə edən Hərəkət Sensorlu Su Kranı - DIY: 6 addım
Arduino və Solenoid Valfdan istifadə edən Hərəkət Sensorlu Su Kranı - DIY: Bu layihədə, Solenoid Valfdan istifadə edərək Hərəkət Sensorlu Su Kranının necə qurulacağını sizə göstərəcəyəm. Bu layihə, mövcud əl su musluğunuzu hərəkət algılamasına əsaslanaraq idarə edilə bilən bir krana çevirməyinizə kömək edə bilər. IR sensoru interfeysi istifadə olunur
DIY: Fokuslanan Hərəkət Sensorlu Tavan Üstü Mini Sensor Qutu: 4 addım
DIY: Fokuslanan Hərəkət Sensorlu Tavan Üstü Mini Sensor Qutu: Salam. Bir müddət əvvəl dostuma ağıllı ev konsepsiyası ilə kömək edirdim və tavana 40x65 mm çuxura quraşdırıla bilən xüsusi dizaynlı bir mini sensor qutusu yaratdım. Bu qutu kömək edir: • işığın intensivliyini ölçmək • nəmliyi ölçmək
İşıq Sensorlu Hərəkət Aktivləşdirilmiş İşıq Açarı: 5 addım
İşıq Sensorlu Hərəkət Aktivləşdirilmiş İşıq Şalteri: Hərəkət aktiv işıq anahtarı həm evdə, həm də ofisdə bir çox tətbiqə malikdir. Bununla birlikdə, bu işığın yalnız gecə vaxtı tetiklenebilmesi üçün bir işıq sensoru əlavə etmənin bir üstünlüyü var
Hərəkət Sensorlu Avtomobil Təlimatı: 8 addım
Hərəkət Sensorlu Avtomobil Təlimatı: Hərəkət Sensorlu Avtomobil Təlimatına xoş gəldiniz! Bu Təlimat kitabında sizə cisimlərin qarşısını alacaq bir hərəkət sensoru avtomobili yaratmağı öyrədəcəyəm
Hərəkət İdarə Edilən Çıxış - Hərəkət Algılayan İşıqdan: 6 Addım
Hərəkət İdarə Edilən Çıxış - Hərəkət Algılayan İşıqdan: Blokdakı ən qorxulu evə gedən bir hiyləgər və ya xəyanətkar olduğunuzu düşünün. Bütün xəyalları, xəyalları və qəbiristanlıqları keçdikdən sonra nəhayət son yola çatırsınız. Qarşınızda bir qabda konfet görə bilərsiniz! Amma sonra birdən gho