Índice:
- Etapa 1: Diagrama de caixa preta
- Etapa 2: Relógio lento
- Etapa 3: contador
- Etapa 4: hora do contador
- Etapa 5: Alarme
- Etapa 6: Driver de exibição universal de sete segmentos
- Etapa 7: Arquivo de link
- Etapa 8: Arduino
- Etapa 9: Roteamento de cabos
Vídeo: Despertador Basys 3: 9 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Nosso projeto cria um despertador usando a placa FPGA Basys 3, um Arduino e uma placa de driver de alto-falante. O usuário pode inserir a hora atual na placa usando 11 interruptores de entrada no Basys 3 e travar o valor usando o botão do meio na placa. O usuário pode então inserir a hora do alarme usando os mesmos interruptores, mas pressione o botão esquerdo para bloquear a hora do alarme. Se a hora errada for inserida, o botão de reinicialização (botão superior) pode ser pressionado e a hora do relógio atual e a hora do alarme serão ajustadas para 00:00. O usuário pode então iniciar o relógio usando a chave mais à esquerda e ligar o alarme usando a próxima chave. Quando o alarme é ativado, o despertador emite um som quando a hora do relógio e a hora definida para o alarme coincidem.
Etapa 1: Diagrama de caixa preta
Começamos nosso projeto desenhando um diagrama de caixa preta para visualizar as entradas e saídas necessárias em nosso programa. As seguintes entradas para o nosso programa, como entrada de 5 bits (Hour_in) foram inicializadas para especificar o tempo de 24 horas, entrada de 6 bits (Min_in) para exibir até 60 minutos, um botão de reset (Rst_b) para permitir ao usuário alterar sua entrada de tempo, uma entrada de 1 bit (alm_en) que carrega a entrada de alarme, uma entrada de 1 bit (alarm_sw) para desligar o despertador quando ele é ativado, uma entrada de 1 bit (e_sec) que controla quando o contador de segundos será executada, uma entrada de 1 bit (Led_btn) que define a hora atual e, por último, uma entrada de 1 bit (clk) que controla a hora exibida pela placa Basys 3. As saídas são (alm_on) que envia o sinal para o Arduino, a saída sseg que exibe o tempo de entrada no Basys 3 e a saída anodo que controla onde as entradas são exibidas no display de sete segmentos.
Etapa 2: Relógio lento
O relógio lento ou arquivo clock_div2 cria um relógio cuja frequência é 2 Hz. Se alimentarmos este relógio com nosso contador de segundos, o valor dos segundos aumentará em um a cada segundo. O clock lento é usado para criar um sinal de clock confiável que muda de baixo para alto uma vez por segundo.
Etapa 3: contador
Contador de componentes (minutos e segundos):
A função básica dos minutos e segundos é que eles são contadores. O contador de minutos recebe a entrada (Vin), que é o sinal das entradas (Min_in), e então conta até atingir a entrada desejada inserida. Os segundos levam apenas a entrada do switch (e_Sec), uma vez que não pode ser exibido no segmento sete, e conta em segundo plano quando o switch está alto '1'. Ambos emitem seu valor para (Qout) e, em seguida, é armazenado em (dados) que o envia para SSEG, o que é feito no arquivo de vinculação. Além disso, quando os minutos e segundos atingem os valores de 59, ele é redefinido e a saída deles é '1' para incrementar os minutos / hora. Ele também pode ser mapeado com um reset (rst_b) para suas entradas.
Etapa 4: hora do contador
Hora do contador de componentes
Da mesma forma, para o contador de componente de minutos e segundos, o componente de hora leva em entradas s como (Vin) que é um sinal de vinculação de entrada de arquivo (Hour_in), e tem saídas que são vinculadas da mesma maneira a minutos e segundos. Quando o valor de contagem da hora atinge 24 00, ele é redefinido para 00 00.
Etapa 5: Alarme
O arquivo.vhd de alarme é composto de d-flip-flops, que são dispositivos de armazenamento que podem armazenar dados digitais. O arquivo de alarme é usado para armazenar a hora em que o alarme será ativado. Para armazenar os dados de horas (entrada de 5 bits) e minutos (entrada de 6 bits), devemos estampar 11 d-flip-flops em nosso arquivo de alarme. Para fazer isso, devemos primeiro importar a lógica que rege a operação de d-flip-flops e mapear os componentes. Cada um dos 11 d-flip-flops armazenará um bit de dados das entradas e permitirá que os dados sejam mapeados para as saídas do arquivo de alarme. Como os d-flip-flops armazenam dados, podemos usar os dados posteriormente, mesmo que as chaves de entrada tenham sido alteradas.
Etapa 6: Driver de exibição universal de sete segmentos
O driver de exibição universal de sete segmentos recebe as entradas do relógio e do ajuste do relógio e é capaz de enviá-las para a exibição de sete segmentos na placa. O driver é capaz de gerar duas contagens separadas na placa ao mesmo tempo. Usamos esta função para exibir as horas e os minutos separadamente. O display de sete segmentos só é capaz de ativar um número de cada vez; portanto, o arquivo sseg deve usar multiplexação para exibir todos os números do tempo simultaneamente. O sinal do clock das placas é alimentado no sseg para manter a hora correta para a multiplexação. É necessário um codificador decimal binário para binário codificado para converter as entradas para o arquivo em um formato que possa ser enviado para o display de sete segmentos. A saída final do arquivo sseg é mapeada para o display de sete segmentos e a hora correta é mostrada no display.
Etapa 7: Arquivo de link
O arquivo de link conecta todos os outros aspectos do programa e mapeia os sinais para sua localização correta. Cada componente é trazido e instanciado dentro do arquivo. Os sinais são usados para transferir dados de um componente para outro. O mapeamento da porta seguirá o diagrama de caixa preta listado acima. O arquivo de link também contém a lógica que rege quando o alarme é ativado. A maior parte do projeto já estará concluída neste ponto. O trabalho restante é rotear cada sinal para o local apropriado.
Etapa 8: Arduino
O arduino é usado para ativar o alto-falante, bem como controlar o tom e a duração da nota tocada pelo alto-falante. O arduino lê um sinal digital da placa Basys 3. Quando este sinal está alto, o arduino emitirá um sinal PWM controlando o tom e a duração do alarme. O sinal de saída do Arduino se conecta ao sinal de entrada de uma placa de driver de alto-falante que aumenta o volume do alto-falante. O arduino faz esse processo muito rápido, repetindo-se muitas vezes por segundo.
Etapa 9: Roteamento de cabos
As placas arduino e Basys 3 devem estar fisicamente conectadas para transferir sinais entre as placas. O primeiro cabo a ser conectado será o pino de aterramento do JA PMOD do Basys 3 para o pino de aterramento do arduino. Em seguida, conecte um fio do pino 1 do JA PMOD do Basys 3 ao pino digital 7 do arduino. Em seguida, conecte dois pinos de aterramento do arduino aos pinos de aterramento do driver do alto-falante. Em seguida, conecte a saída de 3,3 V do arduino ao pino Vcc do driver do alto-falante. Em seguida, conecte o pino digital 9 do arduino ao pino de entrada do driver do alto-falante.
Recomendado:
Despertador inteligente usando Magicbit (Arduino): 10 etapas
Despertador inteligente usando Magicbit (Arduino): Este tutorial mostra como fazer um despertador inteligente usando display OLED na placa de desenvolvimento de Magicbit sem usar qualquer módulo RTC
Despertador inteligente: um despertador inteligente feito com Raspberry Pi: 10 etapas (com imagens)
Despertador inteligente: um despertador inteligente feito com Raspberry Pi: Você sempre quis um relógio inteligente? Se sim, esta é a solução para você! Fiz o Smart Alarm Clock, é um relógio que você pode alterar a hora do alarme de acordo com o site. Quando o alarme disparar, haverá um som (campainha) e 2 luzes
LED regulável usando placa Basys 3: 5 etapas
LED dimerizável usando placa Basys 3: Neste guia, vamos construir e controlar um sistema de dimerização de LED externo. Com os botões disponíveis, o usuário pode reduzir a luminosidade da lâmpada LED para qualquer brilho desejado. O sistema usa a placa Basys 3 e está conectado a uma placa de ensaio que contém
Luzes do sensor de movimento Basys 3: 8 etapas
Motion Sensor Lights Basys3: Para o nosso projeto final em design digital, decidimos simular luzes de sensores de movimento. Eles ativam não apenas quando um objeto está próximo, mas também ativam apenas durante um determinado período do dia. Podemos modelar isso usando FPGA (placa Basys3)
Decodificador Basys 3 Morse: 11 etapas
Decodificador Basys 3 Morse: Este é um projeto para uma aula de faculdade. Este projeto está escrito em VHDL em um programa chamado Vivado. As tarefas para criar todos os módulos necessários para implementar um Decodificador Morse usando a placa Basys 3. O quadro é usado para receber o código morse de um swi