Blog Dicas Projetos
Projeto caixinha de musica

O projeto da caixinha de musica, não se encontra em meus projetos mantidos, pois se trata de um pequeno projeto.

Caixinha de musica já decorada

O Projeto é mantido no git, através do seguinte repositório:

https://github.com/MarceloMaurin/Caixinha-de-Musica

Ele não possui caixa plástica criada, ele foi desenvolvido para uma apresentação na ONG Afago.

Caixinha de musica sem acabamento e pintura

Confecção da caixa

A caixa foi feita utilizando palitos de sorvete, colados com cola quente.

O display de LCD foi colado com cola quente.

Outra variação do projeto, agora sem o display de LCD

Lista de componentes

São componentes que devem ser comprados para este projeto:

  • Buzzer
  • Arduino Nano ou Uno
  • 2 x chave fim de curso pode ser shield ou chave normal
  • fonte 12v
  • sensor de temperatura termopar MAX6675 ou DHT22.
  • led RGB
  • LCD I2C (Opcional para primeiro projeto)

Ligações elétricas

Esquema elétrico da caixinha de musica

Projeto Caixinha Musica.ino

O projeto abaixo, referece a caixinha de musica dos vídeos, pois possui alem do max6675, tambem o LCD I2C.

https://github.com/MarceloMaurin/Caixinha-de-Musica/blob/master/caxinha_de_musica/caxinha_de_musica.ino

Ja para a caixinha da foto, recomendamos o fonte 2

https://github.com/MarceloMaurin/Caixinha-de-Musica/blob/master/caxinha_de_musica2/caxinha_de_musica2.ino

Onde usamos a conexão do speaker pinout 4.

Led Verde pinout A4 e A3

Chave fim de curso pinout A4, A3

Buzzer (speak) pinout 04

Pessoal, espero ter ajudado.

Blog
Gerador Eólico

O objetivo deste post é disponibilizar uma base imprimível para professores e estudantes. Permitindo que estes desenvolvam trabalhos escolares.

O Suporte de gerador Eólico permite fixar um pequeno motor DC, para efeito de gerador Eólico.

Para isso é necessário apenas imprimir o suporte, fixar o motor e soldar os fios.

E você terá um pequeno gerador eólico para apresentação de trabalhos escolares ou feiras de ciências.

Aqui você vê um exemplo do projeto acabado.

O projeto pode ser baixado gratuitamente no site:

https://grabcad.com/library/gerador-eolico-1

Dicas Lazarus Relógio Sem categoria
Lendo informações da BIOS

Neste artigo, explicarei como ler as informações da BIOS.

Existe um projeto, na minha opinião um dos poucos que realmente funciona.

https://github.com/RRUZ/tsmbios/blob/master/Common/uSMBIOS.pas

Este projeto, implementa uma camada, que permite ler as informações da BIOS do computador.

Com ela é possível acessar informações, como memória, temperatura, e tantas outras informações.

Um exemplo de uso, esta no projeto relógio, a função GetMemorySize lê a quantidade de memória disponível no seu PC.

function GetMemorySize : DWORD;
Var
SMBios : TSMBios;
LPhysicalMemArr : TPhysicalMemoryArrayInformation;
begin
SMBios:=TSMBios.Create;
try
if SMBios.HasPhysicalMemoryArrayInfo then
for LPhysicalMemArr in SMBios.PhysicalMemoryArrayInfo do
begin
if LPhysicalMemArr.RAWPhysicalMemoryArrayInformation^.MaximumCapacity<>$80000000 then
begin
result := LPhysicalMemArr.RAWPhysicalMemoryArrayInformation^.MaximumCapacity div 1024;
break;
end
else
begin
result :=LPhysicalMemArr.RAWPhysicalMemoryArrayInformation^.ExtendedMaximumCapacity div 1024;
break;
end;
end
else
result := 0;
finally
SMBios.Free;
end;
end;

Existem diversos exemplos de código nesta maravilhosa biblioteca, e vale a pena rever e estudar este código.

Relógio
Projeto Sensor de Temperatura

O objetivo deste case, é permitir coletar a temperatura e humidade do local, armazenando e mostrando no relógio.

vista do sensor de temperatura e humidade já montado

Para o desenvolvimento.

O desenvolvimento deste hardware, foi composto de 3 Etapas:

Mecânica

A confecção da caixa plástica, desenvolvida em ABS, e impressa na impressora 3D. Permite a incorporação de um display 16×2.

O projeto da caixa plástica pode ser obtido através do site grabcad.

https://grabcad.com/library/box-arduino-1

Caixa superior

Sendo a segunda parte a base do projeto.

Base do case

Eletrônica

A eletrônica deste projeto é bem simples.

São poucas peças e com ligações elétricas muito simplificadas.

Display Lcd 16x2 1602 Fundo Verde
Display LCD 16×2

Usamos em nosso software um display 16×2 com I2C incorporado.

Display Lcd 16x2 1602 Backlight Azul Com Modulo I2c Arduino

I2C incorporado no LCD

O uso deste simplifica as ligações elétricas.

Para controlar o lcd, utilizamos um arduino nano.

 Placa Nano V3 Pino Soldado + Cabo Usb Para Arduino Nano


Usamos para simplificar e auxiliar uma base do arduino nano.

Shield Adaptador Base P/ Expansão Arduiino Nanno V3.0

Shield Adaptador Base  arduino nano

Quando montado, fica assim:

Arduino nano + base.

A fixação da base necessita de prévia furação na base, porem, após a furação os chanfros das conexão já estarão disponíveis.

Para coletarmos a temperatura e humidade, utilizamos um sensor DHT22, conforme ilustração abaixo:

Projeto sensor de temperatura e humidade com display LCD

PINOUT do sistema

  • A2 – Sensor de Temperatura
  • A4 – SDA do I2C
  • A5 – SCL do I2C
  • 5V<->5V (i2c e Sensor de temperatura)
  • GND<-> GND (i2c e sensor de temperatura)

Software

Todo o projeto está armazenado no GIT, no seguinte repositório

https://github.com/MarceloMaurin/relogio

Software Arduino

O Software do arduino pode ser obtido na pasta Arduino/Sensor/

Dependencias

O Projeto deve ser compilado com a lib LiquidCrystal_I2C.h e o SimpleDHT.h.

Imagem do código já com o fonte do sensor.

Como funciona?

O Sensor joga na porta serial as informações de temperatura e humidade constantemente.

Debug da porta serial

Desta forma é possível capturar pelo lazarus os valores e mostrar em interface própria.

Software PC

O Software para pc foi desenvolvido em Lazarus.

Esta na pasta relogio/relogioX86 para windows e relogio/relogioL86 para linux.

Tela de captura de Temperatura e Humidade

Já a parametrização pode ser baixada setada em Devices IoT.

Existem versões do Software para Linux/Windows/Mac/Linux ARM.

Instalador

O instalador pode ser visto em relorio/instalador

Para mac o instalador fica em relogio/relogiomac/instalador

Documentação

Documentação completa do projeto pode ser vista em:

http://maurinsoft.com.br/index.php/projeto-relogio/

Relógio Sem categoria
CASEMOD em PC

A algum tempo eu montei um projeto chamado displaypc, que nada mais é um casemod para desktop.

Segue foto do Nextion montado.

Nextion montado

Neste casemod, eu incluo uma tela touch screen, que entre outras coisas permite a integração com uma tela nextion.

Tela Lcd Ihm Nextion 3.2  Tft 400x240 Touch Serial Arduino
Tela Nextion

Nele eu usava um nextion de 3.2 polegadas, ligado diretamente ao meu PC, onde montei um casemod para meu workstation.

O Projeto é constituído de 3 etapas:

Impressão 3D

Segue o link da caixa plástica para impressão:

https://grabcad.com/library/5-inch-pc-cabinet-slap-w-nextion-display-1

Nela imprimimos um suporte, que será colocado no lugar das baias de 5 polegadas. No caso ocupará duas das baias de 5 polegadas.

Eletrônica

Por fim usaremos um eletrônica especifica para fixar os dispositivos.

Primeiramente, usaremos uma placa PCI USB, como essa.

Placa Pci Via Com 5 Portas Usb 2.0 Dp-52m

Placa Pci Via Com 5 Portas Usb 2.0 Dp-52m

Percebam que existem 4 slots usb para fora da maquina, e um para dentro.

Conectaremos neste interno um USB TTL, conforme figura abaixo:

Adaptador Usb Ttl Serial Pl2303 5v Rs232 P/ Arduino

Adaptador Usb Ttl Serial Pl2303 5v Rs232 P/ Arduino

Faremos a ligação, conectando o TX do USB no RX do Nextion, e o RX do USB no TX do Nextion.

As conexões de alimentação, ficam assim:

O GND <-> GND e 5V <-> 5V (USB <-> Nextion);

Pronto, finalizamos toda a ligação elétrica.

Software

Muitos não acreditam, mas o software é sempre a parte mais dificil do projeto. Inclusive esta não terminado.

O protocolo do Nextion pode ser visto a partir deste link:


Depois de bater bastante cabeça eu comecei a entender o projeto.

Primeiro montei um projeto simples, que chamei de displaypc.HMI.

O projeto com extensão HMI, é o padrão do software do nextion, que desenhamos as telas;

A montagem da tela. é muito semelhante as que os programadores usam no Delphi, Visual Studio ou Android Studio.

Então se você usa qualquer uma destas RADS não terá problema em desenvolver neste editor.

Voce pode baixar o Nextion Editor neste link:

O projeto do displaypc.HMI, pode ser baixado no meu git:

https://github.com/MarceloMaurin/relogio.git

O Projeto do Relógio contem vários módulos, mas vc pode baixar os códigos do HMI, dentro da pasta Nextion

Exemplo de Código em Lazarus

Montei um pequeno exemplo em Lazarus que interage com o projeto do displaypc.HMI

Neste tópico vou falar um pouco sobre o programa que montei para testar.

O projeto esta dentro da pasta teste do git.

relogio\teste\lazarus

E pode ser chamado pelo Lazarus 2.0, conforme figura abaixo:

Neste pequeno exemplo faço a integração com lazarus do display Nextion, apresentando como o protocolo do mesmo funciona.

No fragmento abaixo, chamo a page com indice 1.

LazSerial1.WriteData(‘page 1’+#255+#255+#255);

Podemos perceber, que ao final, sempre será necessário incluir o FF FF FF, pois é padrão do protocolo.

Neste pequeno exemplo, fazemos a barra de progresso, sair de 0 ate 100%

procedure TForm1.Button5Click(Sender: TObject);
var
a : integer;
begin
for a:= 0 to 100 do
begin
LazSerial1.WriteData(‘val02.val=’+inttostr(a)+#255+#255+#255);
LazSerial1.WriteData(‘prog02.val=’+inttostr(a)+#255+#255+#255);
sleep(100);
end;
end;

Abaixo, vemos a tela, de status, onde aparece os componentes prog02 e val02.

Em breve falarei mais sobre o casemod, apresentando o exemplo do fonte.

Vida longa e prospera!

maurinsoft.com.br