Mostrando postagens com marcador display. Mostrar todas as postagens
Mostrando postagens com marcador display. Mostrar todas as postagens

terça-feira, 2 de agosto de 2022

Badges #badgelife

Badges

Existem badges que não fazem nada de útil, apenas piscam LEDs  como o Encrypted Wall, existem os didáticos como o TCP Packet, os saudosistas como o floppy disk e o Floppy do Lonely Hackers Club.



Badges Encrypted Wall, TCP Packet, floppy v1 e Lonely Hackers Club



Alguns outros badges interessantes são o do Tor, que é um detector de mentiras (poligrafo) e pode ser visto em Hooked to a Lie Detector [Tor Badge] | DEF CON 29.

DEF CON 30 será entre 11 e 14 de agosto de 2022 e por enquanto essa é a lista das badges de 2022.

Tem até um mini documentário como o BadgeLife - A Hackaday Documentary de 2018.

Além dos Badges, também existem os Pins ou Shitty Add-Ons, e são em sua maioria apenas uns penduricalhos para enfeitar o Badge. 

Para isto seguem um padrão de pinagem com alimentação de 3,3V e GND, SDA (GPIO 21 no ESP32) e SCL (GPIO 22 no ESP32) da comunicação I2C, GPIO1 (TX0 no ESP32) e GPIO2 (D2 no ESP32).


Pinagem do SAO - Fonte: YouTube HackADay


Alguns exemplos de arte muito bem feita em SAOs são o Baphomet Defcon SAO, Tor SAO Def Con


Badges H2HC

Um costume interessante nas conferencias americanas é o uso de badges, mas aqui no Brasil é muito difícil de ver alguma, com exceção da H2HC que faz os próprios badges.


Badges da H2HC de 2015, 2016, 2017, 2018 e 2019


Badge H2HC de 2015 é basicamente um Arduino Leonardo que funciona com 5V.

Badge H2HC de 2016 é um contador binário simples baseado no nodeMCU. Usando o uplink WiFi do ESP, ele pode ser facilmente transformado em um relógio NTP.

Badge H2HC de 2017 é um pequeno injetor USB HID baseado no ATTiny85. Depois que foi descoberto que o ATTiny85 poderia ser usado para BitBang USB (ele não possui uma interface USB nativa).

Badge H2HC de 2018 é um Espressif ESP32 WROOM, que é um pequeno WiFi & Bluetooth LE System on Chip.

Badge H2HC de 2019 não consegui encontrar informações detalhadas.

Atualizado em janeiro de 2023:

Coleções de Badges

E existem alguns colecionadores de respeito.


Coleção de Badges do @hamster  Reprocução: @hamster



Coleção do d1g1t4l_t3mpl4r que estava a venda



Vídeos e Links Complementares



Neste vídeo da DEF CON 27: #badgelife Art and SAOs with Twinkle Twinkie - Hak5 2605 Twinkle Twinkie explica como fez a badge e alguns SAOs, e deixa alguns exemplos no site

Alex Chaveriat comenta sobre alguns Unofficial DEF CON 29 Badges #badgelife | Pre-Con Look. E já na DEF CON 29 conversa com o criador do Incredible DC801 Badge | DEF CON 29, os códigos podem ser encontrados no GItHub como o DC801 Black Mage Badge

Aqui vão alguns outros links para inspirar:



Se chegou até aqui e gostou, deixa um comentário ou entre em contato comigo, estou querendo desenvolver uma badge com ESP32 e um Display 2.4 TFT SPI 240 X 320 com touch e slot para cartão SD, mas vou precisar de mais gente no processo, até porque muitas coisas ainda estou aprendendo.a intenção é ser um projeto aberto e colaborativo.

terça-feira, 19 de julho de 2022

Display 2.4 TFT SPI 240 X 320 com touch e slot para cartão SD

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)
SD-MOSI: SPI bus write data signal
SD-MISO: SPI bus read data signal
SD-SCK: SPI bus clock signal



Arduino



Para entender se usar 5 V ou 3,3 V assista #154 - Display TFT ILI9341 - parte 1, neste outro vídeo tem ideias de montagem de um shield para o display #155 - Display TFT ILI9341 - parte 2







Para facilitar como deve ser feita a ligação do display usando o SPI com o Arduino, siga o esquema. 


https://capsistema.com.br/index.php/2020/11/28/como-usar-spi-no-arduino-comunicacao-entre-duas-placas-arduino/


Esquema de ligação do Arduino pelo SPI  segundo o vídeo Connect an SPI TFT with Touchscreen to your Arduino - ILI9341 LCD with XPT2046 Touch screen



A desvantagem de usar com o Arduino Uno é que é preciso usar alguns resistores.



Para meu projeto, que quero simplicidade na montagem e mais funcionalidades, acabei decidindo pelo ESP32.

ESP32



No canal XTronical explica a ligação básica no vídeo ILI9341 TFT LCD to ESP32 - Full HOW TO for display, SD card and Touch. Using TFT_eSPI driver, e mostra as bibliotecas que vai usar nos exemplos , no ®windows, no caso são TFT_eSPI antes de usar o exemplo TFT_Meters, para testar o cartão SD adicionar lib JPEGDecoder e por último para usar o touch screen usa o exemplo TFT_eSPI -> Generic -> On_Off_Button. Mais detalhes podem ser encontrados em ILI9341 TFT LCD to ESP32 – Full HOW TO.




Modelo sem touch ligado ao ESP32 Arduino-friendly 240x320 LCD Display Tutorial (ILI9341) com alguns exemplos básicos de desenho na programação. Usa as bibliotecas SPI, Adafruit_GFX e Adafruit_ILI9341.


Aqui muda o tamanho Interfacing 2.2 Inch IPS Full Color TFT Display Module with ESP32 mas os conceitos são os mesmos.

Neste caso é sem o cartão ESP32 - Touchscreen - TFT_eSPI - ILI9341.

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




Para aprender a fazer interfaces simples e pouco depois dos 3 minutos tem a visão microscópica do TFT How to create a simple Touchscreen GUI || Arduino LCD & Touchscreen Tutorial
   



Visão microscópica do TFT - Prints do vídeo How to create a simple Touchscreen GUI || Arduino LCD & Touchscreen Tutorial



No canal do Ralph S Bacon além de falar que prefere o display convencional no lugar do shield, ele mostra que o display funciona corretamente com imagens em bitmap e em jpg ocorrem alguns problemas, informações retiradas do vídeo #204 TFT Touch Screen ILI9341 SPI for ESP32 (Internet Radio Research)







Se o seu for o shield recomendo estes:
Esquema de ligação do shield mcufriend 2.4 inch shield display for esp 32



Softwares


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

Arduino: 1.8.13 (Linux), Placa:"DOIT ESP32 DEVKIT V1, 80MHz, 921600, None"
/home/sickeira/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:2724:30: warning: unused variable 'ILI9481_RGB_regValues' [-Wunused-variable]
         static const uint8_t ILI9481_RGB_regValues[] PROGMEM = {    // 320x480
                              ^
/home/sickeira/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:2816:7: error: label 'common_9488' defined but not used [-Werror=unused-label]
       common_9488:
       ^
cc1plus: some warnings being treated as errors
Usando a biblioteca MCUFRIEND_kbv na versão 2.9.9-Release na pasta: /home/sickeira/Arduino/libraries/MCUFRIEND_kbv 
Usando a biblioteca Adafruit_GFX_Library na versão 1.10.13 na pasta: /home/sickeira/Arduino/libraries/Adafruit_GFX_Library 
Usando a biblioteca Adafruit_BusIO na versão 1.11.2 na pasta: /home/sickeira/Arduino/libraries/Adafruit_BusIO 
Usando a biblioteca Wire na versão 1.0.1 na pasta: /home/sickeira/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/Wire 
Usando a biblioteca SPI na versão 1.0 na pasta: /home/sickeira/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI 
exit status 1
Erro compilando para a placa DOIT ESP32 DEVKIT V1




Antes de rodar esse identificador é necessário adicionar uma biblioteca, em Ferramentas -> Gerenciador de Bibliotecas,.

Depois é preciso calibrar o display, e para isso pode usar o programa calibrador do Brincando com ideias



Medidas


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.
Vídeo sobre paleta de cores #161 - Display TFT ILI9341 - parte 3 com diversos links úteis.