Mostra do Projeto '14

25

O logotipo é um derivado do logotipo da comunidade Arduino licenciado sob a licença Creative Commons CC-SA-BY-NC 3.0

Atualização: Anunciados os vencedores

Os vencedores do concurso foram anunciados. Por favor, consulte a publicação Meta para obter detalhes .

Para comemorar os 10 anos do Arduino , temos o orgulho de anunciar o primeiro evento de todos os tempos no Arduino Stack Exchange.

Tire suas placas e equipamentos de solda, desenterre os CIs e resistores. O primeiro concurso do Arduino Stack Exchange está ao virar da esquina. Nós estaremos procurando projetos interessantes que são construídos usando Arduinos. O concurso tem como objetivo compartilhar, discutir e fornecer feedback sobre os projetos nos quais você e outros membros estão trabalhando. Ver publicação do anúncio

Detalhes:

  • O prêmio é uma camiseta oficial da Stack Exchange
  • Limite de duas entradas por pessoa. Se mais de dois forem fornecidos, apenas os dois primeiros serão considerados.
  • Clones são permitidos.
  • Os projetos a serem considerados serão aceitos até 29 de março de 2014 às 16:00 UTC. A questão ainda permanecerá em aberto caso alguém queira mostrar seu projeto que eles fizeram no Dia do Arduino de 2014.

Visite o post Meta para discussão sobre este evento e mais informações.

Formato da resposta

Você pode postar até dois projetos (como duas respostas separadas) como inscrições para o concurso. Todas as entradas extras serão excluídas. Considere seguir o seguinte modelo para entradas:

título do projeto

Descrição muito breve

Descrição

Qual é o seu projeto? O que isso faz? Qual problema isso resolve?

desenhar

O que incluir nesta seção:

  • Esquemas e outra documentação de projeto. O Fritzing é uma boa ferramenta para desenhar esquemas da placa de ensaio, como o mostrado no logotipo do projeto acima.
  • Componentes usados ​​para construir o projeto
  • Imagens ou vídeo

Conclusão

Pensamentos finais. O que você aprendeu ao fazer este projeto? O que você faria de diferente se tivesse que começar de novo?

Você pode copiar / colar o seguinte texto se desejar usar este modelo.

# Project Title
**Very Brief Description**

# Description
What is your project? What does it do? What problem does it solve?

# Design
Things to include in this section:

- Schematics and other design documentation. [Fritzing][8] is a good tool for drawing breadboard schematics like the one shown in the project logo above.
- Components used to build the project
- Pictures or video

# Conclusion
Final thoughts. What did you learn from doing this project? What would you do differently if you had to start over?

Prémios

Existem dois prêmios! O vencedor será o envio, obtendo o número máximo de upvotes (downvotes não contam) e receberá uma camiseta Stack Exchange *! Haverá algo para o vice-campeão também. O segundo colocado será decidido a critério dos organizadores do evento.

* Certas restrições podem ser aplicadas. O transporte internacional pode demorar algumas semanas.

Onde envio meus projetos?

Poste seus projetos como respostas a este post.

sachleen
fonte
Qual é exatamente a qualificação para ser um projeto "arduino"? Eu uso o optiboot em muitos lugares, mas não vejo isso como sendo "arduino", pois é apenas um projeto que a cadeia de ferramentas do arduino usa. Antes de usar uma placa no fator de forma do arduino, não vejo uma maneira clara de delinear entre "arduino" e "não-arduino", a menos que você exija explicitamente que o projeto seja compilado usando o editor de texto do arduino, e isso provavelmente desqualificará todos os projetos decentes, pois o editor do arduino é horrível e todos os bons codificadores pararam de usá-lo há muito tempo.
Connor Lobo
@FakeName vamos levar essa discussão para o Meta Post
sachleen

Respostas:

14

Stateful questbox

Uma caixa com GPS que permite visitar alguns pontos antes de abrir

Descrição

É semelhante ao questbox , mas armazena uma pequena quantidade de informações na EEPROM ; portanto, você deve visitar dois ou três lugares diferentes antes de abrir.

desenhar

Hardware necessário:

  • Arduino Uno
  • Geocache reverso versão 2 (ou um protoshield)
  • Módulo GPS GlobalSat EM-406A
  • LCD 2 × 8 azul com conector e cabo
  • Servo motor Hitec HS-55
  • 4-40 haste e manilha para trava (algumas versões fornecem uma haste de dobra em Z)
  • 2 suporte de bateria AA
  • Botão metálico com LED azul incorporado e cabo de 4 pinos
  • Interruptor de baixa tensão Pololu
  • Pololu 5 V regulador de impulso
  • Conector JST para o módulo GPS EM-406A
  • Pinos de cabeçalho retos e em ângulo reto para os conectores de exibição, servo e botão de pressão
  • Dois resistores para limitação de corrente e ajuste de contraste do visor
  • Dois capacitores pequenos para suavização de energia
  • capacitor maior para circuito de contraste de exibição

Custo total de hardware: 137 $ + frete

Materiais adicionais:

  • Uma bela caixa
  • Cola epóxi, madeira para cobrir peças, ferramentas

Você pode encontrar instruções de montagem na página do relógio de sol (você pode comprar a maioria dos materiais)

Vou fazer o upload de um código stateful e postar um link aqui, infelizmente não receberei todos os hardware necessários a tempo, então isso é apenas uma ideia :)

Código escrito até agora :

Inspiração:Original questbox

Conclusão

Aprendi a integrar muitos componentes e bibliotecas todos juntos, vou ter que viajar um pouco para testá-lo :)

O orçamento pode ser bastante reduzido, mudando um pouco o conceito:

hithwen
fonte
11

Economia de energia para o usuário distraído de PC

Este dispositivo liga / desliga as luzes da minha mesa quando está escuro (ish) e sincronizado com o protetor de tela do meu PC.

Descrição

O projeto é pouco mais do que uma combinação de um sensor sensível à luz, um relé e algum código inteligente que monitora o protetor de tela no meu PC. Quando está anoitecendo e quando o protetor de tela não está ativo, acende as luzes sobre minha mesa. Quando eu sair da minha mesa, o protetor de tela será ativado, o que ativará a luz da mesa. Quando há luz suficiente durante o dia, as luzes não estão acesas. O problema resolvido é reduzir o desperdício de energia devido à iluminação do meu escritório quando eu sair da sala.

desenhar

Como o poder dos microcontroladores / Arduino é necessário apenas um pouco de hardware extra para criar um projeto útil. O mesmo vale para este projeto em que o hardware é pouco mais que:

  • Um Arduino
  • Um par de blindagens de parafuso para conectar os componentes externos
  • Um LDR em série com um resistor para medir a luz ambiente
  • Uma placa de relé para ligar e desligar as luzes da rede elétrica
  • Um capacitor de 10 μF de GND para RST para impedir que a placa seja redefinida e acidentalmente programada.

esquemático

simular este circuito - esquemático criado usando o CircuitLab

Conclusão

Aprendi como fazer a interface do PC através do link serial USB com o Arduino e como ler o estado atual do protetor de tela no meu PC. Se eu recomeçasse, usaria um controlador muito menor, pois realmente só preciso de uma única saída digital e uma única entrada analógica. Provavelmente, baseie o projeto no V-USB . O Arduino, no entanto, é excelente para a prova de conceito rápida e fácil (PoC). (O PoC está na minha mesa há pelo menos dois anos).

jippie
fonte
Seria legal ver fotos do seu quadro e configuração finais. Como é o tempo de resposta? Instante? Depois de um minuto?
sachleen
@sachleen O daemon no meu PC que pesquisa o protetor de tela é executado a cada 30 segundos quando o protetor de tela é desativado (quando estou trabalhando no meu PC) e a cada 5 segundos quando ativado. Posso aumentar essa velocidade, mas isso influencia a carga da CPU e com esse uso de energia ... Há também um capacitor conectado para impedir que o Arduino seja redefinido e programado acidentalmente.
jippie
@ sachleen quando o crepúsculo cai lentamente ao longo do tempo, esses 30 segundos não são realmente um problema. Ninguém percebe a diferença na escuridão ao longo de 30 segundos. Dentro de 5 segundos depois de mover o mouse ou bater no teclado quando eu voltar, as luzes acendem. Há uma ligeira histerese entre o que é considerado escuro e claro, para impedir que as luzes se acendam / apagem a cada segundo, quando está ficando escuro o suficiente para ser ativado.
jippie
Você deve modificá-lo para dim-lo em 50% por 10-15 segundos para que você não está no escuro completamente e dá-lhe um pouco de "aviso"
Anônimo Pinguim
@AnnonomusPerson Estou trocando o lado de 240VAC de um SMPS com entrada de 100-250VAC especificada. Receio que isso não aconteça, pois não quero mudar de lado secundário. Boa ideia, talvez eu possa adicionar um pequeno LED branco inteligente de alguma forma.
jippie
8

Eu acho que esse tipo de coisa mal se encaixa dentro das regras, mas é interessante o suficiente para eu achar que eu postaria de qualquer maneira.

Gerador de data e hora sincronizado com GPS de alta precisão para fins de aquisição de dados.

Este é um projeto bastante interessante que se destina a ser usado para fornecer uma maneira fácil de sincronizar vários sistemas independentes de aquisição de dados.

Basicamente, trabalho em um laboratório de pesquisa, e geralmente temos instrumentos que têm vários sistemas independentes de aquisição de dados, que podem ser fisicamente separados por até 15 metros. Precisamos ser capazes de correlacionar o tempo em que as amostras de cada sistema foram coletadas, o que pode ser difícil se você desejar resolver os tempos de amostragem com um alto grau de precisão. Usando algo como um sistema de aquisição de dados USB, apenas a latência USB pode introduzir várias centenas de milissegundos de latência desconhecida, que podem variar de aquisição a aquisição.

A solução anterior era um contador paralelo de 24 bits que era simplesmente transportado por toda parte, exigindo um enorme chicote de fios e era uma espécie de dor no traseiro.

Este sistema utiliza um módulo GPS de temporização especializado que pode sintetizar relógios de frequência arbitrários, que são de fase e frequência bloqueados nos relógios atômicos nos satélites GPS.

O MCU é responsável por vincular as mensagens de dados do GPS (eu tive que estender e otimizar fortemente um analisador de protocolo existente para os dados do GPS). O GPS está configurado para usar um protocolo binário proprietário e é todo analisado pelo analisador que escrevi.

O projeto passou por várias revisões (foto abaixo).

desenhar

Revisões! insira a descrição da imagem aqui
Rev 1: Nunca funcionei, devido ao fato de que inicialmente eu esperava usar um software dPLL em um GPS muito mais barato, para sintetizar um relógio de frequência mais alta apenas da saída de 1 PPS. Provavelmente é possível fazê-lo funcionar, mas o investimento em tempo apenas não fez valer a pena. (e eu sou um codificador muito ruim)

Usou uma hélice de paralaxe MCU. A falta de linguagens compiladas decentes também foi uma questão importante.


insira a descrição da imagem aqui
Rev 2: Mudou para um ATmega2560. Trabalhou, tinha muitos aspectos de design descolados herdados da primeira rev. Principalmente, o uso continuado de registradores de deslocamento para a saída de 32 bits, apesar do número mais do que suficiente de E / S no ATmega2560.

Primeiro quadro que executou o Optiboot e foi programado inteiramente usando a cadeia de ferramentas padrão do Arduino, antes de me irritar com ela e começar a modificar a cadeia de ferramentas para melhor atender meus objetivos.


insira a descrição da imagem aqui
Rev 3: Também funcionou. A fiação incorporada ocorre porque esta placa incorporou um hub USB embutido para reduzir o número de portas USB necessárias (a interface FTDI requer 1 USB e o GPS também possui uma interface USB). Infelizmente, o GPS não enumerou corretamente, embora o dispositivo FTDI tenha funcionado bem, e eu usei esse hub em outro lugar sem problemas. Esquisito.

Como não tenho um depurador USB adequado, acabei de abandonar completamente o hub USB, em vez de tentar corrigir o problema. O GPS GPS não é realmente usado muito fora da configuração de qualquer maneira.


insira a descrição da imagem aqui
Rev 4: Versão semi-final do ATmega2560. Adicionado um LCD para o status do GPS, mexido com LEDs e assim por diante. Além disso, pegadas melhores para os possíveis super capacitores para manter o status do GPS quando não estiver energizado.

Esta é a última versão do Optiboot.

MStimeé o MSTOW, ou Milissegundo de tempo da semana, que é o nome do valor dos dados do GPS que é emitido no registro de data e hora de saída. É uma variável de 32 bits que aumenta uma vez por milésimo de segundo e passa a cada semana. É uma parte mais obscura do padrão GPS.

ITOWé outro valor relacionado ao GPS, que corresponde ao sinal de 1PPS. A correlação entre os dois não é refletida corretamente no LCD, pois não tenho tempo de CPU para atualizar o LCD na taxa que gostaria. Essa foi realmente uma das principais coisas que melhoraram na atualização para os dispositivos Xmega.


insira a descrição da imagem aqui
Rev 5: Switch de arquitetura completo. Agora usa um processador ATxmega128A1U. Não é mais o "Arduino", mas a capacidade de ter vários níveis de interrupção na série de processadores xmega me permitiu melhorar consideravelmente a estrutura do código.

Os dois cabos são de mim fazendo algumas experiências, o conselho funcionou bem sem eles também.

Ansioso:

Rev 6! insira a descrição da imagem aqui
Adicione a capacidade de usar diferentes tamanhos de LCD, mais proteção ESD na conexão da antena GPS (que foi um problema), capacidade de usar uma bateria CR2032 para manter o relógio GPS em vez de super capacitores.

Além disso, rotulagem muito melhor dos LEDs de depuração e status.

insira a descrição da imagem aqui
E bônus Nyan-Cat!

insira a descrição da imagem aqui

(Essas placas estão prontas para serem fabricadas agora. Quando as conseguir, adicionarei fotos da placa real.)


Fiz alguns testes de longa duração entre duas das placas ATmega2560 e, em 72 horas, o erro de tempo do RMS entre as duas unidades foi de ~ 20 uS. Isso aconteceu com duas antenas completamente independentes também. Meu objetivo de design era <1 ms, então estou muito feliz com isso.

No geral, acho que isso faz um bom trabalho ilustrando como o Arduino pode ser uma ferramenta útil para a prototipagem precoce de produtos / sistemas "reais". Eu o uso para obter uma versão de teste inicial em execução com o mínimo de esforço e, quando estou confiante de que a ideia funcionará, na verdade trabalho para migrar para uma implementação completamente personalizada e específica para fins específicos.


Arquivos de design:
https://fake-server.no-ip.org/svn/FPGAStuff/DAQ%20systems/
(na série de diretórios "GPS Timestamp").
(Nota: os arquivos são do Altium Designer. Os arquivos não são águia).

Código fonte:
https://fake-server.no-ip.org/svn/Programming/Code/AVR/
Novamente, na série de diretórios "gpsTimeStamp".

Desculpe pelas fotos ruins do celular.

Connor Wolf
fonte
Você poderia reduzir o número de fotos? 3-4 deve ser suficiente para transmitir a ideia. Leva muito tempo para carregar em conexões lentas.
asheeshr
7
@AsheeshR - eu discordo totalmente . Eu poderia soltar uma das fotos da última rev, mas ter a progressão do design do sistema é bastante valiosa.
Connor Lobo
11
Se divertindo com a serigrafia?
precisa
Oooh, vista 3D em PCB. Aww, é Altium e muito caro? : $ Muito divertido de ver esses projetos ou de qualquer outro projeto que os outros estejam fazendo .. #
Paul
7

Sonic Ray Gun

Dois projetos de crianças

Estou trabalhando com duas crianças educadas em casa e estamos nos divertindo muito com um arduino. O primeiro projeto deles foi uma bomba falsa, como você vê nos filmes, com um cronômetro de contagem regressiva no LCD e um clássico "você corta o fio vermelho ou azul?" tipo de problema.

O projeto dois começou mostrando a eles o exemplo toneMelody e um pequeno alto-falante. Eles descobriram rapidamente que, se você aumentar a frequência para 15kHz, isso é bastante irritante para os adolescentes. Uma hora depois, eles haviam melhorado o design com um copo, rolo de papel higiênico e um interruptor feito de um clipe de papel que produzia uma pistola de raios sonora direcional.

Infelizmente não há fotos.

Conclusão

Não deixe crianças sem vigilância com um arduino.

Salix alba
fonte
3
Você pode descrever um pouco mais (código, Fritzing, etc?)?
Anonymous Penguin
7

(falso) Linux no Arduino

Recentemente, adquiri uma pequena tela LCD composta, com a qual comecei rapidamente a usar a biblioteca do Arduino TVout. O que veio depois? Linux!

Descrição

Enquanto brincava com a tela da TV e a biblioteca TVout, descobri que há um manipulador de terminal pré-fabricado para a TV. Logo comecei a experimentar usá-lo como um terminal de TV conectado a um teclado PS / 2. Houve alguns problemas com a biblioteca PS / 2 que eu usei, então fiz a transição para usar a biblioteca USB no meu Mega ADK junto com um teclado USB. Isso funcionou muito melhor. Agora para armazenamento.

Meu escudo de cartão SD não é compatível com o meu Mega, então eu o liguei de maneira um tanto aleatória ao SPI no final do quadro. Escrevi a manipulação de comandos para realizar algumas tarefas, como listar arquivos e localizar o tamanho do disco, espaço livre etc. A montagem inteira não está de forma alguma concluída, mas estou feliz com o progresso que fiz.

O código será realocado para o Github eventualmente, assista aos comentários.

desenhar

foto com zoom reduzido

fechar a tela

Desafios

Eu tive muitos problemas para concatenar os caracteres introduzidos na string que armazenava o comando atual porque eu não estava fazendo a conversão correta. Depois que eu descobri isso, eu também precisei corrigir o problema em que algumas chaves imprimiam lixo aleatório na tela. Isso foi causado pela leitura da memória antes das definições das letras, então alguns ifesclareceram isso.

Conclusão

Estou muito satisfeito com o código. Depois de adicionar mais alguns utilitários, colocarei no Github, então assista aos comentários. No geral, foi um projeto muito divertido. Eu aprendi como usar o Stino no processo.

O médico
fonte
Isso parece interessante. Eu realmente gostaria de ver seu código em breve!
Asheeshr
Código!! Código!! github.com/red-green/fakeLinuxonArduino
TheDoctor
O LCD custou muito?
Anonymous Penguin
@AnnonomusPerson apenas US $ 17: amazon.com/3-5-Inch-TFT-Monitor-Automobile/dp/B0045IIZKU/…
TheDoctor
@AnnonomusPerson i desmontado porque era muito volumoso
TheDoctor
5

ShiftLCD

Placa baseada em AVR, compatível com Arduino, montada na parte traseira de uma tela LCD de 8x1 a 20x4 caracteres.

Descrição

Acabei de projetar esta placa e a biblioteca personalizada para facilitar o uso e o LCD. Embora eles sejam bastante fáceis de usar no momento. Reduz o número de pinos de saída usados ​​de 6 para 3. Ele também tem a opção de expandir a E / S adicionando mais registros de deslocamento àquele que aciona a tela. O processador usado é um ATTiny45 ou ATTiny85 que, após o uso do registro de deslocamento, possui os pinos digitais 1 (PWM) e 4 disponíveis e o pino analógico 2 (o mesmo pino do pino digital 4).

desenhar

Esquemático Renderização OSH Park Placa não soldada

Desafios

Um desafio imprevisto que enfrentei foi quando comecei a usar os pinos digitais 0-2 para executar o registro de turnos, que também eram os pinos de programação (MISO, MOSI, SCK). Assim, toda vez que eu reprogramava o dispositivo, o LCD recebia um monte de mensagens sem sentido, onde a energia teria que ser desligada para reiniciar a exibição. Resolvi esse problema movendo o pino de trava dos registradores de deslocamento para o pino digital 3, que não é um pino de programação. Resolver isso também resolveu outro problema para mim, porque quando movi o pino de trava, ele abriu o pino digital 1 que tinha uso de PWM, permitindo que mais coisas fossem feitas com a placa.

Conclusão

Concedido que esse pode não ser o produto ou a idéia mais legal, ele ainda tem seus usos. A resposta foi diretamente à pergunta: "O que você aprendeu ao fazer este projeto" Eu aprendi a projetar do início ao fim de uma placa PCB. Se eu pudesse fazer algo diferente, teria sido usar peças de montagem em superfície em vez de orifícios passados, mas novamente é apenas um protótipo, placa única.

Jesse Laning
fonte
Como você programou seu ATtiny? Qual código estava envolvido? IDE? (Por favor, apenas comentário, não editar o seu post. )
Pinguim Anonymous
@AnnonomusPerson Parece que a pessoa que postou o que eu fiz antes removeu o comentário, então é aqui que eu tenho as coisas necessárias (arquivos IDE do Arduino e esquema de programação) para programar o ATTiny. highlowtech.org/?p=1695
Jesse Laning
Por que usar montagem em superfície? Soldar através do orifício em casa é muito mais fácil? Eu acho que SMD é apenas para execuções de produção, ou há algo mais?
Paul
5

Robô que aperta o botão.

Um robô de tiro a laser de quatro rodas e controle remoto de quatro libras que aperta botões.

Descrição

Eu fiz esse projeto ao longo do último ano letivo. Eu estava na aula de robótica e decidimos fazer uma competição. Cada equipe criaria um robô com um botão grande e uma maneira de pressionar outros botões. No final do ano, teríamos o concurso final, onde os três robôs tentariam apertar os botões um do outro.

Até o final do ano, meu robô funcionou apenas parcialmente. Em algum momento, todas as partes do robô estavam trabalhando, mas entre um Arduino frito, motoristas fritos, uma organização terrível de códigos e eu sendo a única pessoa da minha equipe a trabalhar no robô por um total de mais de cinco horas. não conseguia fazê-lo funcionar completamente.

Não toquei no meu robô há quase um ano, então sei que, se quisesse fazê-lo funcionar novamente, teria que religar o bot e reescrever o código. Posso decidir fazer isso algum dia, mas por enquanto vou trabalhar em projetos menos ambiciosos.

desenhar

Design geral

insira a descrição da imagem aqui

Informação / fluxo de eletricidade

+--------------------------+   +-------------------------------------------------+
|         Computer         |   |      Robot                                      |
|--------------------------|   |-------------------------------------------------|
|                          |   |                                                 |
| Keyboard +--> Processing |   |  Button +-------------+        Motor    Motor   |
|                          |   |                       |          ^       ^      |
|                    +     |   |                       |          |       |      |
|                    |     |   |  Batteries +-----+    |          +       +      |
|                    v     |   |                  |    |   +----> Motor Driver   |
|                          |   |                  v    v   +                     |
|               Bluetooth +-----> Bluetooth +--> Arduino Uno +--> Motor driver   |
|                          |   |                  +    +  +       +       +      |
+--------------------------+   |                  |    |  |       |       |      |
                               |                  |    |  |       v       v      |
                               |                  |    |  |    Motor     Motor   |
                               |                  |    |  |                      |
                               |                  |    |  |                      |
                               |                  |    |  +-----> Laser          |
                               |  +---------------|----|----+                    |
                               |  |       Arm     |    |    |                    |
                               |  |---------------|----|----|                    |
                               |  |     +---------+    v    |                    |
                               |  |     |      Motor Driver |                    |
                               |  |     v              +    |                    |
                               |  |  Servo             |    |                    |
                               |  |                    v    |                    |
                               |  |                  Motor  |                    |
                               |  +-------------------------+                    |
                               +-------------------------------------------------+

Componentes

  • Arduino Uno, (frito)
  • Transporte:
  • Botão Fácil
  • Braço:
    • Servo , (rotação contínua)
    • Motorista , (frito)
    • Motor, (12v, encontrado na pilha de lixo do professor)
    • Apagador
    • Contrapeso, (saco de papel caseiro cheio de moedas de um centavo)
  • 2 baterias , (12V, 1300mAh, recarregável Ni-MH)
  • 2 tábuas de pão sem solda
  • Laser, (5mW)
  • Bluetooth:
  • Muitos fios
  • Lotes de sucata e plexiglás (encontrados na oficina de professores)

Código

Como não organizei meu código muito bem, espero que esse seja o código certo.

Mais fotos

insira a descrição da imagem aqui insira a descrição da imagem aqui

Vídeo terrível de uma versão inicial lenta, sem braços, sem botões, sem laser e sem bluetooth.

https://www.youtube.com/watch?v=Q7MvE7-Xb0E

Conclusão

Eu sou realmente bom em fritar eletrônicos.

Esta foi a minha primeira experiência em uma oficina de máquinas real. Usei uma fresadora CNC, fresadora manual, torno e serra de fita. Se eu iniciasse um projeto como esse novamente, faria uma documentação muito melhor, para descobrir o que diabos estava fazendo um ano depois.

O cara com o chapéu
fonte
11
Bom trabalho! Nada é tão valioso quanto a experiência, e o mais importante é que agora você sabe como fazer um trabalho melhor na próxima vez.
jippie
5

Telão LED de 4 dígitos para Arduino

Placa pequena com 4 dígitos de LED de 7 segmentos, gerenciada por 3 pinos.

Descrição

Quando comecei a trabalhar com o Arduino, queria uma maneira de exibir valores coletados por vários sensores que experimentei, mas não queria emitir esses valores Serialpara um PC.

Eu queria uma prancha pequena que pudesse ser reutilizada facilmente de um projeto para outro e queria poupar uma tábua de pão.

Atualmente, esta placa, junto com sua pequena biblioteca, permite a exibição de números de 4 dígitos e não fornece nenhuma corrente do Arduino durante a exibição (a corrente é originada somente ao comunicar à placa o novo valor a ser exibido daqui para frente).

placa de exposição com contador

desenhar

O design é bastante simples, pois eu decidi reutilizar um chip MAX-7219 para acionar minha tela de LED (eu tinha alguns deles à mão).

Graças a esse chip, o esquema era muito simples, mas era importante entender corretamente como usá-lo; felizmente, sua folha de dados era bastante clara.

O design original foi feito em uma placa de ensaio e usou quatro dígitos de LED de 7 segmentos ; mas exigia muita fiação para o meu gosto (preciso conectar segmentos por grupos de 4). Além disso, durante minha primeira experiência com dígitos de LED de 7 segmentos, fritei um: ele tinha 2 pinos de aterramento, mas conectei apenas um ao GND em vez de ambos :-(

Decidi então optar por um display de segmento 4x7, cátodo comum , com ânodos de segmento já conectados por 4 dígitos: são apenas 4 + 8 pinos!

Esquemático do Conselho

Durante meus testes, encontrei uma biblioteca útil do Arduino para trabalhar com o MAX-7219 que decidi reutilizar. Eu construí minha própria biblioteca com uma API muito simples.

Após a integração, chegou a hora de tornar o design mais permanente; desde que eu tinha um monte de tiras na mão, decidi ir em frente.

Pesquisei e encontrei um designer de painel fácil para PC que usei para projetar minha placa.

O primeiro design do painel de controle não foi otimizado em termos de espaço e decidi não implementá-lo:

PROJETO DE STRIPBOARD # 1

Depois, revi o design para otimizar o custo e o tamanho (apenas um pequeno painel de 50x75mm); isso foi fácil com o designer de tiras que encontrei antes:

PROJETO DE STRIPBOARD # 2

Quando a placa ficou pronta, decidi verificar com um Arduino UNO e um sensor ultrassônico:

CENÁRIO

Parecia funcionar, exceto que muitas vezes eu tinha valores exibidos estranhos e inconsistentes; após investigação, descobri que era devido ao ruído acionado pela placa de vídeo, ruído que interferia no sensor. Eu só precisava adicionar uma tampa de desacoplamento o mais próximo possível dos pinos de alimentação atuais do sensor e isso funcionou perfeitamente (observe que a placa de vídeo já tinha tampas de desacoplamento para o chip MAX-7219).

Lista de peças:

  • 1 x LN5461AS: bloco catódico comum de 7 segmentos e 4 dígitos
  • 1 x MAX7219: chip de driver LED multiplexado
  • 1 x suporte IC (24 pinos)
  • 1 x 22K resistor
  • 1 x tampa eletrolítica de 10uF
  • 1 x tampa de 100nF
  • 1 x cabeçalho de pinos macho (5 pinos)
  • 1 x painel de 90x50mm
  • fios de solda ...

Conclusão

30 anos após meus últimos experimentos em eletrônica, eu poderia pegar o vírus novamente com o Arduino e com esse primeiro projeto que, embora bastante simples, me ensinou várias coisas:

  • interpretar folhas de dados para os componentes utilizados (MAX7219 e display LED)
  • Aprenda a usar e ser eficaz com o design do painel
  • todos os pinos marcados com GND ou V + devem ser conectados: você não escolhe o que deseja conectar!
  • se houver algo que pareça estranho quando você testar seu circuito e não entender o porquê: não procure, deve ser ruído, tente adicionar uma tampa de desacoplamento e isso deve ser feito!
  • Aprenda a criar uma biblioteca do Arduino (não apenas um esboço)

Se eu fosse começar esse projeto novamente hoje, eu:

  • tente otimizar ainda mais o design do painel (provavelmente eu poderia reduzir um pouco mais o tamanho)
  • substitua os cabeçalhos de pinos retos na placa por cabeçalhos em ângulo reto para que os fios que se conectam ao Arduino fiquem mais salientes na frente da placa
jfpoilpret
fonte
5

Relógio de parede digital com controle remoto por radiofrequência (RF)

Um grande relógio de parede com display de 7 segmentos (40x30cm / 16x12 ") com controle remoto R / F.

insira a descrição da imagem aqui

Descrição

Este projeto apresenta um grande relógio de parede digital com display de 7 segmentos (40x30cm / 16x12 ") com controle remoto R / F. Ele possui os seguintes recursos:

  • Mostra a hora e a data atuais (horas, minutos, segundos, dia, mês, ano) em dois formatos (horas ou data nos dígitos grandes).
  • Mostra a temperatura atual em ° C.
  • Possui uma contagem regressiva definida pelo usuário que soa um alarme (irritante) quando chegar a zero.
  • Todas as funções são controladas remotamente por um controle remoto de RF.
  • Possui um pequeno teclado do cursor para controlar suas funções (quando o controle remoto não está disponível).
  • Controle de brilho independente para cada linha de exibição.
  • Ele continua mantendo a hora atual com precisão, mesmo quando desligado, graças a um relógio de tempo real IC alimentado por uma bateria de célula tipo moeda.

desenhar

Os principais aspectos deste projeto foram os seguintes:

  • É completamente baseado no microcontrolador Arduino e AVR ATmega328.
  • Mantém a hora atual mesmo quando desligada, graças ao DR1307 RTC alimentado por uma bateria de célula tipo moeda.
  • Os dígitos nunca são multiplexados. Em vez disso, cada dígito possui um IC de registro de turno serial de 8 bits dedicado (74HC595) que mantém os segmentos selecionados independentemente do que está sendo exibido nos outros dígitos e do que o MCU está fazendo.
  • Os segmentos são alimentados por matrizes de Darlington devido ao consumo atual que excede o do MCU ou dos registros de turno.
  • O relógio é controlado por um teclado na placa controladora e também por um controle remoto de RF. A comunicação por rádio é realizada por um par de transmissor e receptor de rádio de 434MHz barato.
  • O projeto possui um design modular no qual um único controlador pode gerenciar até 12 dígitos. O controlador também aceita módulos expansíveis para um número ilimitado de dígitos (o número máximo de dígitos é limitado pelo atraso de temporização devido ao encadeamento em série dos registros de turnos e à atenuação do sinal do relógio).
  • O design suporta vários dígitos prontos para exibição de 7 segmentos ou dígitos personalizados feitos com LEDs.

Abaixo estão os esquemas para o controlador e uma das placas de 7 segmentos:

insira a descrição da imagem aqui insira a descrição da imagem aqui

Aqui estão algumas fotos das placas que eu projetei, gravei e montei e o controle remoto:

insira a descrição da imagem aqui insira a descrição da imagem aqui insira a descrição da imagem aqui

E, finalmente, aqui está uma foto de outra versão do relógio. Neste, estou fazendo os displays de 7 segmentos usando LEDs retangulares e componentes discretos.

insira a descrição da imagem aqui

Conclusão

Esse projeto levou muito tempo, esforço e aprendizado para chegar a esse estágio (nunca terminou, como eu aprendi), mas foi muito divertido. Algumas coisas que aprendi:

  1. Estude todas as bibliotecas que você usará em seu projeto antes de atribuir pinos GPIO no seu controlador para evitar possíveis conflitos. Não tive a sorte de usar o mesmo pino PWM para controle de brilho associado ao temporizador VirtualWire, então tive que corrigir a placa para obter brilho e RF funcionando ao mesmo tempo.

  2. O friso dos conectores KK molex e modu leva MUITO TEMPO !!

  3. As peças de acrílico cortadas a laser são o futuro. Eles agregam muita qualidade ao dispositivo, mesmo que você seja desajeitado.

Ricardo
fonte
Como você fabricou os PCBs (gravação e perfuração)?
Sachleen
11
@sachleen Eu uso o método de transferência de toner com o ferro de passar. Imprimo o design do cartão em papel fotográfico para jato de tinta em uma impressora a laser, depois passo a ferro no cartão, depois gravo o cartão em FeCl. Demora um pouco para encontrar as configurações corretas de papel e impressora. Eu uso uma furadeira da dremel para perfuração, mas só uso placas fenólicas e brocas de alta velocidade. As placas de fibra de vidro são muito mais duras nas brocas, geralmente exigindo as brocas de carboneto mais caras e quebradiças.
Ricardo
Onde você conseguiu esses LEDs? Eu tenho alguns que se parecem exatamente com isso!
O cara com o chapéu
11
@TheGuywithTheHat Os retangulares verdes? São bastante comuns por aqui no Brasil. Comprei em uma de nossas lojas de componentes eletrônicos online. Aqui estão alguns links: na DigiKey , no eBay . Aqui é onde eu os peguei .
Ricardo
5

Rotador de antena de TV

Rotação de antena com controle remoto IR

Não consegue sair do sofá para ajustar a direção da antena da TV? E mesmo que você faça, algumas vezes a sua proximidade com a antena altera a recepção. Seria bom poder ajustar a antena do sofá. Usando o controle remoto da TV.

Componentes

Arduino Uno, receptor de infravermelho, motor de passo com placa de motorista, mancal de identificação 1 ", cabo de esfregona Swiffer, caixa de plástico,

atrás da TV Arduino com receptor IR na frente Feche acima da caixa e do rolamento Cabo Swiffer Esses dois botões não fazem nada na TV de qualquer maneira

Descrição

Use uma alça de esfregão Swiffer antiga como poste da antena. Consegui um rolamento de identificação de 1 pol. Na minha loja on-line favorita, na qual a alça da esfregona aperta e para. Furei um buraco na caixa de plástico grande o suficiente para que a alça da esfregona passasse, mas não para o mancal. orifício na extremidade da alça da esfregona para encaixar no eixo de um motor de passo 28BYJ-48 e prendeu a engenhoca na caixa, como mostrado. A alça da esfregona repousa sobre o rolamento e o rolamento é super colado na parte superior da caixa de plástico .

Utilizou a biblioteca stepper.h para girar o motor a partir de um Uno.

Desmontei um DVD player não utilizado e recuperei o receptor de infravermelho. Você pode desmontar qualquer aparelho de consumo que tenha um controle remoto e usar o receptor de infravermelho, ele funcionará. O receptor de IR usa a biblioteca IRremote.h. Usando o monitor serial, imprimi o código hexadecimal que correspondia aos dois botões no controle remoto da TV que desejo usar para operar o motor da antena. Um para girar para a esquerda, um para a direita.

Para economizar energia, use a função small_stepper.motorOff () para desligar as bobinas após cada movimento.

Conclusão

Este foi um projeto divertido que também foi útil para minha esposa. Não implementei nenhuma aceleração / desaceleração no movimento, o que pode ser bom, principalmente se a antena tiver mais inércia de rotação.

Edit: desculpe pela foto estar de lado! Está do lado certo no meu computador, não tenho idéia do porquê de estar online lateralmente.

user851
fonte
5

A lâmpada bate à porta

Uma lâmpada que liga / desliga quando a mesa é batida. Atualmente em fase alfa, ainda com prototipagem, mas acho que é o projeto Arduino mais útil que existe. Gerador de brincadeira brega incluído ... de piadas knock-knock gravadas anteriormente. Nota: Eu sei que não posso ganhar nas regras, mas não há regra para entrar ... Também posso mostrar meu projeto.

Descrição

Até agora, expliquei praticamente tudo isso. Você bate e a luz acende e apaga. Atualmente, estou na tábua de pão. Estou usando um elemento piezo para detectar as batidas com vibrações. Paralelamente, tenho um resistor de 1 megaohm para proteger meu SMD do Arduino Uno.

Pensei nesse design depois de quase bater (haha punny) minha lâmpada da minha mesa enquanto procurava o pequeno interruptor. Eu não sou exatamente ... bem hábil . É bom bater na mesa e depois acender a luz. Também estou usando um SSR de comutador de força (relé de estado sólido: sem ruído) para controlá-lo com dois pinos do meu Arduino.

desenhar

foto Imagem tirada com a webcam em cima do monitor ... eek!

Diagrama Fritzing

Componentes usados ​​para construir o projeto:

  • Elemento piezo (US $ 3,00)
  • Resistor Megaohm (US $ 0,30 cada um em 5pk)
  • Arduino Uno SMD (disponível)
  • Power Switch Tail SSR (~ $ 25.00 USD com o navio, mas tinha na mão, portanto, sem custo)
  • Tábua de pão e jumpers / fio extra (~ US $ 5,00, mas tinha na mão, portanto, sem custo)

Custo para mim: $ 3,30 USD + $ 0,02 USD (imposto) == Apenas $ 3,32!

Conclusão

No geral, é um projeto simples, mas é realmente útil. Essa é uma luta com meus projetos do Arduino: posso criar algo que realmente usaria ? Piscando um LED não vai exatamente ajudá-lo na vida. É divertido, mas é sobre isso.

O maior problema que eu enfrentei (e meio que ainda enfrento) não está recebendo um sinal suficientemente forte. Aprendi muito sobre sinais elétricos: descobri como encontrar o "pico" de um pulso e não apenas ler o pino em um intervalo aleatório e perder a voltagem mais alta. Eu tentaria obter um elemento piezo mais sensível. Um maior ajudaria. Estou tentando modificar meu circuito para não limitar tanto a tensão, mas proteger o Arduino. Algum tipo de fusível ajudaria nessa situação. Eu também estou brincando com valores de resistores. Ajudaria muito ter um escopo para isso, mas acho que não ...: P

Depois de aperfeiçoar o circuito, vou trabalhar em um PCB com um ATtiny ... e talvez até desenvolver alguns kits. Tentarei publicar minhas descobertas sobre como tornar o elemento mais sensível sem arriscar minha diretoria no processo.

Atualização de status: tenho estado muito ocupado recentemente. Vou pedir um diodo zener (4.3V) aqui em uma semana ou duas para remover o resistor de megaohm para evitar diluir o sinal enquanto protege o chip. Posso construir um simples amplificador de tensão aqui, se necessário (ao lado do zener) para tentar tornar o sensor mais sensível.

Pinguim anônimo
fonte
11
Mudar para algo com diferencial e obter ADCs ajudaria você a obter mais sensibilidade do piezo. E possivelmente usando um TVS em vez de um resistor.
Ignacio Vazquez-Abrams
Você está usando o ADC para detecção ou interrupção? Alguma idéia de quão grande o pico de tensão você deseja detectar?
jippie
@jipie ADC para detecção, tenho um código bastante eficiente: faz um loop e encontra o pico para cada 250 ms. Sem atrasos. Para o pico, o IIRC está em torno de 14/1024 (com preguiça de converter isso agora). Também devo procurar no pino AREF, mas pode haver problemas se ele cair, pode fazer ~ 9V.
Anonymous Penguin
Tente isso como buffer de entrada. O transistor atua como um retificador de meia onda de amplificação de corrente / detector de pico. Não é necessário detectar um único pico com o ADC, o transistor / capacitor o estenderá por você. Conforme configurada, a tensão de saída possui um viés de 2,2V DC, mas você pode alterar isso para o que preferir, alterando o divisor resistivo. Dessa forma, você pode tornar a entrada ainda mais sensível selecionando a referência de intervalo de banda 1V1 ou 2V56. O resistor de 10M garante que o capacitor seja descarregado por cerca de um segundo e, na realidade, era meu DMM.
jippie
4

MySensors

- Aprenda a criar seus próprios sensores sem fio de baixo custo e conectá-los ao mundo.

http://www.mysensors.org

Nós chamamos isso "Internet das Suas Coisas"

Descrição

Combinamos a plataforma Arduino com um pequeno transceptor de rádio em um mundo divertido e flexível de sensores sem fio de baixo custo.

Todos os detalhes minuciosos sobre a comunicação do sensor foram agrupados em uma biblioteca de software conveniente, para que você não precise se preocupar com eles.

É tão fácil quanto 1, 2, 3. Arduino + NRF24L01 +

  1. Conecte as peças. 2. Faça o download dos exemplos fornecidos. 3. Comece a medir e controlar o mundo!

Leia mais sobre como a rede de sensores está sendo formada automaticamente usando nossa Biblioteca Arduino no site. Basicamente, forma uma rede em estrela e pode atingir centenas de metros.

A rede de sensores

No meio, você coloca um gateway Arduion ou Raspberry que coleta as informações dos seus sensores. Controlador de framboesa

Arduino Gateway

Projeto e esquemas

Aqui está um dos protótipos de sensores de movimento que criei para controlar a luz do jardim fora de minha casa. O status dos movimentos é enviado para o meu controlador HA, que acende a luz (via onda z) quando o movimento é detectado. Um sensor de luz (não na imagem) garante apenas a iluminação noturna.
insira a descrição da imagem aqui

Você encontrará todas as instruções de compilação aqui: http://www.mysensors.org/build/

Também existem outras instruções de construção fáceis de seguir para muitos outros sensores e atuadores sem fio. aqui estão alguns exemplos:

Sensor de distância, sensor de movimento, atuador de relé, umidade, luz, pressão, chuva, temperatura, ...

Conclusão

O projeto ainda está nos blocos de partida e esperamos fornecer plug-ins para uma lista crescente de controladores de automação residencial. A primeira coisa em nossa lista agora é fornecer um controlador DIY que fornece armazenamento em nuvem gratuito para os dados do sensor.

Olá

Até mais @ mysensors.org

/ Henrik Ekblad (o criador da Biblioteca Arduino de código aberto usada para a comunicação entre os sensores)

  • ATUALIZAÇÃO 27/3. Tornei o exemplo mais concreto e adicionei minha afiliação ao projeto de código aberto.
hek
fonte
4
Bem-vindo ao Arduino.SE! Receio que seu site não se enquadre nos critérios de nossa vitrine. Estamos procurando projetos específicos que demonstrem uma aplicação prática do Arduino (como visto nos outros exemplos aqui). Talvez você possa fornecer um exemplo de um projeto de sensor que você construiu?
22414 Peter Bloomfield
Ok, talvez eu esteja perdendo o ponto;). O "projeto específico" aqui é que usamos o Arduinos para criar uma rede de sensores sem fio auto-reparável. Para arquivar isso, criamos uma biblioteca Open Source Arduino para o transceptor NRF24L01 +.
hek
4
Isso parece mais um anúncio do que um projeto. Mude o tom, talvez o torne um pouco mais específico para um único aplicativo. Eu suspeito que é por isso que você recebeu uma votação negativa.
Cybergibbons 26/03
Bem-vindo ao Ard.SE! Com base no site do seu perfil, você trabalha ou é proprietário do site promovido acima. É política do SE que você divulgue isso em sua resposta. Edite-o para incluir isso. Além disso, você pode adicionar um exemplo de uso disso?
Anonymous Penguin
Eu tenho desenvolvido essa biblioteca MySensors (código aberto) nos últimos 6 meses no meu tempo livre. Para ajudar outras pessoas a usar a biblioteca corretamente, nós (mais pessoas ingressaram no projeto nos últimos dois meses) lançamos a página de instruções de construção apenas 3 dias atrás. Eu pensei que seria um bom projeto do Arduino receber feedback neste "Project Showcase". Acho que não tentei ocultar minha participação no projeto de nenhuma maneira e lamento se a descrição é vista como um anúncio. Estamos muito felizes com o projeto!
hek
4

Caixa serial

Um monitor serial portátil em uma caixa

Descrição

Às vezes, é útil para um dispositivo (Arduino ou outro) gerar algumas informações de depuração via serial. Isso é ótimo se você tiver um computador em mãos com uma entrada serial apropriada. No entanto, esse nem sempre é o caso por vários motivos.

Este projeto é minha tentativa de resolver esse problema criando um monitor serial portátil alimentado por Arduino, que eu posso conectar a outros dispositivos no campo.

Por padrão, ele simplesmente exibirá o texto em um formato de rolagem; ou seja, o texto aparece na linha inferior e tudo sobe para abrir espaço quando mais chega. Isso significa que ele deve funcionar muito bem com todos os tipos de dispositivos genéricos. No entanto, também será possível usar seqüências de escape para controlar a tela com mais precisão, para que os dispositivos também possam ser programados especificamente para tirar proveito de seus recursos.

desenhar

O design consiste em um conjunto de 4 displays LCD alfanuméricos (16x2 caracteres cada), alinhados em uma caixa semelhante a esta:

Maquete 3D do design da caixa serial

Os monitores são da Epson EAX16027AR, que infelizmente não são compatíveis com o driver Hitachi HD44780 padrão. Como tal, tive que escrever minha própria biblioteca para eles.

Eu escolhi usar esses monitores (em vez de, por exemplo, um monitor grande) principalmente porque eu os tinha por aí e queria fazer algo interessante com eles. Eu também pensei que seria bastante útil poder controlar cada monitor independentemente para alguns aplicativos (por exemplo, exibir informações diferentes sobre cada um).

Em termos de design de circuito, os monitores são conectados em paralelo, com pinos de seleção de chip sendo usados ​​para direcionar dados / comandos para cada um, conforme necessário.

Um ATMega328 será o cérebro da unidade final, com os dados seriais provenientes de uma linha de nível TTL (para conectar diretamente ao TX de um MCU semelhante) ou, opcionalmente, de um soquete D-sub RS232 de 9 pinos (para conectar ao vários outros sistemas). A unidade também terá um botão de contraste, um botão para limpar a tela e um botão para iniciar o modo de autoteste. No futuro, gostaria de adicionar botões que também permitem ao usuário percorrer um histórico de rolagem.

Abaixo está um layout de circuito muito preliminar (tive muitos problemas para que o Fritzing jogasse bem por algum motivo!). Ele inclui um registro de turno SIPO de 8 bits para acionar as linhas de dados dos LCDs, mostradas em verde. Você também pode ver as linhas de seleção de chips em laranja.

Layout do circuito preliminar

No momento, o projeto ainda está no estágio de protótipo de trabalho, conduzido a partir de uma placa Uno (clone). Abaixo, você pode ver uma foto em ação, exibindo o texto que foi passado via serial do meu computador.

O protótipo em ação

Código fonte

Estou disponibilizando minha biblioteca de LCD no GitHub no link abaixo. Observe que está em um estágio inicial de desenvolvimento. Em um futuro próximo, pretendo torná-lo muito mais semelhante à biblioteca principal do LiquidCrystal, para facilitar a transição entre as duas.

Você pode encontrar algum código básico para o meu protótipo da Serial Box na pasta "examples".

Conclusão

Eu acho que o projeto está indo muito bem e fiquei extremamente satisfeito por fazer o protótipo funcionar. Meu principal desafio será montar tudo em uma caixa. Eu já comecei a cortar furos adequados para as telas, mas não sou muito experiente nesse tipo de coisa e estou achando bastante complicado alinhar tudo.

Eu vou chegar lá no final. Apenas pode não parecer muito bonito quando eu terminar! :)

Peter Bloomfield
fonte
3

Controlador de aquecimento

Você sabe como é - você define o aquecimento para ligar em um determinado momento e quantos dias você trabalha até tarde e ele está em pleno funcionamento por horas, ou você sai por alguns dias e esquece de desligá-lo? Ou a rara ocasião em que você chega em casa cedo e a casa está fria? Decidi que a maneira mais simples de contornar isso era construir um dispositivo que me permitisse ligar ou desligar o aquecimento por mensagem de texto / sms. Seria além do sistema de controle existente, para não perder a flexibilidade que isso pode proporcionar.

O projeto consiste em algumas partes principais: um clone do Arduino Uno, um escudo GSM Seeedstudio, um sensor de temperatura DHT22 e um SSR de 25 amp.

Como funciona:

Os controles de aquecimento existentes estão definidos como 'Desligados' e o novo controlador é conectado para substituí-los. O Uno está programado para responder a três mensagens diferentes - Ativado, Desativado e Consulta. No caso deste último, a unidade lerá o DHT22 e responderá ao remetente com a temperatura atual e o status da unidade (ativado ou desativado). Se o comando estiver Ativado ou Desativado, ele responderá com uma confirmação da ação executada. Depois que as mensagens são postas em ação, elas são excluídas; quaisquer mensagens que não estejam em conformidade com a estrutura de mensagens específica são deixadas na memória do cartão SIM e podem ser examinadas mais tarde, se desejado.

A energia da unidade é fornecida por uma fonte de alimentação de cinco volts e três ampères. Como os pinos de energia do Arduino estão simplesmente expondo o barramento interno de 5V da placa, decidi alimentar o conjunto através deles e configurar o escudo para extrair energia do Arduino.

A unidade possui três LEDs de status. Um verde para indicar que há energia, um azul para indicar que a placa GSM está "ativa" e uma vermelha para indicar o status do aquecimento. Estes são um complemento aos LEDs de status fornecidos no Arduino e na blindagem. Há também um botão de pressão que permite o controle manual do aquecimento, com um capacitor de 100nF para lidar com o retorno.

Próximo:

Grande parte do código depende de um bom atraso antigo () para dar ao escudo tempo suficiente para executar suas ações. Eu pretendo melhorar o código para que ele aguarde confirmação do escudo, em vez de assumir que ele fez o que foi solicitado dentro do tempo alocado! Também adicionarei um recurso 'ainda vivo' - em intervalos fixos, apague o LED azul, envie o comando AT para o escudo e, em um aviso, acenda o LED novamente. A blindagem está sob controle de software; portanto, se ela não responder, desligue-a e ligue-a novamente.

Todo o conjunto deve ser montado em um gabinete adequado e montado adjacente ao controlador existente. Eu tenho um interruptor de botão iluminado internamente que usarei em vez de um interruptor separado e um LED vermelho para lidar com a substituição.

A longo prazo, planejo adicionar um RTC, um LCD de 20 x 4 e botões adicionais para permitir que a unidade seja programada e funcione como uma chave horária.

A prototipagem já começou!

Conclusão.

Há algo um pouco decadente em acordar em um dia frio de inverno, enviar uma mensagem de texto / sms para ligar o aquecimento, rolar e voltar a dormir por uma hora! E quando você perceber que não a desligou em uma noite, poderá fazê-lo no conforto da sua cama!

Imagem 1 do Controlador Imagem 2 do Controlador

DavidA
fonte