Índice:

Guia de uso do teclado de um pino Raspberry Pi: 9 etapas
Guia de uso do teclado de um pino Raspberry Pi: 9 etapas

Vídeo: Guia de uso do teclado de um pino Raspberry Pi: 9 etapas

Vídeo: Guia de uso do teclado de um pino Raspberry Pi: 9 etapas
Vídeo: O que é RaspberryPi? Conheça esse mini computador revolucionário! 2024, Novembro
Anonim
Guia de uso do teclado de um alfinete Raspberry Pi
Guia de uso do teclado de um alfinete Raspberry Pi

ISENÇÃO DE RESPONSABILIDADE: ESTE É UM GUIA DE USO PARA UM PRODUTO DE FONTE ABERTA: O TECLADO DE UM PIN. ESTE NÃO É UM PROJETO DIY. SE VOCÊ QUER FAZER AS PLACAS VOCÊ MESMO, OS ARQUIVOS DA ÁGUIA PODEM SER ENCONTRADOS NO FINAL DO TUTORIAL

O que é o teclado de um pino?

O teclado de um pino torna o uso de um teclado de matriz muito mais fácil e permite que você reserve seus preciosos pinos de E / S para outros fins. Um teclado de matriz de 16 botões normalmente requer 8 entradas digitais em um microcontrolador ou computador de placa única. Os Arduinos mais populares limitam você a apenas 14 pinos digitais, então um teclado de 16 botões deixa você com apenas 6 pinos para o resto do seu projeto. Essa escassez de recursos pode levar a uma compensação de projeto cara ou a uma atualização de microcontrolador mais cara. O módulo de teclado de um pino elimina a necessidade de todas essas entradas digitais. Como o nome indica, o teclado de um pino usa apenas um pino (uma entrada analógica) mais as conexões GND e VCC, portanto, conectar seu teclado é muito fácil! Para usuários do Raspberry Pi (o público-alvo deste tutorial), ele também requer um conversor analógico para digital ADS1115, que é realmente fácil de conectar. O pacote Python do teclado de um pino (incluído) também simplifica a programação necessária para processar as entradas do teclado, economizando mais tempo e esforço.

Para o Guia de uso do Arduino, clique aqui.

Etapa 1: Reúna todas as peças

Reúna todas as peças!
Reúna todas as peças!

Para começar a usar o teclado de um pino, você precisará de:

  • Um teclado de um pino
  • Um Arduino de algum sabor (um Arduino Nano foi usado neste caso)
  • 3 cabos de jumper M / F,
  • 4 M / M OU mais 4 cabos de jumper M / F, dependendo do tipo de conectores do seu Raspberry Pi
  • Um teclado de membrana de 16 botões
  • Breadboard (um muito pequeno é usado aqui)
  • Um Módulo ADS1115 (da Adafruit ou um clone)
  • Um Raspberry Pi com conexão à Internet e Raspbian OS (usei Stretch)
  • Acessórios Raspberry Pi (um cabo HDMI, uma fonte de alimentação, dongles, monitor, etc. depende do sabor do seu Raspberry Pi)

Etapa 2: Fiação

Fiação!
Fiação!
Fiação!
Fiação!

Conecte o teclado de um pino de acordo com o diagrama de Fritzing, a foto ou ambos, o que você preferir.

Observação: a nota no diagrama de Fritzing representa o teclado de um pino (e as abreviações GND VCC e AOUT designam a pinagem da placa do teclado de um pino)

Etapa 3: Instalação do pacote Python

Instalação do pacote Python!
Instalação do pacote Python!
Instalação do pacote Python!
Instalação do pacote Python!

Abra uma janela de terminal e digite os seguintes comandos:

sudo apt-get update

então

pip3 instalar Progetto-One-Pin-Keypad

para instalar o pacote e suas dependências necessárias

Etapa 4: instalando os exemplos

Instalando os exemplos
Instalando os exemplos

Eu criei uma pasta dev para hospedar o repositório em home / pi se você quiser fazer o mesmo (é totalmente opcional), execute este comando:

mkdir dev

em seguida, para navegar até a pasta, digite:

cd dev

Por último, para clonar o repositório, digite o seguinte comando:

git clone

Etapa 5: Habilitando I2C

Habilitando I2C
Habilitando I2C
Habilitando I2C
Habilitando I2C
Habilitando I2C
Habilitando I2C

O ADS1115 ADC (Conversor Analógico para Digital) depende do protocolo I2C (Inter-Integrated Circuit) para se comunicar com o Raspberry Pi, por padrão o barramento I2C está desabilitado, para habilitá-lo, digite:

sudo raspi-config

que o levará a uma janela de configuração azul, a partir daí, usando as teclas de seta e a tecla Enter, escolha

  1. Opções de interface
  2. I2C
  3. Então desça para

Dica: consultar as imagens acima pode ajudar um pouco! Se você ainda está preso, não tenha medo! Consulte este incrível how-to do Sparkfun!

Etapa 6: Execute Calibratethresholds

Execute Calibratethresholds!
Execute Calibratethresholds!

Navegue até o repositório, se ainda não o fez, e vá para a pasta de exemplos usando estes comandos:

Dica: digite 'cd Prog' e pressione Tab, ele deve preencher automaticamente o nome do repositório!

cd Progetto_One_Pin_Keypad_Python_Package

então digite:

exemplos de cd

em seguida, execute o exemplo calibratethresholds usando este comando:

python3 calibratethresholds

e siga as instruções exibidas no console para calibrar sua placa. Após a calibração percorrer todos os botões, teste seus novos valores analógicos para ver se eles funcionam pressionando alguns botões quando solicitado para "Começar". Se os novos valores se mostrarem imprecisos, use Ctrl C para encerrar o programa e executá-lo novamente.

O exemplo de calibração deve fornecer 2 linhas de código que você precisará no próximo exemplo, certifique-se de manter o console aberto e / ou copie os dois!

Etapa 7: Modifique e execute Readkeypadwithtimeout

Modifique e execute Readkeypadwithtimeout
Modifique e execute Readkeypadwithtimeout
Modifique e execute Readkeypadwithtimeout
Modifique e execute Readkeypadwithtimeout
Modifique e execute Readkeypadwithtimeout
Modifique e execute Readkeypadwithtimeout

Agora que seu teclado de um pino está calibrado, é hora de colocá-lo em uso. Embora você possa fazer isso a partir da linha de comando usando o vi, eu pessoalmente prefiro usar um IDE como o IDLE.

Abra o IDLE (você deseja a versão python3) e modifique as seguintes linhas:

Lembra daquela matriz de valor analógico que você copiou? Substitua a linha 13 (veja abaixo) por esses valores analógicos recém-calibrados.

# ex: my_thresholds = [valores calibrados estariam aqui]

é substituído por este:

my_thresholds = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]

Em seguida, adicione a próxima linha de código após a linha 23 (veja abaixo):

keypad.useCalibratedThresholds (my_thresholds)

é adicionado após a linha 23:

# ex: keypad.use_calibrated_thresholds (seu nome de array)

fazendo as linhas 22 a 24 parecerem assim no final:

# Se valores calibrados estiverem sendo usados, use_calibrated_thresholds abaixo:

# ex: keypad.use_calibrated_thresholds (seu nome de array)

keypad.use_calibrated_thresholds (my_thresholds)

Depois de fazer isso, execute o código e teste-o pressionando alguns botões! Sinta-se à vontade para adaptar o esboço de exemplo aos seus projetos! Lembre-se de que read_keypad_with_timeout retorna o botão pressionado como um caractere e o tempo limite é definido em milissegundos! Se você não quiser um tempo limite, use a constante keypad. NO_TIMEOUT.

Etapa 8: Como funciona o teclado de um pino

Como funciona o teclado de um pino
Como funciona o teclado de um pino
Como funciona o teclado de um pino
Como funciona o teclado de um pino

Muito do design do teclado de um pino é baseado na implementação de Hari Wiguna de um divisor de tensão para obter um valor analógico exclusivo para cada tecla em um teclado de 16 pinos. O design do teclado de um pino permanece basicamente o mesmo, com alguns ajustes. Se você quiser um ótimo tutorial sobre como o teclado de um pino funciona, fique à vontade para conferir o vídeo incrível de Hari Wiguna aqui!

Etapa 9: Conclusão

Conclusão
Conclusão

Neste instrutível, abordamos como começar a usar a placa do teclado de um pino. Agora, os curiosos podem ter se perguntado por que o esboço de exemplo readKeypadInstantaneous nunca foi usado, a razão é que não é tão útil, porque o botão tem que ser pressionado quando é chamado, a função readKeypadInstantaneous () é usada principalmente para simplificar readKeypadWithTimeout () na biblioteca. Se chamar a sua atenção, sinta-se à vontade para dar uma volta. Feliz Hacking!

Se você tiver alguma dúvida, deixe um comentário abaixo ou envie um e-mail para [email protected]. Atenciosamente, Progetto Company P. S. Conforme prometido, um link para os Arquivos Águia do conselho.

Recomendado: