» Eletrônicos » Arduino »Relógio com termômetro no Attiny

Relógio Termômetro Attiny

Relógio Termômetro Attiny



Olá a todos e tenham um bom dia ou noite. Desta vez, compartilharei as instruções para fazer um relógio de sala com um termômetro. O centro de computação do relógio será o Attiny85, montado em uma placa do Digispark. Para exibir o relógio - Oled. Termômetro - o conhecido ds18b20. Para energia, usamos o li-ion 18650 (eles podem ser obtidos a partir de uma bateria antiga de um laptop). E adicione uma exibição do nível da bateria. Como em todos os meus relógios anteriores, ficaremos sem o módulo RTC (relógio em tempo real).

Coletamos tudo o que é necessário:

- Digispark Attiny85 (versão micro USB)
- ds18b20 (em uma caixa de plástico)
- Tela Oled com resolução de 128x64, I2C
- 2pcs 18650 baterias ou uma bateria de íon de lítio antiga
- Resistores (3,3 kΩ, 4,7 kΩ, 10 kΩ)
- Plástico fino (para caixa)
- Conexão de fios de cores diferentes
- programador ISP (ou qualquer Arduino taxa)
- Botão
- Conectores Dupont 2,54 mm "mãe", "pai"
- Faca de papelaria, fita dupla face, fita isolante, hotmelt
- Tudo para solda (ferro de solda, resina, solda)

Etapa 1 Caso.
A futura caixa de relógio será feita de plástico fino. Você pode comprar uma folha desse plástico em uma loja especializada ou encomendar no aliexpress. Ou você pode (para não esperar e não olhar) para ir ao escritório e comprar uma pasta de papel plástico da sua cor favorita. Dimensões do futuro relógio: largura - 40 mm, espessura - 30 mm, altura - 70 mm. De acordo com o diagrama abaixo, recortamos uma digitalização em plástico:


Cortamos ao longo de linhas grossas, dobramos suavemente ao longo de linhas finas. Recortamos o retângulo no meio usando uma faca de escritório, esta é uma janela para exibição. Como resultado, obtemos uma varredura de plástico:


Passamos para Attiny.

Etapa 2 Attiny + Oled.
Como eu disse, em nosso coração caseiro será o Attiny 85. É melhor comprar esse chip, imediatamente soldado à placa junto com um regulador de tensão e um chicote. O Digispark Attiny85 é adequado. Escolha a versão com micro-USB na placa. Outras modificações na placa não cabem no tamanho. Acontece que esta placa é vendida com conectores "macho" Dupon já soldados. Nesse caso, solde todos os conectores. Coletamos fios coloridos. Precisamos de 10 centímetros em cores diferentes. Nós os soldamos em Attiny e anotamos a qual fio, a que conclusão corresponde. Os fios P0 e P2 devem ser soldados em dois fios. O segundo par é necessário para conectar a tela Oled. Temos o seguinte:


Eu escrevi o seguinte diagrama no fio:


A tela é pequena (para combinar com o controlador), mas está linda. OLED (diodo orgânico emissor de luz) é uma exibição gráfica. Não há luz de fundo e, em vez disso, cada pixel é um LED independente. Tamanhos de tela - 0,96 polegadas.Resolução 128x64. Conectado via barramento I2C. Usa apenas dois fios para conectar-se ao Attiny. Eles vêm em cores diferentes, escolha ao seu gosto. Eu gostei do azul com uma faixa amarela no topo. Agimos de forma semelhante ao Digispark. Se houver conectores soldados - solde-os. Solda, por enquanto, apenas os fios de energia:


Cuidado ao soldar, não danifique o cabo com um ferro de soldar no visor:


Conectamos as placas usando fita dupla face:


Soldamos as telas Digispark Attiny e Oled juntas de acordo com o esquema (as cores dos fios podem variar, o principal é não mexer nas conclusões):


Por conveniência e ordem, coletamos todos os fios juntos. Você pode torcê-los com fita isolante para não ficar confuso:


No final de todos os fios, conectamos o conector "fêmea" da Dupont, insira-o nos isoladores e enrole tudo junto com fita isolante para fazer o conector. Também registramos a pinagem do conector:


A pinagem deve ser assim, pois no futuro conectaremos um fio para firmware ou outros elementos do relógio ao conector.
Colamos a estrutura resultante no estojo e não esquecemos de colar o estojo em si, deixando um gemido não colado, para outras manipulações:


Ao colar, preste atenção que a tela é uniforme:


Etapa 3 Potência.
Para energia, usaremos dois elementos Li-ion. Digite 18650. Você pode comprá-los separadamente. Nesse caso, solde-os em paralelo, isole e envie o conector para conexão e carregamento subsequente:


Muitos têm laptops mais antigos. Se eles não funcionam mais ou trabalham com o tempo. Mesmo que a bateria do laptop já esteja ruim e não seja adequada para o uso pretendido, ela pode ser usada para todos os tipos de produtos caseiros. No nosso caso, para um relógio. Pegamos a bateria do laptop:


O principal é que ele seja Li-ion. Desmontamos cuidadosamente, é necessário abrir a caixa de plástico para não danificar o elemento interno. Na maioria das vezes, a bateria é dividida em dois elementos conectados em paralelo. Nós os retiramos e separamos um par do resto:


É melhor soldar as pastilhas de contato:


Cole este par na parte de trás do relógio:


Etapa 4 Determinando a carga da bateria.
Uma função conveniente do relógio é indicar a carga da bateria. Determinaremos o grau de carga por voltagem. A tensão mínima para essas baterias é de 2,4 V. Ela não pode ser descarregada mais. A tensão máxima é de 4,2 V.

A medição de tensão na porta analógica é sempre relativa a alguma outra tensão. Não podemos usar o pino AREF do microcontrolador, que serve para definir a tensão de referência. Também é impossível medir a tensão em relação à tensão de alimentação (a relação será sempre a mesma). Portanto, determinaremos a tensão em relação à tensão de referência interna ou Vbg (tensão de referência Bandgap). É 1,1 V. Agora precisamos calcular o divisor de tensão para nossa bateria, de modo que, com carga máxima (4,2 V), o divisor tenha (1,1 V). Você pode calcular pela fórmula:



Ou use

R1 assume um valor de face de 10 kOhm. Então R2, obtemos 3,55 KOhm, o mais próximo adequado dos valores padrão de 3,3 KOhm, e o pegamos. As medições são feitas entre a tensão interna e o GND, de modo que o resistor de 3,3 KΩ é soldado ao menos e 10 KΩ ao mais. Colocamos os resistores na bateria, retiramos o fio do divisor.


Isolamos todos os contatos para evitar curto-circuito:


O fio do divisor será conectado ao PB4.

Etapa 5 Meça a temperatura.
Um excelente complemento para o relógio é a medição da temperatura ambiente. Usaremos o sensor de temperatura integrado DS18B20. Para trabalhar com ele, é necessário apenas um fio (muito útil ao usar o Attiny 85). Todas as medições são feitas por ele mesmo, o controlador central não se incomoda (o Attiny 85 também possui excelente memória e tão pouco), precisamos apenas dar comandos e obter resultados. Existem vários esquemas diferentes para conectar este sensor, usaremos a opção ideal para este caso, na minha opinião.Usando energia externa e um resistor de 4,7 kΩ:


Solde os fios pequenos e aperte os conectores


O fio do sensor DQ está conectado ao PB 3.

Passo 6.
Temos poucas conclusões, mas existem muitos requisitos para relógios. Usaremos um botão para definir a hora. Não podemos contar com mais. Solde os fios ao botão, um contato dele ao GND. Combine com o nosso sensor de temperatura:


O segundo contato do botão está conectado ao PB 1.

Etapa 7 Preparando o ambiente de desenvolvimento
Para mais trabalho com o esboço, assim como sua edição e preenchimento, precisamos do IDE do Arduino. Baixe este programa em:

Agora adicione suporte para o Attiny 85 na quarta-feira. Abra o IDE do Arduion e siga o caminho:
Arquivo - Configurações - "URLs adicionais do Gerenciador de placas" insira o link:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json


Clique em OK
Vá para:
Ferramentas - Board - Board Manager, digite Attiny e clique em "attiny by David A. Mellis". Clique em "Instalar" e deixe colocar o café.
E agora sobre as bibliotecas. Eles precisam de dois:

Para trabalhar com a tela Oled

Controle do sensor de temperatura

Após o download desses arquivos, descompacte-os na pasta "bibliotecas", que é fácil de encontrar, seguindo o caminho de instalação do Arduino IDE.

Etapa 8 Programador.
O Digispark Attiny 85 é um ótimo conselho. Projetado para conectar a um computador USB. E pode ser programado através dele. Mas o Attiny usa um software USB, que, por sua vez, ocupa 2 KB de 8 KB de memória. Isso não nos convém e, portanto, exibiremos o Attiny 85 na interface do ISP. E aqui precisamos de um programador de ISP. Se não estiver lá - não importa. Pegue o Arduino. No meu caso, o Arduino UNO:


Você pode pegar qualquer outra placa compatível da linha Arduino. Nós nos conectamos ao computador, abrimos o IDE do Arduino, selecionamos a porta com a qual a placa do Arduino está conectada, abrimos o esboço nos exemplos, ISP do Arduino e preenchemos na placa. Também precisamos de um fio para conectar rapidamente ao Attiny.


A conexão é a seguinte:

D11 - P0
D12 - P1
D13 - P2
D10 - P5

Não se esqueça da nutrição Attiny.

Etapa 9 Edite e preencha o esboço.

Download do esboço

Antes de preencher, você precisa editar o esboço.
O sensor integrado ds18b20, como mencionado anteriormente, funciona usando o protocolo One Wire. Cada sensor possui seu próprio endereço exclusivo de 64 bits. Você precisa encontrar o endereço do seu sensor e escrevê-lo em um esboço. Abra o IDE do Arduino, siga o caminho:
Arquivo - Exemplos - Temperatura Dallas - OneWireSearch.

Preencha o esboço no Arduino. Abra o monitor da porta. Você deve ver os endereços de todos os sensores conectados e suas leituras de temperatura. Anotamos seu endereço. Abra meu esboço e altere o endereço para seu próprio na linha:

byte addr [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63};


Para ajustar o progresso do relógio, use a seguinte constante:

if (micros () - prevmicros & gt; [b] 497000 [/ b]) 


Quanto maior esse valor, mais lento o relógio.
Para controle, os segundos são exibidos na tela:

OzOled.printNumber ((long) sek, 0, 7); // segundos de saída para ajuste preciso 


Comente esta linha para remover segundos.
Agora, conectamos o programador ou o Arduino como programador, selecione a porta, selecione nossa placa no menu Ferramentas e defina os seguintes parâmetros:
Conselho: Attiny 25/45/85
Processador: Attiny 85
Relógio: interno 16
Em seguida, selecione no mesmo menu:
Ferramentas - Programador - "Arduino as ISP".
E finalmente:
Esboço - Download via programador

Etapa 10 Montagem final e lançamento.
Desligue o programador e conecte o sensor, energia e botão:


Até que o curso exato do relógio esteja configurado, você pode fechar o gabinete usando borracha de banco. Quando terminar, você pode colar.


Ver classificação
Total de votos: 13
10
10
10

Adicionar um comentário

    • sorrirsorrisosxaxaoknão seiyahoonea
      chefearranhartolosimsim simagressivosegredo
      desculpedançardance2dance3perdãoajudabebidas
      pararamigosbomgoodgoodapitodesmaiarlíngua
      fumaçapalmascraydeclararirônicodon-t_mentionbaixar
      calorirritantelaugh1mdareuniãomoskingnegativo
      not_ipipocapunirlerassustarsustospesquisar
      provocarthank_youistoto_clueumnikagudoconcordar
      malbeeeblack_eyeblum3corargabar-setédio
      censuradobrincadeirasecret2ameaçarvitóriayusun_bespectacled
      sacudirrespektlolpreviubem vindoKrutoyya_za
      ya_dobryiajudantene_huliganne_othodifludproibirfechar
9 comentários
O autor
A ideia é ótima. Eu fiz algo sobre isso. Somente na ponta dos meus dedos havia uma variável de 5 kΩ. Eu o incluí no ombro inferior. E depois substituído pelo permanente mais adequado. Mas nas instruções de fabricação, eu acho, escrever é desnecessário. Por que não fazer essas medições várias vezes.
Não vi a necessidade de escrever sobre ensaios tediosos e longos.
Não há necessidade de fazer nada longo e tedioso. Ligue o resistor (2,7 ... 3) kOhm na parte inferior do braço, sequencialmente com ele um aparador de 1 kOhm. A partir de uma fonte de energia ajustável, você insere os valores extremos da tensão controlada na entrada, ajusta o ponto de operação e, se desejar, pode medir a resistência do aparador e substituí-lo por um resistor constante.
O autor
Com uma frequência de 8 MHz, não tentei iniciar o relógio e, portanto, medi a precisão do percurso. Todas as medidas foram feitas aos 16 anos por dentro. Também não posso dizer sobre o mês. Até agora, sem desligar, eles trabalharam no máximo uma semana. Experiências e melhorias ainda estão em processo.
O autor
Em relação ao divisor de tensão, existem muitas nuances e erros. E a dispersão da resistência dos resistores e a dispersão da tensão de referência. Eu tentei de tudo na prática. Ao usar um resistor de 3,6 kΩ, mesmo com uma tensão de bateria de 3,9 V, a porta analógica Attiny mostra 1023 (quando convertida em 100% por cento). Ao usar um resistor de 3,3 kΩ, o valor da porta analógica diminui mesmo em 4,1 V na bateria. Portanto, escrevi que o testemunho é mais preciso, mas não vi a necessidade de escrever sobre ensaios chatos e longos.
O autor
Acertei o relógio por uma semana, ajustei seu progresso todos os dias ou com mais frequência. Como resultado, no valor de 497343, eles correm cerca de 10 segundos por semana.
A frequência pode ser reduzida. Não mudei o parâmetro, não havia necessidade
Bem, e qual é a precisão do relógio RC de 8 MHz? Por mês?
e por que Clock: interno 16?
É melhor escolher menos, então as leituras são mais precisas.
Não mais precisamente, mas simplesmente a tensão de entrada deve ser menor que a referência. Além disso, no seu raciocínio, você absolutamente não leva em consideração a dispersão dos parâmetros: resistores, provavelmente, você terá cinco por cento, Vbg = (1,0 ... 1,2) V. Então, 3,3 kOhm pode se tornar muito grande, e talvez 3,6 kOhms funcionem.
O autor
Se você usar 3,6 voltagens de saída, obteremos 1,11. Embora não seja muito, mas mais voltagem de referência. Ao usar 3.3 - 1.04. É melhor escolher menos, então as leituras são mais precisas.
E quanto a Oh, você está certo, eu simplesmente não prestei atenção a este pequeno detalhe.
Após colar o estojo, o acesso à tomada e aos botões de carregamento pode ser obtido na parte inferior do relógio cortando a tampa inferior ou simplesmente não a colando.
Então R2, obtemos 3,55 KOhm, o mais próximo dos valores padrão de 3,3 KOhm,
Nem um pouco. O E24 mais próximo da faixa padrão é 3,6 kOhm. E, a propósito, não "KOhm, mas" KOhm.
Até que o curso exato do relógio esteja configurado, você pode fechar o gabinete usando borracha de banco. Quando terminar, você pode colar.
Como carregaremos a bateria?
E como manipular o botão?

Aconselhamos que você leia:

Entregue-o para o smartphone ...