Índice:

SmartClock: 6 etapas
SmartClock: 6 etapas

Vídeo: SmartClock: 6 etapas

Vídeo: SmartClock: 6 etapas
Vídeo: This is the BEST MATRIX DISPLAY CLOCK for Home Assistant! 2024, Julho
Anonim
SmartClock
SmartClock
SmartClock
SmartClock
SmartClock
SmartClock

O SmartClock não é apenas um relógio, é também uma maneira fácil de ver estatísticas de mídia social e o clima.

Você pode se conectar ao Facebook e obter seus gostos ou conectar-se ao soundcloud e ter seus seguidores exibidos ao vivo! A única coisa que você precisa fazer para ver isso é pressionar o botão de modo.

Existem vários sensores neste dispositivo, que constantemente reúnem informações e as mantêm em um banco de dados. Você pode visualizar esses dados, em um belo gráfico no site.

Você também pode reproduzir música, que você seleciona na unidade ou no site.

Suprimentos

- Raspberri Pi

- Arduino Uno

- Alto-falantes com ampilificador

- display de 4 * 7 segmentos

- DHT 11

- LM35 (opcional)

- LDR

- MCP3008

- Display LCD 16x2

- 5 interruptores monoestáveis normalmente abertos

- Resistores 100k, 220, 1k e 5k

- Fonte de energia

- Muitos cabos de ligação, macho / fêmea e fêmea / fêmea

Etapa 1: Pinagem DHT 11

Pinagem DHT 11
Pinagem DHT 11
Pinagem DHT 11
Pinagem DHT 11
Pinagem DHT 11
Pinagem DHT 11

Existem 2 tipos de DHT11. Dependendo da versão que você comprou, você terá 3 ou 4 pinos.

Vcc vai para 3,3 V, o sinal vai para GPIO4Se você tem uma versão de 4 pinos, você precisa colocar um resistor de 4k7 entre o vcc e o pino de sinal. Se você tiver uma versão de 3 pinos, você está pronto para ir.

Etapa 2: MCP3008 com LDR, LM35 e interruptores Pulldown

MCP3008 com LDR, LM35 e interruptores Pulldown
MCP3008 com LDR, LM35 e interruptores Pulldown
MCP3008 com LDR, LM35 e interruptores Pulldown
MCP3008 com LDR, LM35 e interruptores Pulldown
  • VDD - 3,3V
  • Vref - 3,3V
  • AGND - Terra
  • CLK - GPIO9
  • DOUT - GPIO MISO
  • DIN - GPIO MOSI
  • CS - CS0
  • DGND - Terrestre

CH0 fica entre um resistor de 10k e um ldr

CH1 vai para o pino do meio do Lm35

Etapa 3: display LCD

Tela de LCD
Tela de LCD

Para fazer seu display LCD funcionar, conecte o primeiro pino ao aterramento e o segundo a + 5V. O terceiro pino deve ser conectado através de um resistor de 5k ao aterramento, ou um potenciômetro se você quiser alterar o brilho.

O pino RS vai para GPIO22, RW vai direto para o gnd também. Neste ponto, você deve ver uma linha de retângulos pretos em sua tela. agora, basta conectar os 8 pinos de dados aos pinos GPIO que você liberou e conectar o LED + a 5v, o LED- ao aterramento.

Etapa 4: Display de 4 * 7 segmentos

Display de 4 * 7 segmentos
Display de 4 * 7 segmentos

Sua tela pode ser um ânodo / cátodo comum. Não importa como você o conecta, mas é bom saber que tipo você possui. Certifique-se de manter o pino RX0 livre, pois precisaremos conectá-lo ao TX0 no RPI. O resto das conexões não importa, pois o código é escrito depois.

Etapa 5: construção

Construção
Construção
Construção
Construção

Para criar essa configuração em uma placa de ensaio, você precisará de muito espaço. Eu recomendaria soldar o MCP com LM35 e todos os resistores em um testprint e adicionar alguns cabeçalhos. Dessa forma, você pode apenas conectá-lo com alguns fios de jumper fêmea / fêmea. Certifique-se de conectar os aterramentos raspberri e arduino. Tenha cuidado para não misturar 3,3 V com 5 V

Etapa 6: Software

Programas
Programas
Programas
Programas

Usei Python, com frasco para back-end. Html, css / less e javascript como frontend e código do arduino para o arduino.

Há também um banco de dados em execução no Raspberry pi que salva os dados do sensor, bem como os alarmes que você configurou e as informações do usuário. Este banco de dados é executado em um servidor MariaDB. As consultas para obter dados disso são escritas em meu backen, em python. Isso converte dados em json em terminais personalizados. Podemos obter esses dados em nosso front-end, enviando uma solicitação GET para o nosso back-end. Aqui podemos fazer o que quisermos com os dados. Escolhi os gráficos, feitos por chart.js, que é uma extensão javascript.

Recomendado: