Índice:
- Etapa 1: Materiais
- Etapa 2: Começando a codificação
- Etapa 3: Arquivo de restrições
- Etapa 4: Arquivo Flip Flop
- Etapa 5: Arquivo de segmentos
- Etapa 6: Arquivo do divisor de relógio
- Etapa 7: Arquivo de sinal servo
- Etapa 8: Arquivo Servo Top
- Etapa 9: Arquivo principal
- Etapa 10: Teste no Vivado
- Etapa 11: Criação de introdução de hardware
- Etapa 12: Preparação
- Etapa 13: Solda
- Etapa 14: Final
Vídeo: Classificador de lixo CPE 133: 14 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
Para nossa aula de CPE 133 na Cal Poly, fomos instruídos a criar um projeto VHDL / Basys 3 que ajudasse o meio ambiente e fosse simples o suficiente para que pudéssemos implementá-lo com nosso novo conhecimento de design digital. A ideia por trás do nosso projeto de que, em geral, as pessoas não pensam onde jogam o lixo. Decidimos criar uma máquina que obrigasse as pessoas a pensar onde colocar o lixo. Nosso classificador de lixo recebe a entrada do usuário por meio de três interruptores, cada um representando lixo, reciclagem ou compostagem. Assim que o usuário selecionar o tipo de resíduo (s) que gostaria de eliminar, ele pressiona um botão. Este botão fará com que as tampas do recipiente correspondente sejam abertas. A máquina também usou o display no Basys 3 para indicar se alguma das tampas está aberta no momento. Quando o botão é liberado, as tampas se fecham novamente para que a máquina esteja pronta para o próximo usuário.
Etapa 1: Materiais
Os materiais necessários para este projeto são:
Tabuleiro Basys 3
Computador com Vivado instalado
3x servo *
Fio de cobre de 3 pés
Cortador de fio / descascador
Ferro de solda e solda
* porque os servos são caros e somos estudantes universitários, substituímos um resistor de 68 ohms e LED para cada servo como um protótipo (o código funciona da mesma maneira)
Etapa 2: Começando a codificação
Há muito código a ser escrito para este projeto. Estaremos usando código VHDL escrito em Vivado. Para começar, queremos criar um novo projeto. Primeiro, você nomeará o projeto e especificará o tipo de projeto. Certifique-se de selecionar as mesmas configurações da ilustração. Quando você chegar à tela de fontes, você desejará adicionar seis fontes chamadas "top", "flip_flop", "segmentos", "servo_top", "servo_sig" e "clk_div". Certifique-se de selecionar VHDL para o idioma de cada arquivo, não Verilog. Na tela de restrições, você deve criar um arquivo para a atribuição do pino. O nome deste arquivo não é importante. Em seguida, será solicitado que você selecione o tabuleiro que usará. Certifique-se de selecionar o correto. Fotos de referência para seleção correta. A última etapa solicitará que você especifique as entradas e saídas de cada arquivo de origem. Esta etapa pode ser codificada posteriormente, então clique em Avançar.
Etapa 3: Arquivo de restrições
Nesta etapa, escreveremos o arquivo de restrições. Isso informa ao Vivado quais pinos enviarão / receberão quais sinais do circuito. Precisaremos do relógio, três interruptores, o display de sete segmentos (sete cátodos e quatro ânodos), um botão e os três pinos PMOD de saída que o servo / LED usará. Fotos de referência de como o código deve ser.
Etapa 4: Arquivo Flip Flop
O próximo arquivo que iremos escrever é o arquivo fonte flip_flip. Esta será uma implementação VHDL de um D flip-flop. Em outras palavras, ele só passará sua entrada para a saída na borda ascendente do sinal de clock e quando o botão for pressionado. Terá o relógio, D e o botão como uma entrada e produzirá Q. consulte as fotos para obter o código. O objetivo deste arquivo é permitir que as caixas abram apenas quando o botão é pressionado, em vez de abrir diretamente cada vez que a chave é virada e fechando apenas quando a chave é virada de volta.
Etapa 5: Arquivo de segmentos
O próximo arquivo a ser gravado é o arquivo de segmentos. Isso levará o botão como em valores de entrada e saída para os sete cátodos e quatro ânodos do display de sete segmentos do Basys 3. Este arquivo faz com que a exibição de sete segmentos mostre um "C" quando as caixas estão fechadas e um "O" quando as caixas estão abertas. Para ver o código, consulte a foto em anexo.
Etapa 6: Arquivo do divisor de relógio
Os servos funcionam tomando um sinal PWM com uma frequência de 64k Hz enquanto o relógio embutido no Basys 3 funciona a 50MHz. O arquivo divisor de relógio converterá o relógio padrão em uma freqüência amigável para o servo. O arquivo terá o relógio e um sinal de reinicialização como entrada e produzirá um novo sinal de relógio. Veja a foto em anexo para obter o código.
Etapa 7: Arquivo de sinal servo
O arquivo de sinal do servo terá uma entrada de relógio, uma entrada de reset e uma entrada de posição desejada. Ele emitirá um sinal PWM que conduzirá o servo à posição desejada. Este arquivo usa o sinal de clock criado no último arquivo para criar um sinal PWM para o servo com diferentes ciclos de trabalho dependendo da posição desejada. Isso nos permite girar os servos que controlam as tampas das lixeiras. Veja a foto em anexo para obter o código.
Etapa 8: Arquivo Servo Top
O objetivo deste arquivo é compilar os dois últimos arquivos em um driver servo funcional. Isso levará um relógio, um reset e uma posição como uma entrada e produzirá o sinal do servo PWM. Ele usará o divisor de relógio e o arquivo de sinal do servo como componentes e incluirá um sinal de relógio interno para passar o relógio modificado do divisor de relógio para o arquivo de sinal do servo. Veja as fotos em
Etapa 9: Arquivo principal
Este é o arquivo mais importante do projeto, pois envolve tudo o que criamos juntos. Ele terá o botão, os três interruptores e o relógio como entradas. Ele dará os sete cátodos, os quatro ânodos e os três sinais servo / LED como saídas. Ele usará flip-flop, segmentos e arquivos servo_top como componentes e terá uma chave interna e um sinal de servo interno.
Etapa 10: Teste no Vivado
Executar Síntese, implementação e gravação de bitsream no Vivado. Se você encontrar qualquer mensagem de erro, encontre o local do erro e, em seguida, compare com o código fornecido. Trabalhe nos erros até que todas essas execuções sejam concluídas com êxito.
Etapa 11: Criação de introdução de hardware
Nesta etapa, você criará o hardware de LED que usamos em nosso protótipo. Se estiver usando servos, o projeto deve estar pronto para funcionar, desde que os pinos corretos sejam usados. Se estiver usando LEDs, siga as etapas abaixo.
Etapa 12: Preparação
Corte o fio em seis pedaços iguais. Retire as pontas de cada pedaço de fio o suficiente para que a soldagem possa ocorrer. Separe LEDs, resistores e fios em três grupos. Aqueça o ferro de soldar.
Etapa 13: Solda
Solde cada um dos resistores de 68 ohm no lado negativo de seu LED correspondente. Solde um fio no lado positivo do LED e outro fio no lado do resistor não soldado ao led. Você deve ter três das engenhocas de LED na foto acima.
Etapa 14: Final
Insira cada fio positivo no pino PMOD correspondente e cada fio negativo em um pino PMOD aterrado. Opcionalmente, adicione latas de papelão para representar as lixeiras e esconder sua bagunça de solda. Depois que os fios estiverem conectados corretamente e o código for carregado corretamente na placa, sem erros, a máquina deve funcionar conforme o esperado. Se algo estiver errado, volte às etapas anteriores para solucionar o problema. Divirta-se com o seu novo "classificador de lixo".
Recomendado:
Como codificar um classificador de cores no Modkit for Vex: 7 etapas
Como codificar um classificador de cores no Modkit para Vex: Olá a todos, Neste tutorial, você aprenderá como codificar um classificador de bolas de cores no Modkit para Vex. Espero que você faça isso e divirta-se! Pls vote em mim
Faça um classificador de lixo de Pi com ML !: 8 etapas (com imagens)
Faça um Classificador Pi Trash com ML !: O projeto Trash Classifier, carinhosamente conhecido como " Para onde vai?! &Quot;, foi projetado para tornar o descarte de coisas mais rápido e confiável.Este projeto usa um modelo de aprendizado de máquina (ML) treinado em Lobe, amigável para iniciantes (sem código!)
CPE 133 Projeto Final Decimal para Binário: 5 etapas
CPE 133 Projeto Final Decimal para Binário: Os números binários são uma das primeiras coisas que vêm à mente quando se pensa em lógica digital. No entanto, números binários podem ser um conceito difícil para aqueles que são novos nele. Este projeto ajudará aqueles que são novos e experientes com números binários, mas
Escaninho classificador - Detectar e classificar seu lixo: 9 etapas
Escaninho classificador - detecte e classifique seu lixo: você já viu alguém que não está reciclando ou que o está fazendo de uma maneira ruim? Você já desejou uma máquina que reciclasse para você? Continue lendo nosso projeto, você não vai se arrepender! Escaninho de classificação é um projeto com uma motivação clara de ajudar
Metrônomo CPE 133: 3 etapas
CPE 133 Metronome: Para o nosso projeto final na Cal Poly, criamos um dispositivo de manutenção de ritmo chamado metrônomo. Escolhemos este projeto por causa de um interesse musical e design digital. Usamos laboratórios anteriores no CPE 133 para ajudar a projetar nosso código e tutoriais online para auxiliar no co