Como sou um excelente programador (#SQN), toda essa parte é na base do Ctrl+C e Ctrl+V com poucas adaptações das fontes citadas, e na parte de desenvolvimento de placas fiz apenas algumas simples no século passado, por isso optei na substituição algo que usei bem em 2017, uma cortadora laser.
Primeira versão do meu protótipo de badge
Essa versão já foi aposentada e estou trabalhando na segunda, substituindo por uma placa universal o MDF e os parafusos por barra de pinos.
Protótipo com parafusos M3 e espaçadores feitos com canudos
Acrílico para fechar a parte de cima https://hackaday.com/2022/08/21/an-ascii-terminal-like-its-1974/
Material
Jumpers fêmea-fêmea
ESP32 DevKitV1 Display 2.4 TFT SPI 240 X 320 com touch
Célula de 3,7 V 18650
Placa MDF de 3mm espessura, 85mm largura, 150mm altura
Lay-out
Primeiro é preciso decidir a disposição em que os componentes ficarão, como serão com jumpers de 10 cm então pensei em deixar o ESP32 em uma extremidade e o display na outra, com a bateria no meio, porém vendo diversas placas verifiquei que pelo peso o melhor seria deixar a bateria na parte de baixo com o display na parte superior e no centro o ESP32.
Pensando em qual posição ficaria melhor para cada componente
Tem de ser com 3 encaixes para o cordão, um centralizado e 2 nas bordas, para ter opção de escolha de como deixar pendurado.
Para facilitar o meu entendimento da ligação planilhei as pinagens do display, cores dos fios usados no protótipo e os pinos usados no ESP32.
Observe que os 3 primeiros são na ordem, no 4º e 5º pinos são invertidos no ESP32 DEVKIT V1,
No começo não usarei touch screen e nem o cartão SD, isso ficara para um futuro próximo.
Montagem
Conforme detalhado anteriormente em Display 2.4 TFT SPI 240 X 320 com touch depois de identificado o drive do display, que no caso do meu é ILI9341 será necessário calibrar o touch e trocar os valores exibidos no programa.
Software
Além do Arduino IDE, precisamos das bibliotecas TFT_eSPI
Módulo de rádio frequência NRF24L01, e como normalmente é usado em dupla, com um sendo o transmissor e o outro o receptor, e ganhei apenas este, não foi possível executar testes práticos.
Vou deixar algumas anotações do que aprendi pesquisando sobre o assunto, como a página de downloads do nRF24 Series que é um Single Chip 2.4GHz Transceiver.
Uma coletânea de links interessantes sobre o assunto com algumas anotações do meu aprendizado.
Existem diversos tipos de display de 2,4 polegadas TFT SPI, alguns bem simples como os de formato shield em que não precisa se preocupar com ligação, basta encaixar na placa e ligar, e também modelos com touch e sem, com slot para cartão SD, micro SD ou sem slot de cartão, e claro também existem outros tamanhos diferentes.
Frente do Display 2.4 TFT SPI 240 X 320 com touch e caneta
O modelo usado aqui é o Display 2.4 TFT SPI 240 X 320 com touch e slot para cartão SD. Onde TFT é Thin Film Transistor (Transistor de Película Fina), SPI é Serial Peripheral Interface e 240 x 320 é a resolução em pixels.
Verso do Display 2.4 TFT SPI 240 X 320 com touch
A documentação original deste display pode ser encontrada nesta wiki. E destacarei as informações que considero mais relevantes.
Especificações Técnicas
Especificações técnicas do display
Pinagem
O display tem 14 pinos sendo 9 de uso geral e 5 para acionamento do touch, mais 4 pinos separados para o cartão SD.
Pinagem do Diplay extraída diretamente do Datasheet
SD-CS: Chip select signal for SPI protocol (SD Card)
No vídeo Displays gráficos com ESP32 e Arduino IDE 2.0 tem vários exemplos de aplicação do display TFT com o Fernando K fazendo as demonstrações, apesar de ser outro driver , no exemplo usa o ILI9488, cita o LCD Wiki, tem uma imagem com os pinos divididos entre display, touch e cartão SD, além da tabela com ligação no ESP32.
Demonstra alguns usos da TFT_eSPI, como exemplos que podem ser acessados no Arduino IDE pelo caminho Arquivos -> Exemplos -> TFT_eSPI -> TFT_Meters, Meter Ring,
Cubo em 3D,
calibração,
Keypad_320 (verificar),
A lib JPEGDecoder foi lenta neste exemplo, mesmo sendo ligado pelo H SPI, e explica um pouco do DrawSd Jpeg e outros códigos.
Print Screen da tabela de ligação do ESP32 ro vídeo
Depois de ligados os fios, primeiro precisamos identificar o chip controlador e para isso tem o programa Identificador do Brincando com ideias. não funcionou apresentou este erro
Na proto board com jumpers e om o ESP32 tentando ligar o display TFT coloquei o USB Color Display Tester - parte 1 quando a tela ficava totalmente branca e os resultados em 5 V foram 0,116 A e potência de 0,582 W.
Dicas
Por usar touch resistivo, é recomendado não usar botões pequenos no display.
Aqui vai de vigilância, monitoramento de qualidade de ar com arduino, Mapillary, vôos, rádios comunitárias, semáforos, sinais da telefonia e banda larga móvel, além de alguns outros.
Print screen com resultado da cidade de Santo André no estado de São Paulo
Anatel disponibiliza mapeamento da presença dos sinais da telefonia e banda larga móvel. O painel permite ao consumidor pesquisar a cobertura das operadoras móveis em todas as regiões do país. Assim, a partir de mapas com as manchas de cobertura, o consumidor pode verificar a existência de sinal 3G ou 4G da prestadora móvel na sua residência, nas ruas por onde circula, no trabalho e na faculdade, por exemplo.
O Mapillary é uma plataforma de imagens de ruas que usa a visão computacional para corrigir os mapas. É similar ao Google Street View. Grupo do telegram sobre Mapillary
Com dados do Google Maps, existe o Maps - Red Light Cameras & Speed Cameras, que como o nome diz, mapeia as câmeras de semáforos e de velocidade, alem de câmeras de vigilância.
CommunityCam Surveillance CameraMap utiliza mapas do Google no lugar do OSM os dados podem ser incluídos através de um aplicativo ou diretamente pelo site, exigindo um login. Mapeamento das câmeras de vigilância de algumas cidades dos Estados Unidos, em setembro de 2019 eram apenas 10 cidades.
No sentido horário, lado direito, esquerdo, traseira e dianteira do robô controlado por bluetooth
Veremos algumas coisas básicas que podemos aprender para iniciar a construção de um robô comandado pelo celular, usando softwares livres. A maioria dos softwares apresentados são gratuitos e multiplataforma, ou seja funcionam no Linux, Windows e Mac OS.
O robô modelo usado para as fotos, foi montado pelo GERSE, e gentilmente emprestado para que eu possa estuda-lo e adapta-lo as minhas necessidades.
Chassi com o Arduino Uno fixado, shield EDU-IFSP com os fios ligados e módulo Bluetooth desconectado
Suporte da esfera que esta fixado na dianteira do chassi, feito na impressora 3D
Impressão 3D - algumas peças podem ser impressas como o suporte da esfera dianteira. Para modelar a peça pode ser usado o Blender ou o FreeCAD.
Detalhes personalizados para identificação na traseira do chassi do robô
Corte laser - o chassi do robô pode ser feito em acrílico, como o da foto, ou em MDF de 3 milímetros para baratear o custo, e o projeto da peça pode ser criado ou modificado usando o Inkscape ou o FreeCAD, colocando logotipos, desenhos ou escrita. Ainda existe a opção de se fazer o chassi com o que sua imaginação permitir, como este feito com ralador.
Print Screen do aplicativo para Android Bluetooth RC Controller, para comandar o robô
Programação mobile - usando o software desenvolvido pelo MIT, o App Inventor, pode ser feito um aplicativo personalizado ou ainda usar um aplicativo já pronto como o Arduino Bluetooth RC Car para comandar o robô remotamente.
Bluetooth - módulo bluetooth para comunicação entre o robô e o aplicativo do celular. Um dos motivos de escolher o Bluetooth no lugar do wifi é o menor consumo deste. Mais detalhes podem ser vistos aqui.
Lista de material usado no modelo e opções alternartivas
Arduíno Uno
Shield EDU-IFSP
Módulo Bluetooth
Bateria recarregável (PowerBank), pilhas ou células de bateria de notebook
Suporte para pilhas/células de bateria
Chassi em acrílico/MDF ou "ralador"
2 Motores DC
2 Rodas
Esfera
Suporte para esfera feito na impressora 3D
Fios
Parafusos e porcas ou abraçadeiras plásticas
Espaçadores
Interruptor (opcional)
Ao construir o meu (assim que sobrar um dinheiro), compartilharei o processo aqui no blog, estou aceitando doações de peças também.
Quem não foi perdeu um belo evento, fui de bicicleta pois o CCSP tem muitos paraciclos
E no sábado dia 06 de abril ocorreu o Arduino Day de São Paulo, no Centro Cultural São Paulo, que por si só já vale uma visita. Assim como aconteceu na edição de Mauá, só pude comparecer no período da tarde, e novamente acabei ficando apenas na área de exposição, infelizmente não consegui ver nenhuma palestra.
Uma pequena amostra do que tinha na área de exposição
Acho muito boa a ideia de fazer em datas diferentes da oficial , pois conseguimos aproveitar melhor os eventos e acabamos adquirindo mais conhecimento, pois podemos conversar com mais pessoas.
Devido o pouco tempo disponível não consegui ver todas as mesas, mas aqui vai um pequeno resumo do que eu vi de interessante.
Mesa do Hardware Livre USP com destaque para a mini centrifuga feita com arduino e corte laser
Hardware Livre USP apresentou alguns projetos, entre os que consegui ver com mais detalhes foram a mini centrifuga seletora, que foi um excelente uso para o arduino, o robô Baratino e até projetos bem simples como Genius e um dado eletrônico.
Mesa do GERSE (Instituto Federal campus Guarulhos) com seus diversos robôs e impressora 3D
O GERSE apresentou seus projetos como o robô omnidirecional, robô seguidor de linha, Urutu o robô de sumô, robô jogador de futebol, robôs guiados por bluetooth com aplicativo personalizado criado com o App Inventor, e também o shield EDU-IFSP usado para potencializar o aprendizado do arduino, evitando a bagunça dos componentes na protoboard.
Algumas das atividades realizadas como paper toys e oficina de solda
Ainda houveram diversas atividades, como a oficina de solda e montagem do Franzininho, várias oficinas do Fab Lab Livre SP, paper toys com leds, palco do Embarcados com lightning talks, Mau Maker , Evandro Peixoto e a pequena Manoela com oficina de massinha condutora, oficina do Ligue o fusca e outras que acabei nem vendo devido o horário que cheguei.
E agora só aguardando os #ArduinoDay s 2020.
Este ano aconteceu o segundo Arduino Day Mauá, na ETEC de Mauá. Infelizmente só pude ir após as 12 horas, e acabei ficando somente na área de exposições dos projetos, aqui vai um pouco do que pude conferir e que achei interessante, não conseguiria colocar tudo que estava exposto devido o pouco tempo que tive para explorar mais conhecimento.
A Deal estava expondo um software de reconhecimento facial que identifica a idade da pessoa, bastava passar pela câmera que o software reconhecia os rostos e a partir da detecção facial envia os dados para analise e responde rapidamente com a idade e uma sugestão de produto para compra, são as chamadas vitrines inteligentes.
Bancada do Programaê
A Programaê estava ensinando a montar o robô escova, usando materiais simples de encontrar e baratos, como o motorzinho de vibra call de telefone celular e a acender LEDs com bateria, coisas simples mas que despertaram muito o interesse das crianças, e até de muita gente que não tem contato com eletrônica.
Bancada do GERSE do Instituto Federal de Guarulhos
O Gerse mostrou seus diversos robôs, entre eles estavam o robô omnidirecional, o robô de sumô Uruttu, o seguidor de linha e o Bob. Também demonstraram o shield EDU para arduino, que potencializa o ensino desta plataforma, evitando a compra de diversos componentes eletrônicos e a bagunça que fica qualquer protoboard cheia de fios, além de evitar o famigerado mau contato, é tudo projeto open source e open hardware.
Bancada do Drone Lab Brasil
O Drone Lab Brasil estava demonstrando diversos tipos de drones , dos mais variados formatos e tamanhos, muitos deles inclusive foram feitos artesanalmente, utilizando impressão 3D e máquinas de corte a laser, também fizeram um video sobrevoando a área de exposições do evento.
Space Maker Truck
CubeSat do INPE
Ainda tivemos o Space Maker Truck que não consegui visitar devido a fila estar sempre imensa, era o mesmo que estava na Campus Party 2019 , próximo da entrada da área fechada.
E também tinha o Cubesat, do pessoal de São Jose dos Campos que demonstrou o funcionamento deste mini satélite artificial. E também vieram divulgar o 2º CubeDesign, que acontecerá entre os dias 24 a 27 de julho de 2019 no INPE de São José dos Campos, sendo
CubeSat - Destinada a alunos da graduação e pós graduação
Com o intuito de fazer um projeto com Arduino, voltado para segurança da informação, após algumas ideias descartadas, veio esta do scan de rede.
Já existem aplicativos de celular como o Fing, assim como diversos programas e/ou comandos que podem ser executados a partir de um PC, por exemplo, porém estes precisam da interação humana para realizar um escaneamento, . E se um dia o usuário se esquecer de escanear a rede e exatamente neste dia houve alguma alteração/invasão, como saber?
E se com um dispositivo que faz o escaneamento automaticamente, com um intervalo de tempo determinado pelo próprio usuário, com gasto de energia elétrica extremamente baixo, bastando apenas plugar este dispositivo no cabo de rede, e na fonte.E ainda tornar um projeto de hardware livre.
A partir disso surgiu a idéia do scan de rede com o Arduino.
O projeto para a matéria de Arquitetura e Organização de Computadores, do Professor Ismael Moura Parede, é em dupla, neste caso estou fazendo com o Pedro. Este post é uma adaptação do trabalho entregue.
MATERIAL
Arduino Uno R3 CH350G da RoboDyn
Shield Ethernet
Cabos de rede
Cabo USB / mini USB (para alimentação/inserção de dados)
Switch de 8 portas , Encore ENH908-NWY
Aqui tem um tutorial em português, bem detalhado sobre o Arduino Uno, mas alguns aspectos desse modelo da RoboDyn são diferentes, como a porta USB aqui usada, que é a mini, ao contrário dos modelos antigos, que usavam o tipo B.
Para usar o cartão micro SD do shield Ethernet, é necessário usar a biblioteca do mesmo.
Neste cartão pretendemos gravar as informações adquiridas a cada escaneamento da rede, e assim poder compara-las e alertar sobre qualquer alteração.
Para colocar o Shield Ethernet, basta alinha-lo com o Arduino Uno R3, sendo que a entrada do cabo de rede (RJ45), deve ficar logo acima da entrada USB, como visto na animação.
DIAGRAMAS / ESQUEMAS
Para simular um ambiente de rede residencial cabeada, evitando assim o uso da rede da faculdade, utilizamos um switch de 8 portas, e a partir dele, um cabo de rede vai para o shield arduino, e um cabo de rede para cada dispositivo.
Lembrando que todos os dispositivos conectados tem de estar na mesma classe de IP (Internet Protocol), que no caso foi usada a 192.168.1.0.
O netbook usado para os testes e de onde usamos o monitor serial, por exemplo, ficou com o IP 192.168.1.5. Este netbook usa o Debian como sistema operacional.
Conectamos outro notebook, este com Windows 10, mas lembre-se de desativar o Firewall nativo, que vem habilitado por padrão, este foi configurado para ficar com IP 192.168.1.9.
Abaixo um diagrama de nosso ambiente de testes
PROGRAMA
No programa, tudo que esta grifado em azul após as barras duplas, são os comentários explicando o funcionamento dos trechos.
Sempre que usar um shield é recomendável adicionar sua biblioteca, para o funcionamento correto do mesmo, e assim conseguir explorar sua usabilidade ao máximo.
Biblioteca para executar a função do comando “ping” , esta biblioteca, ao contrário das anteriores, não esta disponível por padrão na IDE do Arduino.Esta é uma das diversas bibliotecas feitas pela comunidade de usuários do Arduino
Para visualizar o funcionamento passo a passo do programa, utilizamos o monitor serial, que pode ser acessado pela IDE do Arduino. Através do monitor serial também é possível acompanhar o comando “ping” e sua resposta (se offline, ou dispositivo conectado).
Depois de efetuada a varredura dos IPs da classe de rede , já pré definida, o programa mostra quantos dispositivos estão conectados na rede. Após uma segunda varredura, o programa compara com o resultado da operação anterior e avisa se encontrou mais dispositivos ou se não houve alteração na rede.
Muito obrigado se você chegou a ver até aqui. Aceitamos sugestões, e queremos manter este projeto em aberto para toda a comunidade.