Índice:

Sistema de anúncio de token: 5 etapas
Sistema de anúncio de token: 5 etapas

Vídeo: Sistema de anúncio de token: 5 etapas

Vídeo: Sistema de anúncio de token: 5 etapas
Vídeo: CYLUM AIRDROP ИНСТРУКЦИЯ КАК ПОЛУЧИТЬ МОНЕТЫ 2024, Julho
Anonim
Sistema de anúncio de token
Sistema de anúncio de token

No instrutível anterior, vimos como fazer seu Arduino falar. Hoje vamos explorar um pouco mais o mesmo tópico. Todos nós devemos, em algum momento da vida, ter encontrado um sistema de anúncios, talvez em um banco ou uma estação de trem. Você já se perguntou como funcionam esses sistemas de anúncio? Bem, eles funcionam no princípio semelhante ao nosso último projeto. Portanto, hoje neste tutorial faremos um Sistema de anúncio de token capaz de anunciar tokens de 1 a 999, ou seja, um total de 999 tokens (1000 se você incluir 0). Então, vamos ao processo de construção !!!

Etapa 1: Reúna os suprimentos

Reúna os suprimentos
Reúna os suprimentos
Reúna os suprimentos
Reúna os suprimentos
Reúna os suprimentos
Reúna os suprimentos

Ei, se você está procurando uma loja online para comprar os componentes, então UTSource.net é o site que você precisa verificar. Eles têm uma grande variedade de módulos e componentes eletrônicos a preços acessíveis. Eles também fornecem serviços de PCB para até 16 camadas. Verifique o site deles.

Vamos dar uma olhada nos módulos de que precisamos para este projeto -

1. Placa Arduino Uno

2. Teclado de matriz 4 * 4

3. Módulo de cartão SD

4. Conector de áudio de 3,5 mm

5. Alto-falante com amplificador embutido e um cabo AUX

6. Alguns fios de cabeçalho

A maioria desses componentes foi usada em nossos projetos anteriores.

Etapa 2: Diagrama de Circuito

Diagrama de circuito
Diagrama de circuito

O diagrama de circuito para este projeto é exatamente o mesmo do projeto Talking Arduino. A única diferença é o teclado. A interface de um teclado é bastante simples. Basta conectar as linhas do teclado aos pinos do Arduino, conforme mostrado acima.

(O teclado que usei neste projeto não é o mesmo do circuito porque não encontrei o correto na lista de peças de Fritzing. Portanto, ignore o primeiro e o último pinos do teclado no circuito.)

Conecte os canais esquerdo e direito do conector de áudio ao pino digital 10 do Arduino. E o pino de aterramento no solo do Arduino.

Siga o diagrama para fazer o resto das conexões.

Etapa 3: Preparando os arquivos de áudio

Preparando os Arquivos de Áudio
Preparando os Arquivos de Áudio
Preparando os Arquivos de Áudio
Preparando os Arquivos de Áudio

Agora você deve ter isso em mente que, ao usar o módulo de cartão SD e a biblioteca TMRpcm, você só pode usar o formato de áudio.wav. Nenhum outro formato de áudio funcionará.

Portanto, para converter seus arquivos de áudio gravados ou os arquivos que você pretende instalar no cartão SD, você deve usar este conversor de áudio online >> CLIQUE AQUI

Mantenha as configurações de conversão conforme mostrado na imagem acima.

E se você quiser vozes digitalizadas legais que ouvimos nos sistemas reais, verifique este site que converte o texto escrito em fala. E então podemos baixá-lo no formato mp3, que pode ser convertido para o formato.wav do site mencionado acima.

CLIQUE AQUI PARA VISITAR O SITE

Você também pode baixar os arquivos de áudio que usei abaixo. Feito isso, é hora de programar a placa.

Etapa 4: codificação

Codificação
Codificação

Baixe o arquivo.ino abaixo. Compile e carregue o programa em sua placa Arduino. Se você enfrentar qualquer problema ao enviar o código, sinta-se à vontade para entrar em contato comigo ou deixar um comentário abaixo. Eu ficaria feliz em ajudá-lo.

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; const byte ROWS = 4; // quatro linhas const byte COLS = 4; // chaves de caracteres de quatro colunas [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {A0, A1, A2, A3}; // conectar à pinagem de linha do byte do teclado colPins [COLS] = {9, 8, 7, 6}; // conectar à pinagem da coluna do teclado Teclado teclado teclado = Teclado (makeKeymap (keys), rowPins, colPins, ROWS, COLS); void setup () {tmrpcm.speakerPin = 10; Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD falha"); Retorna; } / * tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); // Usado para teste (não inclua no código final) delay (1000); * /} void loop () {Serial.println ("Insira num de três dígitos -"); para (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {delay (1); // Apenas espere por uma tecla} // Espere que a tecla seja liberada while (keypad.getKey ()! = NO_KEY) {delay (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("Token enviado"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); atraso (2000); Verifica(); } if (myNum [3] == 'B') {Serial.println ("Token não enviado"); i = 0; } if (myNum [3] == '*') {Serial.println ("Reg desk"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("fechando"); tmrpcm.setVolume (5); tmrpcm.play ("hash.wav"); i = 0; } if (myNum [3] == 'D') {Serial.println ("Sub"); tmrpcm.setVolume (5); tmrpcm.play ("D.wav"); i = 0; }} void check () {for (int c = 0; c <3; c ++) {if (myNum [c] == '0') {tmrpcm.setVolume (5); tmrpcm.play ("zero.wav"); atraso (1000); } if (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); atraso (1000); } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("two.wav"); atraso (1000); } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); atraso (1000); } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); atraso (1000); } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("five.wav"); atraso (1000); } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); atraso (1000); } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("seven.wav"); atraso (1000); } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("eight.wav"); atraso (1000); } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("nine.wav"); atraso (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }

Se você alterar os nomes dos arquivos de áudio, certifique-se de editá-los no código também. Feito isso, seu projeto está pronto para ser testado. Vamos ver como isso funciona.

Etapa 5: Trabalho do Projeto

Trabalho do Projeto
Trabalho do Projeto

Eu carreguei um vídeo do projeto abaixo. Você pode verificar isso. O projeto funcionou de acordo com minhas expectativas. A única limitação que enfrentei foi a ausência de uma tela separada para o projeto. Não podemos manter o laptop conectado o tempo todo. Seu outro caso se você trabalhar em um laptop o dia todo e tiver muitas portas USB disponíveis.

Então eu quero que vocês adicionem um lcd (qualquer um serve) neste projeto e me enviem um link desse projeto.

Este projeto pode ser usado em seus escritórios ou recepções se você tiver muitas visitas diárias.

Adicionar uma fonte de alimentação separada e um LCD tornará este projeto independente. Confio essa tarefa a vocês.

Se você gosta do meu trabalho, ajude-me compartilhando meus projetos nas redes sociais. Por enquanto é isso. Vejo você em breve com outro projeto em breve.

Recomendado: