Índice:

HackerBox 0051: MCU Lab: 10 etapas
HackerBox 0051: MCU Lab: 10 etapas

Vídeo: HackerBox 0051: MCU Lab: 10 etapas

Vídeo: HackerBox 0051: MCU Lab: 10 etapas
Vídeo: MCU LAB Demo with Potentiometer and OLED Display 2024, Julho
Anonim
HackerBox 0051: MCU Lab
HackerBox 0051: MCU Lab

Saudações aos Hackers HackerBox de todo o mundo! HackerBox 0051 apresenta o Laboratório HackerBox MCU. O MCU Lab é uma plataforma de desenvolvimento para testar, desenvolver e prototipar com microcontroladores e módulos de microcontroladores. Um Arduino Nano, módulo ESP32 e SMT32 Black Pill são usados para explorar os blocos de recursos do Laboratório MCU. Os blocos de recursos do MCU Lab incluem interruptores, botões, LEDs, um display OLED, campainha, potenciômetro, pixel RGB, deslocador de nível lógico, saída VGA, entrada de teclado PS / 2, interface serial USB e áreas de prototipagem sem solda dupla.

Este guia contém informações para começar a usar o HackerBox 0051, 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 0051

  • Módulo MCU 1: Arduino Nano 5V, 16 MHz
  • Módulo MCU 2: WEMOS ESP32 Lite
  • Módulo MCU 3: STM32F103C8T6 Black Pill
  • Placa de circuito impresso MCU Lab exclusiva
  • Adaptador serial USB FT232RL
  • Tela OLED 128x64 I2C 0,96 polegadas
  • Deslocador de nível lógico bidirecional de 8 bits
  • WS2812B RGB SMD LED
  • Quatro botões táteis de montagem em superfície
  • Quatro LEDs vermelhos difusos de 5 mm
  • Piezo Buzzer
  • Conector HD15 VGA
  • Conector de teclado mini-DIN PS / 2
  • Potenciômetro 100K Ohm
  • Chave DIP de 8 posições
  • Regulador Linear de 3,3 V AMS1117 SOT223
  • Dois capacitores de tântalo 22uF 1206 SMD
  • Dez resistores de 680 ohms
  • Quatro pés de borracha adesiva para PCB
  • Duas mini placas de ensaio sem solda de 170 pontos
  • Onze soquetes de cabeçote feminino de 8 pinos
  • Cabeçalho Breakaway de 40 pinos
  • Pacote de 65 fios de jumpers machos
  • Adesivo de placa de circuito de punho levantado
  • Adesivo de pirata smiley hack do planeta
  • Chaveiro HackerBox exclusivo "Remover antes do voo"

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: HackerBoxes MCU Lab

HackerBoxes MCU Lab
HackerBoxes MCU Lab

O MCU Lab é uma versão compacta e polida de uma plataforma de desenvolvimento que usamos para criar protótipos e testar vários designs baseados em microcontroladores (MCU). É muito útil para trabalhar com módulos MCU (como um Arduino Nano, ESP32 DevKit, etc) ou pacotes de dispositivos MCU individuais (como ATMEGA328s, ATtiny85s, PICs, etc). Um MCU alvo pode ser colocado em qualquer uma das mini placas de ensaio sem solda. Dois MCUs podem ter interface entre si usando as placas de ensaio ou um dos espaços da placa de ensaio pode ser usado para outros circuitos.

Os "blocos de recursos" do Laboratório MCU são divididos em cabeçalhos fêmeas semelhantes aos encontrados em um Arduino UNO. Os cabeçalhos fêmeas são compatíveis com pinos de jumper machos.

Etapa 3: Monte o HackerBoxes MCU Lab

Monte o HackerBoxes MCU Lab
Monte o HackerBoxes MCU Lab

COMPONENTES SMD NA PARTE TRASEIRA DA PLACA

Comece montando o regulador linear AMS1117 (pacote SOT 233) e os dois capacitores de filtro de 22uF no verso da placa de circuito impresso. 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.

CONTINUAR COM COMPONENTES NA FRENTE DO QUADRO

Solde o LED RGB WS2812B. Oriente o canto marcado a branco de cada LED para corresponder ao canto com guia, conforme mostrado na tela do PCB.

Quatro botões táteis SMD

Quatro LEDs vermelhos com quatro resistores

Deslocador de nível com pino VA mais próximo da marcação 3V3 e pino VB mais próximo da marcação 5V. O módulo Level Shifter pode ser montado embutido no PCB soldando os conectores ao módulo e, em seguida, deslizando os espaçadores de plástico preto dos conectores antes de montar o módulo no MCU Lab PCB. Deixar os espaçadores ligados também está bom.

Duas tiras do cabeçalho podem ser quebradas para conectar o módulo FT232. Uma seção menor de 4 pinos do cabeçalho também pode ser usada para o cabeçalho 5V / GND próximo ao módulo FT232.

Por enquanto, preencha o conector VGA fêmea mais próximo do conector VGA HD15 e do soquete do teclado. No entanto, NÃO POPULAR o cabeçalho adicional adjacente àquele ou aos cinco resistores entre esses dois cabeçalhos. Opções específicas para interface de sinal de vídeo são discutidas posteriormente.

Preencha os outros nove cabeçalhos femininos.

Remova o adesivo da parte traseira de ambas as placas de ensaio sem solda para anexá-las à placa de circuito impresso MCU Lab.

Posicione os pés de borracha adesiva na parte inferior da placa de circuito impresso do laboratório MCU para proteger sua bancada de arranhões.

MANUSEIO DE ENTRADAS DE ENERGIA

Existem pelo menos dois, e provavelmente até quatro, locais onde a energia pode entrar no Laboratório de MCU. Isso pode causar problemas, portanto, sempre considere cuidadosamente as seguintes dicas:

Os pontos de cabeçalho identificados como 5 V estão todos conectados. O trilho de 5 V também se conecta ao soquete do teclado, ao deslocador de nível e ao LED RGB WS2812B. A energia pode ser fornecida ao barramento de 5 V conectando o FT232 em USB, conectando o conector de energia de quatro pinos a uma fonte externa ou conectando um jumper de um pino de 5 V na PCB a um módulo de 5 V alimentado (geralmente alimentado por USB)

Da mesma forma, os pinos GND estão todos conectados. Eles se conectam ao GND USB no FT232 (assumindo que o USB esteja conectado ao FT232). Eles também podem ser conectados ao aterramento usando um jumper entre um deles e um módulo alimentado conforme discutido para a rede de 5 V.

O trilho 3V3 é acionado pelo regulador na parte traseira do PCB. É apenas uma fonte e (ao contrário do trilho de 5 V) não deve ser acionado por nenhum módulo ou outros circuitos, pois é acionado diretamente do regulador no trilho de 5 V.

Etapa 4: Módulo Arduino Nano MCU

Módulo Arduino Nano MCU
Módulo Arduino Nano MCU

Um dos módulos MCU mais comuns atualmente é o Arduino Nano. A placa Arduino Nano incluída vem com pinos de cabeçalho, mas eles não vêm soldados ao módulo. Deixe os pinos de fora por enquanto. Execute esses testes iniciais no módulo Arduino Nano antes de soldar os pinos do cabeçalho. Tudo o que é necessário é um cabo microUSB e a placa Arduino Nano exatamente como ela sai da bolsa.

O Arduino Nano é uma placa Arduino miniaturizada de montagem em superfície, compatível com a placa de ensaio e com USB integrado. É incrivelmente completo e fácil de hackear.

Recursos:

  • Microcontrolador: Atmel ATmega328P
  • Tensão: 5V
  • Pinos de E / S digitais: 14 (6 PWM)
  • Pinos de entrada analógica: 8
  • Corrente DC por pino de E / S: 40 mA
  • Memória Flash: 32 KB (2 KB para bootloader)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Velocidade do relógio: 16 MHz
  • Dimensões: 17 mm x 43 mm

Esta variante particular do Arduino Nano é o Robotdyn Nano preto. Inclui uma porta MicroUSB on-board conectada a um chip de ponte CH340G USB / Serial. Informações detalhadas sobre o CH340 (e drivers, se necessário) podem ser encontradas aqui.

Quando você conecta o Arduino Nano pela primeira vez a uma porta USB do seu computador, a luz verde de alimentação deve acender e logo após o LED azul deve começar a piscar lentamente. Isso acontece porque o Nano vem pré-carregado com o programa BLINK, que está rodando no novo Arduino Nano.

SOFTWARE: Se você ainda não tem o IDE do Arduino instalado, pode baixá-lo em Arduino.cc

Conecte o Nano ao cabo MicroUSB e a outra extremidade do cabo a uma porta USB do computador. Inicie o software Arduino IDE. Selecione "Arduino Nano" no IDE em ferramentas> placa e "ATmega328P (carregador de inicialização antigo)" em ferramentas> processador. Selecione a porta USB apropriada em ferramentas> porta (provavelmente é um nome com "wchusb").

Finalmente, carregue um pedaço de código de exemplo: Arquivo-> Exemplos-> Básico-> Blink

Blink é na verdade o código que foi pré-carregado no Nano e deveria estar rodando agora para piscar lentamente o LED azul. Da mesma forma, se carregarmos este código de exemplo, nada mudará. Em vez disso, vamos modificar um pouco o código.

Olhando de perto, você pode ver que o programa liga o LED, espera 1000 milissegundos (um segundo), desliga o LED, espera mais um segundo e então faz tudo de novo - para sempre.

Modifique o código alterando ambas as instruções "delay (1000)" para "delay (100)". Essa modificação fará com que o LED pisque dez vezes mais rápido, certo?

Vamos carregar o código modificado no Nano clicando no botão UPLOAD (o ícone de seta) logo acima do código modificado. Veja abaixo o código para as informações de status: "compilando" e depois "enviando". Eventualmente, o IDE deve indicar "Upload concluído" e seu LED deve piscar mais rápido.

Se sim, parabéns! Você acabou de hackear seu primeiro código embutido.

Depois que sua versão de piscar rápido estiver carregada e em execução, por que não ver se você pode alterar o código novamente para fazer o LED piscar rápido duas vezes e esperar alguns segundos antes de repetir? De uma chance! Que tal alguns outros padrões? Depois de conseguir visualizar um resultado desejado, codificá-lo e observá-lo para funcionar conforme planejado, você deu um enorme passo para se tornar um hacker de hardware competente.

Agora que você confirmou a operação do módulo Nano, vá em frente e solde os pinos do cabeçote nele. Uma vez que os conectores estão conectados, o módulo pode ser facilmente usado em uma das placas de ensaio sem solda do Laboratório MCU. Este processo de teste de um módulo MCU baixando algum código de teste simples, modificando e baixando novamente é uma prática recomendada sempre que usar um módulo MCU novo ou de tipo diferente.

Se você deseja obter informações introdutórias adicionais para trabalhar no ecossistema Arduino, sugerimos verificar o Guia para o HackerBoxes Starter Workshop, que inclui vários exemplos e um link para um PDF Arduino Textbook.

Etapa 5: Explorar o laboratório MCU com Arduino Nano

Explore MCU Lab com Arduino Nano
Explore MCU Lab com Arduino Nano

POTENCIÔMETRO

Conecte o pino central do potenciômetro ao Nano Pin A0.

Carregar e executar: Exemplos> Analog> AnalogInput

O padrão do exemplo é o LED integrado do Nano. Gire o potenciômetro para alterar a velocidade de piscar.

Modificar:

No código, altere LedPin = 13 para 4

Jumper do Nano Pin 4 (e GND) para um dos LEDs vermelhos do Laboratório MCU.

BUZZER

Faça o jumper do Buzzer para o Nano Pin 8. Certifique-se de que o GND da placa esteja conectado ao GND do Nano alimentado, uma vez que o aterramento do buzzer está conectado fisicamente à rede GND da placa.

Carregue e execute: Exemplos> Digital> toneMelody

DISPLAY OLED

No IDE do Arduino, use o gerenciador de biblioteca para instalar "ssd1306" de Alexey Dyna.

Conecte OLED: GND a GND, VCC a 5V, SCL a Nano's A5, SDA a Nano's A4

Carregar e executar: exemplos> ssd1306> demos> ssd1306_demo

WS2812B RGB LED

No IDE do Arduino, use o gerenciador de biblioteca para instalar o FastLED

Conecte o pino do cabeçalho do WS2812 ao pino 5 do Nano.

Carregar: Exemplos> FastLED> ColorPalette

Altere NUM_LEDS para 1 e LED_TYPE para WS2812B

Compilar e executar

ESCREVA ALGUM CÓDIGO PARA EXERCER OS BOTÕES E INTERRUPTORES

Lembre-se de usar pinMode (INPUT_PULLUP) para ler um botão sem adicionar um resistor.

COMBINE ALGUNS DESTES EXEMPLOS JUNTOS

Por exemplo, alterne as saídas de alguma forma interessante e mostre estados ou valores de entrada no OLED ou monitor serial.

Etapa 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

O microcontrolador ESP32 (MCU) é um sistema de baixo custo e baixo consumo de energia em um chip (SOC) com Wi-Fi integrado e Bluetooth de modo duplo. O ESP32 emprega um núcleo Tensilica Xtensa LX6 e inclui interruptores de antena embutidos, balun RF, amplificador de potência, amplificador de recepção de baixo ruído, filtros e módulos de gerenciamento de energia. (wikipedia)

O módulo WEMOS ESP32 Lite é mais compacto do que a versão anterior, o que o torna mais fácil de usar em uma placa de ensaio sem solda.

Faça seu teste inicial do módulo WEMOS ESP32 antes de soldar os pinos do cabeçote no módulo.

Configure o pacote de suporte ESP32 no Arduino IDE.

Em ferramentas> quadro, certifique-se de selecionar "WeMos LOLIN32"

Carregue o código de exemplo em Arquivos> Exemplos> Básico> Blink e programe-o no WeMos LOLIN32

O programa de exemplo deve fazer com que o LED do módulo pisque. Experimente modificar os parâmetros de atraso para fazer o LED piscar com padrões diferentes. Este é sempre um bom exercício para aumentar a confiança na programação de um novo módulo de microcontrolador.

Uma vez que você esteja confortável com a operação do módulo e como programá-lo, solde cuidadosamente as duas fileiras de pinos do cabeçote no lugar e teste os programas de carregamento mais uma vez.

Etapa 7: geração de vídeo ESP32

Image
Image

Este vídeo demonstra a Biblioteca VGA ESP32 e um tutorial muito bom e simples do laboratório da bitluni.

A implementação de 3 bits demonstrada (8 cores) usa jumpers de fio direto entre o módulo ESP32 e o conector VGA. Fazer essas conexões no conector VGA do MCU Lab é bastante fácil, pois nenhum componente adicional está envolvido.

Dependendo de qual MCU está em uso, seu nível de voltagem, as resoluções de pixel e as profundidades de cor desejadas, existem várias combinações de resistores em linha e redes de resistores que podem ser colocadas entre o MCU e o cabeçalho VGA. Se você decidir usar resistores inline permanentemente, eles podem ser soldados na placa de circuito impresso MCU Lab. Se você deseja manter a flexibilidade e especialmente se deseja usar soluções mais complexas, é recomendável não soldar nenhum resistor no lugar e simplesmente usar as placas sem solda e o conector VGA para conectar os resistores necessários.

Por exemplo, para implementar o modo de cor de 14 bits do bituni mostrado no final do vídeo, o módulo ESP32 pode ser posicionado em uma das mini placas sem solda e a outra placa sem solda pode ser usada para conectar as escadas de resistores.

Aqui estão alguns outros exemplos:

No HackerBox 0047, um Arduino Nano aciona uma saída VGA simples com 4 resistores.

Um emulador VIC20 é implementado no ESP32 usando FabGL e 6 resistores.

Implemente um PC BASIC usando ESP32 e 3 resistores.

Jogue Space Invaders no ESP32 usando FabGL e 6 resistores.

Gere saída VGA no STM32 com 6 resistores.

Camadas simultâneas de texto e gráficos em STM32 com demonstração de vídeo.

Etapa 8: Módulo MCU STM32F103C8T6 Black Pill

TXS0108E Deslocador de nível lógico de 8 bits
TXS0108E Deslocador de nível lógico de 8 bits

O Black Pill é um módulo MCU baseado em STM32. É uma variante melhorada da pílula azul comum e da pílula vermelha menos comum.

A Black Pill apresenta o microcontrolador STM32F103C8T6 ARM M3 de 32 bits (ficha técnica), um conector ST-Link de quatro pinos, uma porta MicroUSB e um LED do usuário no PB12. O resistor pull-up correto no PA12 vem instalado para a operação correta da porta USB. Este pull-up normalmente exigia uma modificação da placa em outras pranchas de comprimidos.

Embora semelhante em aparência ao Arduino Nano, o Black Pill é muito mais poderoso. O microcontrolador STM32F103C8T6 ARM de 32 bits pode operar a 72 MHz. Pode realizar multiplicação de ciclo único e divisão de hardware. Possui 64 Kbytes de memória Flash e 20 Kbytes de SRAM.

Programando o STM32 a partir do Arduino IDE.

Etapa 9: Deslocador de nível lógico TXS0108E de 8 bits

O TXS0108E (folha de dados) é um deslocador de nível lógico bidirecional de 8 bits. O módulo é configurado para sinais de mudança de nível entre 3,3 V e 5 V.

Como os canais de nível de sinal são bidirecionais, as entradas flutuantes podem fazer com que as saídas correspondentes sejam acionadas acidentalmente. Um controle de habilitação de saída (OE) é fornecido para proteção em tais cenários. Deve-se tomar cuidado dependendo de como o shifter está conectado para certificar-se de que uma saída do shifter (seja "intencional" ou devido a uma entrada flutuante no outro lado) nunca tenha permissão para conduzir uma saída de outro dispositivo.

O pino OE é deixado desconectado nos traços de PCB. Um cabeçalho de dois pinos é fornecido abaixo do módulo para conectar OE e 3V3. Encurtar o conector de dois pinos (usando um pedaço de fio ou um bloco de jumper) conecta o OE a 3V3, o que permite que o IC acione suas saídas. Um resistor suspenso e controle lógico também podem ser conectados ao pino OE.

Etapa 10: HackLife

HackLife
HackLife

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: