Índice:
- Etapa 1: Equipamento necessário
- Etapa 2: Diagrama da caixa preta / Máquina de estados finitos
- Etapa 3: relógio digital BlackBox
- Etapa 4: componentes juntos e descrição
- Etapa 5: Código
- Etapa 6: Modificações futuras
- Etapa 7: Conclusão
- Etapa 8: Citação
Vídeo: Luzes do sensor de movimento Basys 3: 8 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Para o nosso projeto final de design digital, decidimos simular luzes de sensores de movimento. Eles se ativam não apenas quando um objeto está próximo a ele, mas também se ativam apenas durante um determinado período do dia. Podemos modelar isso usando FPGA (placa Basys3). Ao usar o FPGA, permitimos que um usuário insira um tempo em que os sensores de movimento podem começar a ser ativados e, em seguida, os sensores enviarão um sinal dependendo de qual sensor ele está é acender aquela luz específica naquela sala ou área. Modelamos isso permitindo que apenas um sensor de movimento seja ativado em um determinado momento e ligando as luzes fornecidas de acordo. Por causa da restrição de tempo, não podemos fazer com que o tempo inserido pelo usuário afete a ativação do sensor de movimento. No entanto, a base de nossa lógica deve permitir que alguém a replique e aprimore facilmente.
### O link abaixo mostra um vídeo do Projeto
drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing
Etapa 1: Equipamento necessário
Para este projeto, você precisará do seguinte:
-Basys3 Board
- Cabo USB para microusb
-8 fios de jumper da placa de ensaio
-Breadboard
-2 LED difuso
Etapa 2: Diagrama da caixa preta / Máquina de estados finitos
Este diagrama de caixa preta mostra as entradas necessárias para que as luzes LED se acendam. A entrada de horas e entradas mínimas representam o tempo que o usuário inseriu na placa basys3 (usando interruptores). Como, para a entrada sw representa em qual parte da sala o usuário está (novamente usando interruptores para representar onde o objeto de localização está).
O FSM mostra a transição de uma área para outra área de uma sala onde um objeto está localizado em um determinado momento. Existem 4 sensores diferentes nas diferentes salas que são representados como (s1, s2, s3, s4). Que controlam as saídas, ou as luzes nas diferentes salas, por exemplo, luz (L1, L2, L3). No estado inicial os sensores não detectam ninguém, então todas as luzes estão apagadas. Para passar para o próximo estado (estado 1), s1 deve detectar alguém, s2, s3 e s4 estarão desligados. Isso produzirá L1 (acende a luz 1), L2 e L3 serão desligados. Para passar do estado 1 para o estado 2, s1, s3 e s4 devem estar desativados, s2 deve estar ativado. Isso ativará L1 e L2. Para passar para o próximo estado a partir deste estado, s3 deve estar ligado e todos os outros sensores desligados. Isso ativará L2 e L3, L1 será desativado. Para passar para o estado final, S4 deve estar ligado e todos os outros sensores devem estar desligados. Isso acenderá apenas L3, todas as outras luzes estarão apagadas. Se uma pessoa entrar na sala pelo lado de s4 e sair por meio de s1, todas as etapas ocorrerão na ordem inversa.
Etapa 3: relógio digital BlackBox
O objetivo do relógio digital que criamos é para que as luzes dos sensores não sejam ativadas durante o dia, e funcionem apenas durante o tempo que o usuário inseriu. O relógio digital recebe a entrada hour_in e mins_in usando interruptores na placa basys3 e, para poder carregá-lo na placa, você precisa pressionar (led_btn) para que seja exibido na placa. Também adicionamos o botão de reinicialização (rst_b) para que você possa reenviar em um momento diferente. Como o basys3 tem espaço suficiente para exibir 3 instâncias diferentes de informações, implementamos os segundos em segundo plano. Para isso, implementamos uma chave de segundos para que ela só vá incrementar com o tempo quando o usuário decidir ligar a entrada (e_sec) na placa basys3. O frame work interno dentro do relógio digital é composto de flip-flops que armazenam o tempo inserido e contadores que incrementam o tempo que o usuário inseriu apenas quando (e_sec) está ligado. Estaremos adicionando o código para que você possa ver como ele foi implementado exatamente.
Etapa 4: componentes juntos e descrição
As imagens acima mostram como os componentes são conectados entre si. Ele começa primeiro considerando as horas e minutos das entradas. Os sinais dessas entradas são enviados para o contador de horas e minutos, onde soma os bits, e o sinal de saída dos contadores é enviado para o componente SSEG, onde converte os bits em caracteres específicos que serão exibidos na placa basys3. No entanto, o sinal dos contadores não será enviado ao componente SSEG até que o usuário pressione input (led_btn). Isso foi feito porque não criamos FSM para relógio digital. Além disso, o tempo inserido não aumentará até que a chave de entrada (e_sec) esteja ligada, porque do contrário o contador de segundos sempre funcionaria em segundo plano. Assim que o contador de segundos atingir '59', ele enviará um sinal aos minutos de modo que os minutos aumentem o mesmo é feito de minutos para horas. Além disso, há entradas de sensor de movimento e os sinais são enviados para o componente FSM, onde ele determina para qual estado ir dependendo do sensor ligado. Seu estado inicial é quando todos os sensores estão desligados. Toda a descrição de FSM foi descrita na etapa 2.
Etapa 5: Código
Etapa 6: Modificações futuras
No futuro, adicionar sensores de movimento reais com combinação de LEDs ao projeto seria uma melhoria. Para que possamos aumentar a complexidade do projeto e ver se podemos criar um sensor de luz de movimento moderno. Isso criaria mais problemas, pois você também teria que pensar na proximidade do objeto para que as luzes se acendessem de acordo. Além disso, todas as outras funcionalidades anteriores. Além disso, melhorando a funcionalidade do relógio digital usando um FSM, ao invés de esperar que o usuário ligue os segundos (e_sec). O FSM para um relógio digital seria semelhante ao do sensor de movimento.
Etapa 7: Conclusão
No geral, este projeto nos ajudou a entender melhor como as máquinas de estado finito operam. Além disso, com o FSM, você deve sempre ter em mente que precisa saber em que estado se encontra e quando deseja mudar para outro estado. Em outras palavras, você precisa saber onde está em um determinado momento e onde estará mais tarde. Lembre-se de quais fatores permitirão que você (entradas) mude para outro estado e o que fará quando chegar lá (saída). Também aprendemos como armazenar informações dentro da placa basys3 usando flip-flops que são registradores e como incrementar o tempo usando contadores que somam números binários.
Etapa 8: Citação
O two_sseg.vhdl = universal_sseg_dec.vhd
Ratner, James e Cheng Samuel.. Ratface Engineering.universal_sseg_dec.vhd
Recomendado:
Cupido robô com cabeça, luzes e som em movimento: 6 etapas
Robot Cupid com Moving Head, Lights and Sound: Eu me inspirei para adicionar alguns acréscimos ao robô cupido fofo para torná-lo mais vivo porque ele é um robô e também é o Dia dos Namorados. Reciclo meu circuito do MP3 player ativado por luz. O mesmo circuito também está sendo usado no Frankenbot instructa
Luzes de rua ativadas por movimento com eficiência energética: 8 etapas
Luzes de rua ativadas por movimento com eficiência energética: Nosso objetivo com este projeto era criar algo que economizasse energia e recursos financeiros para as comunidades. Luzes de rua ativadas por movimento fariam ambas as coisas. Em todo o país, a energia está sendo desperdiçada em postes de luz iluminando as ruas
Como controlar luzes / luzes domésticas usando Arduino e Amazon Alexa: 16 etapas (com imagens)
Como controlar a luz / luzes domésticas usando Arduino e Amazon Alexa: Eu expliquei como controlar a luz que está conectada ao UNO e controlada por Alexa
Luzes de quintal interativas, luzes de passagem: 3 etapas
Luzes de quintal interativas, luzes de passagem: Eu queria construir algum tipo de luzes de quintal interativas para meu quintal. A ideia era que, quando alguém caminhava por um lado, uma animação era ativada na direção em que você estava caminhando. Comecei com a Dollar General $ 1,00 luz solar
Sensor de movimento / luzes controladas por contador: 7 etapas
Sensor de movimento / luzes controladas por contador: Este projeto foi criado como um projeto final para um curso de Design Digital na Cal Poly, San Luis Obispo (CPE 133). Por que estamos fazendo isso? Queremos ajudar a conservar os recursos naturais do mundo. Nosso projeto tem como foco a economia de eletricidade. Economizando mais elementos