Índice:

HackerBox 0050: 8 etapas
HackerBox 0050: 8 etapas

Vídeo: HackerBox 0050: 8 etapas

Vídeo: HackerBox 0050: 8 etapas
Vídeo: Projects - July 2016 2024, Novembro
Anonim
HackerBox 0050
HackerBox 0050

Saudações aos Hackers HackerBox de todo o mundo! Para HackerBox 0050, estamos montando e programando a placa do processador embutido HB50. O HB50 oferece suporte para experimentos com microcontroladores ESP32, IoT WiFi embutido, som bit bang, LEDs RGB, telas TFT LCD coloridas, entradas de tela de toque, Bluetooth e muito mais. HackerBox 0050 também explora uma solução de teclado minúsculo para qualquer projeto embarcado, interfaces I2C, orçamento de energia e autômatos celulares.

Este guia contém informações para começar a usar o HackerBox 0050, que pode ser adquirido aqui enquanto durar o estoque. Se você gostaria de receber um HackerBox como este diretamente em sua caixa de correio a cada mês, inscreva-se em HackerBoxes.com e junte-se à revolução!

HackerBoxes é o serviço de caixa de assinatura mensal para hackers de hardware e entusiastas de eletrônicos e tecnologia de computador. Junte-se a nós na vivência do HACK LIFE.

Etapa 1: Lista de conteúdo para HackerBox 0050

  • Placa de circuito impresso HB50 exclusiva
  • Módulo WiFi ESP-WROOM-32 Dual Core
  • Ecrã QVGA TFT LCD de 2,4 polegadas a cores
  • Tela Touchscreen Integrada com Caneta
  • Seis LEDs RGB WS2812B
  • Seis botões tácteis de montagem em superfície
  • Piezo Buzzer 12mm SMD
  • Regulador Linear de 3,3 V AMS1117 SOT223
  • Cabeçalho de quebra de 40 pinos de ângulo reto
  • Dois capacitores de tântalo 22uF 1206 SMD
  • Dois resistores de 10K Ohm 0805 SMD
  • Mini teclado CardKB
  • Cabo Breakout Grove para Fêmea DuPont
  • Módulo serial USB CP2102
  • DuPont Jumpers Feminino-Feminino 10cm
  • Decalque Hokusai Great Wave PCB
  • Decalque exclusivo do HackerBox WireHead
  • HackerBox 50 Challenge Coin exclusivo

Algumas outras coisas que serão úteis:

  • Ferro de soldar, solda e ferramentas básicas de solda
  • Computador para executar ferramentas de software

Mais importante ainda, você precisará de um senso de aventura, espírito hacker, paciência e curiosidade. Construir e experimentar com eletrônicos, embora muito gratificante, pode ser complicado, desafiador e até mesmo frustrante às vezes. O objetivo é o progresso, não a perfeição. Quando você persiste e aproveita a aventura, uma grande satisfação pode ser derivada deste hobby. Dê cada passo lentamente, preste atenção aos detalhes e não tenha medo de pedir ajuda.

Há uma grande quantidade de informações para membros atuais e potenciais nas Perguntas frequentes dos HackerBoxes. Quase todos os e-mails de suporte não técnico que recebemos já foram respondidos lá, portanto, agradecemos por dedicar alguns minutos para ler o FAQ.

Etapa 2: Placa de circuito impresso HB50

Placa de Circuito Impresso HB50
Placa de Circuito Impresso HB50

Para comemorar o HackerBox número 0050, lançamos uma versão atualizada da placa de circuito HackerBox mais popular por demanda popular. O kit de crachá HackerBox 0020 Summer Camp esgotou na DEF CON 25 em menos de duas horas. Desde então, os arquivos PCB têm sido solicitados com frequência. O conselho foi reimpresso pelo menos algumas vezes por terceiros. O design inspirou vários outros emblemas e projetos de IoT incorporados dos quais temos conhecimento e, esperançosamente, vários outros dos quais não temos conhecimento.

As atualizações encontradas no novo HB50 PCB Kit incluem a troca do ESP-32 DEVkitC pelo módulo mais compacto ESP-WROOM-32. Os cinco botões de toque capacitivos foram substituídos por botões mecânicos táteis. Os cinco LEDs RGB WS2812 que estavam em embalagens brancas foram aumentados para seis e agora estão em embalagens pretas. A campainha piezoelétrica foi substituída por uma versão de montagem em superfície mais compacta. A fonte de alimentação foi simplificada. O display TFT colorido foi aumentado de 2,2 polegadas para 2,4 polegadas. O PCB é mais compacto e ainda tem alguns pinos IO quebrados para o seu prazer de hackear. Desde o tempo do HackerBox 20, existem muitos mais projetos, exemplos e códigos disponíveis para o ESP32, então vamos nos preparar para começar…

Recursos:

  • Processador ESP32 Dual Core 160 MHz
  • Ecrã LCD TFT QVGA a cores de 2,4 polegadas
  • WiFi 802.11 b / g / n / d / e / i / k / r
  • Bluetooth LE 5.0
  • Cinco botões táteis (+ um para reiniciar)
  • Seis LEDs RGB WS2812
  • Piezo Buzzer
  • Regulador Linear de 3,3 V
  • Cabeçalho de Expansão

Assim como seu antecessor, o HB50 pode ser usado em um cordão, usado como um dispositivo portátil, montado em uma parede ou implantado em praticamente qualquer lugar em incontáveis aplicações sem fio e coloridas.

Etapa 3: Abra a placa HB50

Abra a placa HB50
Abra a placa HB50

Para minimizar, ou pelo menos isolar os erros, sugerimos iniciar a montagem preenchendo apenas o mínimo de componentes para o HB50 PCB que são necessários para programar o ESP32. Essa abordagem viável mínima é descrita nestas etapas:

  1. Assista a este vídeo sobre soldagem de módulos acastelados.
  2. Solde o módulo ESP-WROOM-32 no PCB. Sem pressa. Não se preocupe com a almofada de aterramento central sob o módulo. Ele só pode ser soldado por refluxo e está lá apenas para acoplamento térmico adicional.
  3. Use um multímetro para garantir que não haja curto entre 3V3 e GND. Se houver um curto, ele deve ser identificado e removido antes de aplicar energia ao tabuleiro ou o monstro de fumaça pode sair.
  4. Solde os dois resistores de 10K logo acima dos botões EN e IO0.
  5. Solde os botões EN e IO0. Os outros quatro botões podem ser deixados desligados por enquanto.
  6. Quebre uma tira de 16 pinos do cabeçalho. Insira-o pelo lado da CPU da PCB de forma que os pinos apontem para a borda mais próxima da PCB. Em seguida, solde o cabeçalho no lugar do lado do botão do PCB.
  7. Verifique novamente se não há curtos entre 3V3 e GND.
  8. Use quatro fios de jumper DuPont para conectar o módulo CP2102 conforme mostrado. Observe que estamos usando temporariamente a fonte de alimentação 3V3, uma vez que o regulador linear ainda não está instalado no PCB.
  9. Se o seu computador ainda não tiver o IDE do Arduino instalado, obtenha-o aqui.
  10. Configure o suporte ESP32 dentro do Arduino IDE usando este guia.
  11. No IDE, defina tools> board para "ESP32 Wrover Module".
  12. Conecte o módulo CP2102 a uma porta USB do computador.
  13. No IDE, defina ferramentas> porta para a porta USB correta para o CP2102.
  14. Se uma nova porta não aparecer quando o módulo CP2102 for inserido, instale o driver USB necessário da Silicon Labs.
  15. Pegue o esboço button_demo.
  16. Compile e carregue o esboço.
  17. Quando o upload começar, mantenha pressionados os botões EN e IO0. EN é basicamente um botão de reset e IO0 é o pino de amarração para forçar a reprogramação do flash.
  18. Uma vez que os pontos e traços apareçam no IDE, solte o botão EN (solte o reset), mas continue pressionando o botão IO0 até que a programação do flash comece para ter certeza de que o pino de amarração é reconhecido na inicialização.
  19. Quando a programação estiver concluída, pressione o botão EN novamente para redefinir e iniciar o código recém-exibido.
  20. Abra o Arduino IDE Serial Monitor e configure-o para 115200 baud.
  21. Pressionar o botão IO0 deve gerar uma mensagem no monitor serial.

Etapa 4: Botões, campainhas e LEDs, OH MY

Botões, campainhas e LEDs, OH MY!
Botões, campainhas e LEDs, OH MY!

MAIS BOTÕES

Assim que a etapa de programação inicial for bem-sucedida, desligue a placa HB50 e solde os quatro botões restantes. O mesmo esboço de button_demo agora deve relatar todos os cinco botões (IO0, A, B, C e D) para o monitor serial quando eles são pressionados.

BUZZER

Desligue a placa HB50 e solde a campainha em suas almofadas. Oriente o ponto na campainha para ficar mais próximo do bloco "+" na placa HB50. Programe o esboço buzzer_demo e reinicie (EN) a placa para deixá-la funcionar. Soa bem?

LEDs RGB WS2812B

Desligue a placa HB50 e solde os seis LEDs em seus pads. Oriente o canto marcado a branco de cada LED para corresponder ao canto com guia, conforme mostrado na tela do PCB.

Em ferramentas do Arduino IDE> Gerenciar bibliotecas, instale a biblioteca FastLED.

Abra o esboço: Arquivo> Exemplos> FastLED> ColorPalette.

No código de esboço, altere LED_PIN para 13, NUM_LEDS para 6 e LED_TYPE para WS2812B.

Carregue o esboço e reinicie (EN) a placa para que funcione. Desfrute de luzes intermitentes de todas as cores.

REGULADOR DE POTÊNCIA LINEAR

Com os LEDs em jogo (e especialmente quando o transmissor WiFi está ativado), o HB50 está consumindo muita corrente da alimentação 3V3. Vamos melhorar a capacidade de energia de 3,3 V soldando o Regulador Linear AMS1117 (Pacote SOT 233) no lugar. Também preencha os dois capacitores de filtro de 22uF próximos ao regulador. Observe que um lado de cada serigrafia do capacitor é retangular e o outro lado é octogonal. Os capacitores devem ser orientados de forma que o estipe escuro da embalagem fique alinhado com o lado octogonal da serigrafia. O regulador agora transformará parte da alimentação de 5 V em 3,3 V e pode fornecer muito mais corrente do que o módulo CP2102 sozinho. Para fornecer energia ao HB50 por meio da fonte de 5 V, mova AMBOS OS EXTREMOS do jumper 3V3 DuPont para 5V. Ou seja, alimente 5 V do módulo CP2102 em um dos pinos de entrada de 5 V no conector HB50. Observe que o pino de 5 V pode, na verdade, ser fornecido com qualquer tensão entre 3,5 V e 5 V.

Etapa 5: Tela LCD TFT colorida ILI9341 QVGA

Tela LCD TFT colorida ILI9341 QVGA
Tela LCD TFT colorida ILI9341 QVGA

O Display MSP2402 (página lcdwiki) é um módulo de barramento SPI baseado no chip ILI9341. O chip aciona uma tela colorida de 2,4 polegadas com suporte para 65.000 cores e resolução de 320X240 pixels (QVGA).

O módulo também possui entrada de tela de toque e um slot para cartão SD.

PINOS DE E / S DE EXIBIÇÃO PRÉ-TESTE

Se você está tendo problemas com a soldagem dos pinos do ESP-WROOM-32 até este ponto, pode ser uma boa ideia pré-testar os pinos de E / S do módulo de exibição antes de soldar o módulo de exibição no lugar. Conforme mostrado abaixo e no diagrama esquemático do PCB, os IOs ESP32 em jogo são 19, 23, 18, 5, 22, 21 e 15. Observe que esses são os números IO e não os números dos pinos. Os pinos podem ser testados escrevendo um pequeno programa que define todos esses IOs como saídas e, em seguida, circula os IOs, ligando e desligando cada um por vez, com um ou dois segundos de atraso entre eles. Um simples LED com um resistor limitador de corrente conectado pode ser usado como uma sonda para certificar-se de que cada pino IO mapeado para os cabeçalhos de exibição (veja o esquema) está sendo corretamente ligado e desligado e que nenhum deles está acoplado.

Depois que todos os pinos são verificados, o display TFT pode ser soldado no lugar usando os conectores longo e curto.

INSTALAR E CONFIGURAR A BIBLIOTECA TFT

No IDE do Arduino: ferramentas> Gerenciar bibliotecas, instale a biblioteca TFT_eSPI

Vá para a pasta Bibliotecas do Arduino. Abra a pasta TFT_eSPI e edite o arquivo User_Setup.h para configurar o chip do driver do módulo, a resolução do pixel e os pinos IO. Faça isso certificando-se de que as definições sejam (des) comentadas conforme mostrado abaixo e configuradas com os valores conforme mostrado. Você pode verificar se eles correspondem às conexões no esquema do PCB.

// Seção 1.

#define ILI9341_DRIVER #define TFT_WIDTH 240 #define TFT_HEIGHT 320 // Seção 2. // Para placa ESP32 Dev #define TFT_MISO 19 #define TFT_MOSI 23 #define TFT_SCLK 18 #define TFT_CS 5 #define TFT_DC # 22 #define TFT_DC # 22 #define TFT_MISO # TFT_RST -1 // # define TFT_BL 32 # define TOUCH_CS 15

Abra e faça upload do esboço:

Arquivo> Exemplos> TFT_eSPI> 320 x 240> Cellular_Automata

Este esboço é uma demonstração visual legal do Jogo da Vida de Conway.

Um planador hacker pode evoluir para a existência … fique de olho!

EXIBIR LOGOTIPO DO HACKERBOX NO LCD TFT

Experimente o esboço BitHeadDemo.

Etapa 6: entrada do usuário na tela de toque

Entrada do usuário da tela de toque
Entrada do usuário da tela de toque

O seguinte esboço pode ser usado para configurar e testar a funcionalidade da tela de toque:

Arquivo> Exemplos> TFT_eSPI> 320 x 240> Teclado_240x320

O botão "enviar" transmite o número inserido ao monitor serial a 9600 baud.

Etapa 7: Teclado CardKB I2C

Teclado CardKB I2C
Teclado CardKB I2C

Esta pequena placa implementa um teclado QWERTY completo que pode ser usado com praticamente qualquer um de seus projetos de microcontrolador. O teclado se comunica usando uma porta GROVE A (interface I2C) no endereço 0x5F. As combinações de botões (Sym + Key, Shift + Key, Fn + Key) são suportadas para gerar valores de chave ricos.

Comece com o exemplo simples de esboço CardKB_Serial, que se comunica com o teclado por meio de GROVE I2C e ecoa os pressionamentos de tecla para o Monitor Serial. O esboço pode ser executado em ESP32 (como o HB50), Arduino UNO, Arduino Nano ou qualquer plataforma compatível com I2C.

Observe que existem duas chamadas Wire.begin diferentes para ESP32 e para UNO / Nano. Remova o comentário da linha apropriada para o host que você está usando. Conecte os fios de ruptura GROVE amarelo e branco aos pinos especificados nessa linha de código. Ligue o fio vermelho GROVE breakout a 5 V e o fio preto GROVE a GND.

Página de documentação do fabricante. Observe que, embora o microcontrolador integrado CardKB venha pré-programado, a fonte do firmware está disponível se você quiser hackear o teclado.

Etapa 8:

Imagem
Imagem

Esperamos que você esteja aproveitando a aventura HackerBox deste mês em eletrônica e tecnologia de computador. Entre em contato e compartilhe seu sucesso nos comentários abaixo ou no Grupo HackerBoxes no Facebook. Além disso, lembre-se de que você pode enviar um e-mail para [email protected] a qualquer momento se tiver alguma dúvida ou precisar de ajuda.

Qual é o próximo? Junta-te à revolução. Viva o HackLife. Receba uma caixa de equipamentos hackeavel diretamente em sua caixa de correio a cada mes. Navegue até HackerBoxes.com e cadastre-se para obter sua assinatura mensal do HackerBox.

Recomendado: