Innholdsfortegnelse:

Bevegelsessensorert LED: 8 trinn
Bevegelsessensorert LED: 8 trinn

Video: Bevegelsessensorert LED: 8 trinn

Video: Bevegelsessensorert LED: 8 trinn
Video: Ночник с датчиком движения с Алиэкспресс.Работает от батареек. 2024, November
Anonim
Image
Image

Bakgrunn:

Har du noen gang glemt å slå av et lys før du går til timen eller på jobb eller før du legger deg? De timene med lysene på når du ikke bruker dem, kan virkelig øke kostnadene og energitapet. For eksempel, ifølge solarcity.com, kan lyset på hele natten i en uke legge til $ 25 på strømregningen din! For CPE133 -prosjektet vårt designer vi et bevegelsessensorlys som hjelper folk med å spare energi i hjemmene sine og bruke lysene sine effektivt.

Vårt system i praksis:

I praksis ville lysene bare slås på når en sensor oppdager bevegelse i rommet. Deretter vil lysene forbli på i en bestemt tid, for eksempel rundt 30 minutter, og deretter slå seg av automatisk. Men la oss si at du nettopp passerte eller ønsket å forlate rommet tidlig før den angitte tiden var over. I disse tilfellene installerte vi en knapp der du kan slå lysene på eller av manuelt. Vær oppmerksom på at lysene forblir på i 30 minutter, selv når lysene slås på manuelt eller automatisk (med mindre lysene slås av manuelt).

Simulering om bord:

For å se at timeren fungerer, endret vi timeren til 1 minutt.

Materialer:

  • 1 Basys -brett (du finner en her fra Digilent)
  • 1 PIR bevegelsessensor (du finner en her på Amazon)
  • 1 brødbrett og sett (vi foreslår at du bruker dette fra Amazon)
  • Fra settet ovenfor

    • 1 LED
    • 3 hun -til -mann -jumperkabler
    • 6 startkabler fra mann til mann

Trinn 1: Timer

For at LED -lampen skal forbli på i 1 minutt, må vi først lage en tidtaker. Basys 3 -kortet har en intern frekvens på 100MHz og gir dermed 100 millioner sykluser lik 1 sekund. Dette brukes deretter som en variabel som vil fungere som et maksimalt antall for "t_cnt". T_cnt øker med 1 ettersom Basys 3 -kortet fullfører en syklus. Når den når 100 millioner -merket vil den tilbakestilles og en annen variabel, “sek”, vil øke med 1. Denne “sek” -variabelen representerer antall sekunder som er gått, og når denne variabelen er lik 60, har et helt minutt gått.

Kopier koden nedenfor til en vhdl -kildefil som heter Timer.

enhet COUNT_8B er

port (RESET: in std_logic;

CLK: i std_logic; T: out std_logic: = '0');

avslutte COUNT_8B;

arkitektur my_count på COUNT_8B er

konstant max_count: heltall: = (100000000); --signal t_cnt: std_logic_vector (7 ned til 0): = "00000000"; signal t_cnt: heltall: = (0); start prosessen (CLK, RESET, t_cnt) variabel sek: heltall: = 0; start if (rising_edge (CLK)) deretter if (RESET = '1') deretter t_cnt <= (0); - fjern elsif (t_cnt = max_count) da- max_count er 100 millioner som er lik 1 sekund t_cnt <= (0); - Tilbakestiller intern klokke til 0 sek: = sek + 1; - Øker vår 'sakte klokke' med 1 hvis (sek = 60) da- Når den når 60 sekunder, har den nådd maks tid sek: = 0; - Tilbakestiller "sakte klokke" til 0 T <= '1'; slutt om; annet t_cnt <= t_cnt + 1; - øker den interne klokken T <= '0'; slutt om; slutt om; avslutte prosessen; avslutte mitt_tall;

Trinn 2: Knappoptimalisering

LED
LED

Siden frekvensen i Basys -kortene er så høy (rundt 100 MHz) når du trykker på det du synes er kort tid til Basys -tavlen, ville du trykke den 100 000 ganger. Dette får lyset til å flimre raskt mellom av og på -tilstanden. Vi forsøkte å optimalisere knappen ved å lage et tilstandsdiagram for å redusere flimringen.

D-flip-flops vil holde hver tilstand, og deretter vil vi spesifisere tilstandsovergangene i prosesserklæringen.

Kopier koden nedenfor til en vhdl -kildefil som heter Button.

bibliotek IEEE; bruk IEEE. STD_LOGIC_1164. ALL;

enhetsknappen er

Port (btn: i STD_LOGIC; clk: i STD_LOGIC; E: ut STD_LOGIC); sluttknapp;

arkitektur Atferd av knappen er

type state_type er (PRESSED, NP); signal PS, NS: state_type: = NP;

begynne

seq_proc: prosessen (NS, clk) begynner hvis (rising_edge (clk)) deretter PS <= NS; slutt om; avslutte prosessen seq_proc;

ns_proc: prosess (btn, PS)

begynn saken PS når NP => if (btn = '1') så NS <= TRYKKET; E <= '1'; ellers NS <= NP; E hvis (btn = '0') så NS <= NP; E <= '0'; annet NS <= TRYKKET; E <= '0'; slutt om; slutt saken; avslutte prosessen ns_proc;

slutt Behavioral;

Trinn 3: LED

Lysdioden har to tilstander: AV (eller IDLE) og PÅ. Som sagt før, er statene lagret i en d-flip-flop. Lyset tennes hvis sensoren registrerer bevegelse (S = 1) eller når du trykker på en knapp (E = 1). Lysdioden slås av automatisk hvis timeren når 1 minutt (T = 1) eller manuelt når du trykker på en knapp (E = 1).

Kopier koden nedenfor til en vhdl -kildefil som heter LED.

enhet motion_sensored_light er Port (S: i STD_LOGIC; - sesnor; Port JA10/Pin G3 E: i STD_LOGIC; - ekstern knapp for manuell funksjon; Midtknapp T: i STD_LOGIC; - når timeren når maksimal tid; Fra timer LED: ut STD_LOGIC; - lys TRST: ut STD_LOGIC; - tilbakestiller timer clk: i STD_LOGIC); - clk for flip flop som holder state end motion_sensored_light;

arkitektur Behavioral of motion_sensored_light er

type state_type er (ST0, ST1); --ST0 = Tomgang, ST1 = LED HØY

signal PS, NS: state_type: = ST0; - PRESENT STATE OG NESTE STATE, starter i ST0 IDLE

begynne

- prosessblokk for flip-flop- oppdaterer tilstand på stigende kant av klokken seq_proc: prosess (NS, clk) begynner- d flip-flop som holder tilstander if (rising_edge (clk)) deretter PS <= NS; slutt om; avslutte prosessen seq_proc;

ns_proc: prosess (S, E, T, PS)

start case PS er når ST0 => LED <= '0'; - utganger for inaktiv tilstand TRST <= '1'; hvis (S = '0' ELLER E = '1') så - innganger til overgang fra st0 til st1 NS <= ST1; ellers NS LED <= '1'; - utganger for på tilstand TRST <= '0'; hvis (E = '1' ELLER T = '1') deretter - innganger til overgang fra st1 til st0 NS <= ST0; ellers NS <= ST1; slutt om; slutt saken; avslutte prosessen ns_proc;

slutt Behavioral;

Trinn 4: Toppfil

Nå skal vi portkart alle våre andre filer til en.

Kopier koden nedenfor til en vhdl -kildefil som heter Top_File.

bibliotek IEEE; bruk IEEE. STD_LOGIC_1164. ALL;

enhet Top_File er

Port (S: i STD_LOGIC: = '1'; - sesnor; Port JA10/Pin G3 btn: i STD_LOGIC: = '0'; - ekstern knapp for manuell funksjon; Midtknapp LED: ut STD_LOGIC; - lys clk: i STD_LOGIC); - clk for flip flop som holder state end Top_File;

arkitektur Behavioral of Top_File is

komponent COUNT_8B er

port (RESET: in std_logic: = '0'; CLK: in std_logic; T: out std_logic: = '0'); sluttkomponent; komponent motion_sensored_light er Port (S: i STD_LOGIC; - sesnor; Port JA10/Pin G3 E: i STD_LOGIC; - ekstern knapp for manuell funksjon; Midtknapp T: i STD_LOGIC; - når timeren når maksimal tid; Fra timer LED: ut STD_LOGIC; - lys TRST: ut STD_LOGIC; - tilbakestiller timer clk: i STD_LOGIC); - clk for flip flop som holder tilstanden sluttkomponent; komponentknappen er Port (btn: i STD_LOGIC; clk: i STD_LOGIC; E: out STD_LOGIC); sluttkomponent; signal t_reached_c: std_logic; - signal r_time_c: std_logic; - signal knapp_c: std_logic;

begynne

timer: COUNT_8B portkart (RESET => r_time_c, CLK => CLK, T => t_reached_c); motion_sensor: motion_sensored_light port map (S => S, E => button_c, T => t_reached_c, LED => LED, TRST => r_time_c, clk => clk); button_controller: knappportkart (btn => btn, clk => clk, E => button_c); slutt Behavioral;

Trinn 5: Begrensningsfil

Nå må vi definere hvor våre innganger og utganger vil være på tavlen.

Kopier koden nedenfor til en vhdl -begrensningsfil som heter Begrensninger.

## Denne filen er en generell.xdc for Basys3 rev B -tavlen ## For å bruke den i et prosjekt: ## - kommenter linjene som tilsvarer brukte pins ## - gi nytt navn til de brukte portene (i hver linje, etter get_ports) i henhold til til signalene på toppnivå i prosjektet

## Klokkesignal

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] ## Switches #set_property PACKAGE_PIN V17 [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 [get_port] #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 W15 [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 W14 [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]}] #set_property 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_port] #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 R2 [get_port]}] #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_port] }] #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 LVCMOS33 [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 IOSTANDARD LVCMOS33 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 IOSTANDARD LVCM 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 U3

#set_property PACKAGE_PIN V7 [get_ports dp]

#set_property IOSTANDARD LVCMOS33 [get_ports dp]

#set_property PACKAGE_PIN U2 [get_ports {an [0]}]

#set_property IOSTANDARD LVCMOS33 [get_ports {an [0]}] #set_property PACKAGE_PIN U4 [get_ports {an [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {an [1]}] #set_property PACKAGE_PIN V4 [get_port] }] #set_property IOSTANDARD LVCMOS33 [get_ports {an [2]}] #set_property PACKAGE_PIN W4 [get_ports {an [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {an [3]}]

## Knapper

set_property PACKAGE_PIN U18 [get_ports knapp-] set_property IOSTANDARD LVCMOS33 [get_ports knapp-] #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 Header JA

## Sch name = 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]}] ## Sch navn = 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_pro LVCMOS33 [get_ports {JA [4]}] ## Sch name = 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_port} {6] set_property IOSTANDARD LVCMOS33 [get_ports {JA [6]}] ## Sch name = JA10 set_property PACKAGE_PIN G3 [get_ports S] set_property IOSTANDARD LVCMOS33 [get_ports S]

## Pmod Header JB

## Sch name = 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]}] ## Sch navn = 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 name = 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 IOSTANDARD LVCM JB [7]}]

## Pmod Header JC

## Sch name = 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]}] ## Sch navn = 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_pro 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 IOSTANDARD LVCM JC [7]}]

## Pmod Header JXADC

## Sch name = 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_port] #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 [get_port_PART] {JXAD] LVCMOS33 [get_ports {JXADC [4]}] ## Sch name = XA2_N #set_property PACKAGE_PIN M3 [get_ports {JXADC [5]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC [5]}] ## Schset =_A3_N 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]}] #set_property [get_ports {JXADC [7]}]

## VGA -kontakt

#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]}] #set_property_OST_ARD_OS33 [get_property_OST] }] #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]}] #set_property {3_} 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 {vgaBlue [1]}] set 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_ports {vgaBluOST [v3Bluost] 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_ports {vgaGreen_prod] 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 P19_get_port_post_port_post_port_post_port_post_port_get_port Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #set_property IOSTANDARD LVCMOS33 [get_ports Vsync]

## USB-RS232-grensesnitt

#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 RsTx]

## 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 BREAK [PS_PART] PS33POS_PORT_POS_PORT_POS_PORT_POS_PORT_POSPORT_POSPORT_POSPORT

## Quad SPI Flash

## Vær oppmerksom på at CCLK_0 ikke kan plasseres i enheter i 7 serier. Du får tilgang til den ved å bruke ## STARTUPE2 primitiv. #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]}] #set_property [LIS_SP_PORT] }] #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]}] #set_pro_PART_PORT_PORT_prop 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]

Trinn 6: Koble til PIR -bevegelsessensoren

Kabling av PIR -bevegelsessensoren
Kabling av PIR -bevegelsessensoren
Kabling av PIR -bevegelsessensoren
Kabling av PIR -bevegelsessensoren

PIR -bevegelsessensoren har tre pinner: henholdsvis effekt, gnd og alarm (se det første bildet). Bevegelsessensoren som foreslås i denne instruksjonsboken, kan kobles direkte til brødbrettet. Men for sensoren vi brukte måtte vi kutte og fjerne ledningene og deretter lodde de eksponerte endene for å unngå at de flosset. På brødbrettet settes en ledning fra mann til kvinne i serie med strøm- og jordingspinnene og deretter en ledning fra mann til mann i serie med alarmpinnen (se det andre bildet).

Trinn 7: Kabling av LED -en i brødbrettet

Kabling av LED -en i brødbrettet
Kabling av LED -en i brødbrettet
Kabling av LED -en i brødbrettet
Kabling av LED -en i brødbrettet

Koble LED -en til brødbrettet. Sett i en svart mann til mann -jumperkabel i serie med LED -kortets korte ledning. Deretter kobler du i forskjellige fargede mannlige til mannlige startkabler i serie med LED -lampens lange ledning.

Trinn 8: Basys Board Connections

Basys Board -tilkoblinger
Basys Board -tilkoblinger

Koble hunnendene på PIR -bevegelsessensoren til 5 volt spenningskilden på grunnkortet. Koble deretter den mannlige LED -jordledningen til sideportens bakke, deretter alarmledningen fra PIR -bevegelsessensoren og deretter LED -inngangskabelen (som vist på bildet).

Anbefalt: