Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

HSVClock

Componentes e suprimentos

Arduino UNO
× 1
Visto 2.8 "TFT Touch Shield (V1.0)
× 1

Sobre este projeto

Relógio HSV


Quando visitei os EUA pela última vez, comprei um Seeed 2.8 "TFT Touch Shield (V1.0) de um RadioShack. Usei-o para fazer um relógio colorido para meu pai em seu aniversário de 80 anos.
HSVClock.zipYouTube
Os pontos importantes são
  • O mostrador do relógio é baseado em uma grade de células retangulares. Os cantos das células são distorcidos por pequenas quantidades aleatórias e cada célula é dividida por uma diagonal aleatória. Uma distribuição aleatória de cores é aplicada nas células e cada triângulo é sombreado para dar uma aparência 3D. Internamente, as cores são representadas como HSV (Hue, Saturation &Value), mas convertidas em RGB para envio ao LCD. A hora é exibida com uma fonte simples, colorindo certas células com cores complementares.
  • O gabinete é um bambu cortado a laser, projetado em Inkscape, cortado por Ponoko.
  • Infelizmente, a blindagem não tem orifícios de montagem então eu prendo-o com eficácia no gabinete contra a face frontal. Um Arduino Uno pega carona no escudo por meio dos pinos de cabeçalho.
  • Eu precisava de acesso I2C a um RTC externo (DS3232). A blindagem não expõe pinos não usados, então usei um Uno que tem pinos SDA / SCL extras. Eu fiz um conector de cabeçalho de baixo perfil para eles, que fica sob a blindagem. Retirei energia e aterramento de um conector semelhante nos pinos ICSP, também sob a blindagem.
  • Eu adicionei um horário de verão simples apoio ao desenho (menos um relógio para acertar duas vezes por ano!). Em vez de lidar com a lógica como “o último domingo de setembro”, ele se baseia em uma pequena tabela de datas específicas de início e término para os anos futuros (para a Nova Zelândia, no meu caso).
  • Simplifiquei o código da biblioteca Touch para fazer a tela sensível ao toque apenas atuam como uma grade 4x4 de botões não rebatidos. Por exemplo, a hora é definida tocando nos cantos inferior esquerdo e superior direito.
  • Fiz alguns esforços bastante heróicos para acelerar a renderização:uma repintura das células leva cerca de um quarto de segundo. A renderização é baseada na escrita de linhas horizontais de pixels de uma cor específica. Eu uso um algoritmo de Bresenham modificado para calcular as extensões horizontais de uma série de pares de linhas que constituem os triângulos de uma determinada célula. O código que envia os pixels para o LCD é baseado na biblioteca, mas alinhado, desenrolado, simplificado e otimizado. Uma vez que os dados de cor de pixel são gravados em vários PORTx, todos os valores são pré-calculados quando a cor é selecionada, portanto, definir N pixels em uma linha para essa cor é mais rápido.
  • O LCD é usado na orientação paisagem . Lutei por muito tempo para fazer a tela atualizar em linhas horizontais. A folha de dados do controlador é confusa. Existem comandos para definir a localização do “cursor”, “DRAM Horizontal / Vertical Address Set (R20h, R21h)”. Os dados de pixel são gravados no local do cursor e o cursor é atualizado, envolvendo a próxima linha quando necessário, etc. Há também um comando para alterar a orientação da tela, “Modo de entrada (R03h)”, que também fala sobre como ajustar a linha e coluna do cursor incrementos. No entanto, descobri que alterar a orientação para Paisagem e posicionar o cursor não funcionou. A solução que eventualmente encontrei (que pode estar enterrada na folha de dados) é usar o comando “janela” em vez do comando do cursor; “Posição de endereço RAM horizontal e vertical (R50h, R51h, R52h, R53h)”. Definir as coordenadas do canto superior esquerdo da janela significa que os dados de pixel começam lá e são atualizados horizontalmente (na paisagem).

Circuito


O circuito é simplesmente

  • o escudo TFT montado no Uno.
  • + 5VDC, Ground, SDA e SDL vão dos pinos rotulados no Uno para o módulo RTC. Mostrado nas três primeiras fotos abaixo (escudo removido). Observe que, por motivos de acesso, a alimentação / aterramento vem do conector ICSP1.
Fritzing
Fotos

Processo de manufatura

  1. Kazoo
  2. Harpa
  3. Espuma de poliestireno expandido (EPF)
  4. Sensores Raspberry Pi
  5. Robô usando Raspberry Pi e Bridge Shield
  6. Controlador DMX operado pela web
  7. O que é um cortador de linha?
  8. O que é uma pedreira?
  9. O que é uma chave de esqueleto?
  10. Geração de nitrogênio em laboratórios