Índice:

Relógio digital de rádio amador Raspberry Pi: 8 etapas (com fotos)
Relógio digital de rádio amador Raspberry Pi: 8 etapas (com fotos)

Vídeo: Relógio digital de rádio amador Raspberry Pi: 8 etapas (com fotos)

Vídeo: Relógio digital de rádio amador Raspberry Pi: 8 etapas (com fotos)
Vídeo: Raspberry Pi Build for Ham Radio Part 1 Step by Step 2024, Novembro
Anonim
Relógio digital amador de rádio Raspberry Pi
Relógio digital amador de rádio Raspberry Pi

Visão geral

Operadores de rádio amador (também conhecido como HAM Radio) usam 24 horas UTC (Universal Coordinated Time) para grande parte de sua operação. Decidi construir um relógio digital usando os visores de 4 dígitos TM1637 de baixo custo e um Raspberry Pi Zero W em vez de apenas um relógio GUI. (Hardware é divertido!)

O display controlado por TM1637 possui quatro leds de 7 segmentos com dois pontos centrais “:” entre dois conjuntos de dígitos. São necessários dois fios para acionar o monitor mais 5 V + e aterramento para um total de 4 fios.

Para este projeto específico, eu queria que o Raspi obtivesse seu tempo de servidores NTP (Network Time Protocol) através da Internet. Estou planejando outra versão deste relógio para rodar em um Arduino Uno e um módulo Real-Time Clock, para quando não houver WiFi disponível e para uma operação mais portátil.

Eu também queria que o relógio mostrasse o horário local nos formatos de 12h e 24h, bem como o UTC nos formatos de 12h e 24h. O software é projetado para permitir que você use apenas UTC 24 horas (presuntos típicos) ou horários diferentes em até 4 monitores diferentes.

Você também pode definir o FUSO HORÁRIO que deseja usar em vez do horário local padrão. Assim, cada um dos quatro monitores pode mostrar um fuso horário diferente e no formato de 12 ou 24 horas.

Este projeto requer conectores ou fios de soldagem no Pi e / ou nos módulos tm1637.

As instruções completas também estão disponíveis no GITHUB:

Etapa 1: Requisitos

Requisitos
Requisitos

• Raspberry Pi2, 3 ou Zero W. (ou seja, qualquer pi com o cabeçalho de 40 pinos e Ethernet / Wifi)

• 4 - Módulos de display de 4 dígitos TM1637

E / ou

NOTA: você pode usar os maiores ou menores, desde que sejam compatíveis com TM1637.

• Chicote de fios com 16 fios (cada TM1637 precisa de 4 fios)

• Placa de ensaio e fios sem solda ou

• Placa de ensaio capaz de soldar e vários conectores de pino.

• MicroSD de 8 GB ou maior para Pi

• Fonte de alimentação 5v para Pi.

Etapa 2: Instalação do software

Este aplicativo usa a biblioteca python TM1637.py, fácil de usar, escrita por Tim Waizenegger. (Se você quiser detalhes sobre a biblioteca, verifique:

Você sabia?

Se você instalar o Raspbian em um cartão SD usando um PC, poderá criar dois arquivos no cartão para configurar o acesso WiFi e SSH antes de inicializá-lo em um Raspberry?

Para isso, suponha que seu cartão SD esteja montado atualmente como K: em seu PC:

1) Instale a imagem Raspbian Lite no SD.

www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit

2) Com o bloco de notas, crie um arquivo chamado apenas “ssh” e use Salvar como “Todos os arquivos” em K: / ssh

O arquivo pode conter qualquer coisa. É o nome do arquivo que é importante. NÃO deve ser “ssh.txt” !!!

3) Com o bloco de notas, crie um segundo arquivo chamado “wpa_supplicant.conf” com o seguinte:

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdevupdate_config = 1 rede = {ssid = "mySSID" psk = "minha senha" key_mgmt = WPA-PSK}

Use Salvar como “Todos os arquivos” em K: / wpa_supplicant.conf

Novamente, não deixe o Bloco de Notas alterá-lo para “wpa_supplicant.conf.txt” !!

Quando você inicializa o Raspberry pela primeira vez, o Raspbian os procura e se conecta ao seu Wifi. No entanto, você terá que procurar o endereço IP em seu roteador, já que ele foi atribuído automaticamente.

Etapa 3: Instalação do software - Pt.2

1. Se ainda não o fez, instale a versão Raspbian Lite em um cartão microSD de 8 GB ou maior. Você NÃO precisa da versão GUI, pois este projeto não usa monitor ou teclado.

NOTA !: Este projeto requer Python2.7!

www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit

2. Você precisará acessar o Raspberry remotamente via SSH. No Windows, você pode usar o programa de terminal PUTTY SSH. No Mac, basta abrir uma janela de terminal de comando.

3. Insira o cartão microSD no Pi e conecte-o agora. A inicialização levará alguns minutos.

4. Para fazer login remotamente em seu Raspberry Pi, você precisará encontrar seu endereço IP. Você pode tentar: $ ssh [email protected] (Ou em Putty, digite o nome do host [email protected] Caso contrário, você precisará ver se o seu roteador mostrará os endereços IP dos seus dispositivos locais. O id / senha padrão é “pi /framboesa"

Uma vez conectado como usuário pi:

5. Atualize seu Raspbian: $ sudo apt update $ sudo apt upgrade

6. Configure o Raspberry: $ sudo raspi-config a. Alterar a senha do usuário b. Opções de localização -> Alterar fuso horário Selecione seu fuso horário local c. Tab para terminar

7. Instale o software RaspiDigiHamClock: $ cd / home / pi $ sudo apt update $ sudo apt install git $ git clone

8. Desligue seu Pi para configurar o hardware $ shutdown now Depois que o LED apaga, desconecte a energia

Etapa 4: Fiação do Hardware

Fiação de Hardware
Fiação de Hardware
Fiação de Hardware
Fiação de Hardware
Fiação de Hardware
Fiação de Hardware

Você pode soldar conectores nos módulos TM1637 e no Raspberry Pi (se ainda não tiver um conector). Antes de começar, decida como deseja montar os visores e se vai usar uma placa de ensaio ou fios de solda diretamente no Pi e nos módulos do visor.

Pinos do módulo TM1637

Fiação Nota: Alguns módulos tm1637 invertem os pinos + 5v e GND! Portanto, podem não ser iguais às fotos.

O módulo TM1637 é um módulo de display de LED de 4 dígitos que usa o chip do driver TM1637. São necessárias apenas duas conexões para controlar o display de 4 dígitos e 8 segmentos. Dois outros fios alimentam 5+ volts e aterram.

PIN DESC CLK Clock DIO Data In GND Ground 5V +5 volts

Alguns módulos tm1637 invertem os pinos + 5v e GND, então verifique as marcações do seu módulo

Teste cada Módulo; sugiro começar com um único cabo conector fêmea de 4 fios com conectores machos soldados a um dos módulos e ao Pi. Em seguida, conecte temporariamente o primeiro módulo até os pinos mostrados abaixo.

TESTE TEMPORÁRIO A MODULETM1637 Módulo Pino Pi Pino Físico # 5V 2 GND 6 CLK 40 DIO 38 Veja os Diagramas GPIO mais abaixo para encontrar os layouts dos pinos.

A segunda foto mostra dois monitores temporariamente conectados a um Raspberry Pi 3 com o software em execução.

1. Depois de ter um módulo temporariamente conectado e verificado sua fiação

2. Ligue o Raspberry Pi. O LED vermelho no módulo deve acender, mas ainda NÃO haverá NENHUM DISPLAY.

3. SSH em seu Pi novamente como anteriormente.

$ cd RaspiDigiHamClock

$ python test.py

Você deverá ver o visor percorrer várias mensagens curtas. Se não o fizer, primeiro verifique a fiação novamente! É fácil virar um fio ou conectar no pino GPIO errado no Pi. Se você receber uma mensagem de erro do Python, verifique sua versão do Python usando:

$ python -V (“V” maiúsculo)

Python 2.7. X

Não testei em Python 3, então não tenho certeza se a biblioteca é compatível.

Copie a mensagem de erro (geralmente a última linha do erro) e cole na pesquisa do Google. Isso pode dar uma pista do que aconteceu.

Se o seu módulo funcionar, parabéns! Você sabe que o módulo e o Pi estão funcionando. Agora repita para cada módulo para testá-lo. (Sugiro desligar o Pi e desligar ANTES de conectar / desconectar os módulos !!)

$ sudo shutdown now

Etapa 5: Pinos GPIO no Raspi

Pinos GPIO em Raspi
Pinos GPIO em Raspi
Pinos GPIO em Raspi
Pinos GPIO em Raspi
Pinos GPIO em Raspi
Pinos GPIO em Raspi

Este projeto usa as ids BOARD físicas GPIO para os pinos.

Esse é o pino 1 ao pino 40. Não a numeração do pino GPIO “BCM”. (Sim, um pouco confuso, mas BOARD é apenas a contagem de pinos do canto superior esquerdo ao inferior direito.)

Módulo de exibição TM1637 Módulo Pino Pi Pino físico # Alimentação 5V 2 Terra GND 6

Módulo # 1 CLK 33

DIO 31

Módulo # 2 CLK 36

DIO 32

Módulo # 3 CLK 37

DIO 35

Módulo # 4 CLK 40

DIO 38

Nota: Você não precisa adicionar todos os 4 módulos, se desejar. Você pode ter entre 1 e 4 módulos. (Sim, é possível ir para mais módulos, mas você precisa alterar o código para oferecer suporte a mais.)

MAS, você DEVE conectar os módulos sequencialmente, começando no Módulo # 1

Isso ocorre porque a biblioteca TM1637 espera um ACK do módulo e, de outra forma, parece travar, esperando.

Fotos de amostra da placa de ensaio soldadaVocê precisa seguir seu próprio padrão de fiação para corresponder aos pinos GPIO mostrados anteriormente, uma vez que os conectores e módulos que usei podem não corresponder aos seus.

Etapa 6: Teste

Uau, isso foi um pouco de fiação! Agora é hora de testar a fumaça …

Como você já conhece os módulos individuais e o trabalho do Pi (você testou os módulos conforme descrito anteriormente?), A próxima etapa é configurar o arquivo. INI e executar o programa clock:

1. Edite o raspiclock.ini

$ cd / home / pi / RaspiDigiHamClock

$ nano raspiclock.ini

2. Altere num_modules para quantos você conectou. Isso é importante porque a biblioteca irá travar esperando por um ACK se não puder se comunicar com um módulo. Certifique-se de conectar o número de módulos, NA ORDEM MOSTRADA no. INI Nota: TZ extra e HR e PINs GPIO são ignorados se num_modules for menor que 4.

3. Adicione fusos horários para cada módulo.

Estes são os nomes TZ do Linux, como ‘America / New_York ', EST5EDT, UTC ou‘Local’para seu fuso horário local, conforme definido via raspi-config. O padrão é UTC

4. Defina se deseja exibir o modo de 12h ou 24h para cada módulo

[RELÓGIO]; Número de módulos TM1637 (entre 1 e 4) num_modules = 2

; Fusos horários para cada módulo

; Use raspi-config para definir o fuso horário local; O padrão é UTC; O formato é nomes Linux TZ ou 'Local' para hora local; 'America / New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =

; 12/24 horas para cada módulo

HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24

; BRILHO (intervalo 1..7)

LUM = 1

5. Você não deve ter que editar os pinos GPIO, a menos que você os conecte em pinos diferentes no Pi.

6. Salve as alterações e execute o relógio:

$ python raspiclock.py

Se tudo correr bem, todos os seus módulos de display deverão acender com os tempos configurados no arquivo. INI.

Parabéns! Pule a solução de problemas e vá para a instalação final …

Etapa 7: Solução de problemas

Você deverá ver algumas mensagens de depuração simples:

Inicializando… Número de módulos = 4 Iniciando loop de relógio… Módulo # 1 displayTM () Módulo # 2 displayTM () Módulo # 3 displayTM () Módulo # 4 displayTM () (repetindo…)

Se você testou os módulos anteriormente e todos funcionaram, então você sabe que os módulos e o Raspberry são bons.

A) HANG - Se as mensagens de depuração parecem travar em um ponto, o programa está esperando por um ACK daquele módulo #.

Primeiro verifique sua fiação! É fácil virar um fio ou conectar no pino GPIO errado no Pi.

Em segundo lugar, troque os módulos para ver se um módulo estragou repentinamente.

Terceiro, verifique se há erros no arquivo raspiclock.ini. Se necessário, exclua o diretório inteiro e execute outro GIT CLONE para recuperar novamente.

Quarto, verifique sua fiação novamente!;-)

B) Se você receber uma mensagem de erro do Python, verifique sua versão do Python usando:

$ python -V (“V” maiúsculo)

Python 2.7. X

Não testei em Python 3, então não tenho certeza se a biblioteca é compatível. Copie a mensagem de erro (geralmente a última linha do erro) e cole na pesquisa do Google. Isso pode dar uma pista do que aconteceu.

Etapa 8: Instalação final

Instalação Final
Instalação Final

1. Edite o arquivo. INI novamente e defina debug = 0. $ cd / home / pi / RaspiDigiHamClock

$ nano raspiclock.ini

2. Verifique também se os fusos horários TZ e as configurações de hora 12/24 HR estão como você deseja.

3. Defina o brilho desejado entre 1 e 7.

4. Execute o script install.sh para adicionar ao crontab pi para inicialização automática na inicialização.

$ sh install.sh

5. Reinicializar

$ sudo reboot

6. Ele deve reiniciar e, em seguida, começar a funcionar.

FINALIZADO!

Recomendado: