Tabla de contenido:

HackerBox 0051: MCU Lab: 10 pasos
HackerBox 0051: MCU Lab: 10 pasos

Video: HackerBox 0051: MCU Lab: 10 pasos

Video: HackerBox 0051: MCU Lab: 10 pasos
Video: MCU LAB Demo with Potentiometer and OLED Display 2024, Noviembre
Anonim
HackerBox 0051: laboratorio de MCU
HackerBox 0051: laboratorio de MCU

¡Saludos a HackerBox Hackers de todo el mundo! HackerBox 0051 presenta el HackerBox MCU Lab. MCU Lab es una plataforma de desarrollo para probar, desarrollar y crear prototipos con microcontroladores y módulos de microcontroladores. Se utilizan un Arduino Nano, un módulo ESP32 y una píldora negra SMT32 para explorar los bloques de funciones del laboratorio de MCU. Los bloques de funciones de MCU Lab incluyen interruptores, botones, LED, una pantalla OLED, zumbador, potenciómetro, píxel RGB, cambiador de nivel lógico, salida VGA, entrada de teclado PS / 2, interfaz serie USB y áreas de prototipos duales sin soldadura.

Esta guía contiene información para comenzar con HackerBox 0051, que se puede comprar aquí hasta agotar existencias. Si desea recibir un HackerBox como este en su buzón cada mes, suscríbase en HackerBoxes.com y únase a la revolución.

HackerBoxes es el servicio de caja de suscripción mensual para piratas informáticos de hardware y entusiastas de la electrónica y la tecnología informática. Únase a nosotros para vivir la HACK LIFE.

Paso 1: Lista de contenido para HackerBox 0051

  • Módulo MCU 1: Arduino Nano 5V, 16MHz
  • Módulo MCU 2: WEMOS ESP32 Lite
  • Módulo MCU 3: Pastilla negra STM32F103C8T6
  • Placa de circuito impreso exclusiva de MCU Lab
  • Adaptador de serie USB FT232RL
  • Pantalla OLED 128x64 I2C 0.96 pulgadas
  • Desplazador de nivel lógico bidireccional de 8 bits
  • LED SMD RGB WS2812B
  • Cuatro botones táctiles de montaje en superficie
  • Cuatro LED rojos difusos de 5 mm
  • Zumbador piezoeléctrico
  • Conector VGA HD15
  • Conector de teclado Mini-DIN PS / 2
  • Potenciómetro de 100K ohmios
  • Interruptor DIP de 8 posiciones
  • AMS1117 Regulador lineal 3.3V SOT223
  • Dos condensadores de tantalio de 22uF 1206 SMD
  • Diez resistencias de 680 ohmios
  • Cuatro pies de PCB de goma adhesiva
  • Dos mini placas de prueba sin soldadura de 170 puntos
  • Once enchufes de cabezal hembra de 8 pines
  • Cabecera Breakaway de 40 pines
  • Paquete de 65 cables de puente macho
  • Pegatina Placa de circuito de puño levantado
  • Pegatina Hack the Planet Smiley Pirate
  • Llavero exclusivo "Quitar antes del vuelo" de HackerBox

Algunas otras cosas que serán útiles:

  • Soldador, soldadura y herramientas de soldadura básicas
  • Computadora para ejecutar herramientas de software

Lo más importante es que necesitará sentido de la aventura, espíritu hacker, paciencia y curiosidad. Construir y experimentar con la electrónica, aunque es muy gratificante, puede ser complicado, desafiante e incluso frustrante en ocasiones. El objetivo es el progreso, no la perfección. Cuando persiste y disfruta de la aventura, se puede derivar una gran satisfacción de este pasatiempo. Dé cada paso lentamente, preste atención a los detalles y no tema pedir ayuda.

Hay una gran cantidad de información para miembros actuales y potenciales en las preguntas frecuentes de HackerBoxes. Casi todos los correos electrónicos de soporte no técnico que recibimos ya están respondidos allí, por lo que realmente agradecemos que se tome unos minutos para leer las preguntas frecuentes.

Paso 2: Laboratorio de MCU de HackerBoxes

Laboratorio de MCU de HackerBoxes
Laboratorio de MCU de HackerBoxes

MCU Lab es una versión compacta y pulida de una plataforma de desarrollo que utilizamos para crear prototipos y probar varios diseños basados en microcontroladores (MCU). Es muy útil para trabajar con módulos MCU (como Arduino Nano, ESP32 DevKit, etc.) o paquetes de dispositivos MCU individuales (como ATMEGA328s, ATtiny85s, PICs, etc.). Se puede colocar un MCU de destino en cualquiera de las mini placas de prueba sin soldadura. Se pueden interconectar dos MCU utilizando ambas placas de prueba o uno de los espacios de la placa de pruebas se puede utilizar para otros circuitos.

Los "bloques de funciones" del laboratorio de MCU se dividen en encabezados femeninos similares a los que se encuentran en un Arduino UNO. Los conectores hembra son compatibles con los pines de puente macho.

Paso 3: Ensamble el laboratorio de MCU de HackerBoxes

Ensamblar el laboratorio de MCU de HackerBoxes
Ensamblar el laboratorio de MCU de HackerBoxes

COMPONENTES SMD EN LA PARTE POSTERIOR DE LA TARJETA

Comience montando el regulador lineal AMS1117 (paquete SOT 233) y los dos condensadores de filtro de 22uF en la parte posterior de la PCB. Tenga en cuenta que un lado de cada serigrafía de condensador es rectangular y el otro lado es octogonal. Los condensadores deben estar orientados de modo que la línea oscura del paquete se alinee con el lado de la serigrafía octogonal.

CONTINÚE CON LOS COMPONENTES EN LA PARTE DELANTERA

Suelde el LED RGB WS2812B. Oriente la esquina marcada en blanco de cada LED para que corresponda con la esquina con pestañas como se muestra en la serigrafía de la PCB.

Cuatro botones táctiles SMD

Cuatro LED rojos con cuatro resistencias

Cambiador de nivel con el pin VA más cercano a la marca 3V3 y el pin VB más cercano a la marca 5V. El módulo Level Shifter se puede montar al ras de la PCB soldando los encabezados al módulo y luego deslizando los espaciadores de plástico negro fuera de los encabezados antes de montar el módulo en la PCB de laboratorio de MCU. Dejar los espaciadores también está bien.

Se pueden romper dos tiras del cabezal para conectar el módulo FT232. También se puede usar una sección más pequeña de 4 pines del encabezado para el encabezado 5V / GND justo al lado del módulo FT232.

Por ahora, complete el encabezado VGA hembra más cercano al conector VGA HD15 y al enchufe del teclado. Sin embargo, NO POBLUE el encabezado adicional adyacente a ese uno o los cinco resistores entre esos dos encabezados. Las opciones específicas para la interfaz de señales de video se discuten más adelante.

Complete los otros nueve encabezados femeninos.

Retire el adhesivo de la parte posterior de ambas placas de prueba sin soldadura para unirlas a la PCB de laboratorio de MCU.

Coloque los pies de goma adhesivos en la parte inferior de la PCB de laboratorio de MCU para proteger su banco de trabajo de arañazos.

MANEJO DE ENTRADAS DE ENERGÍA

Hay al menos dos, y más probablemente hasta cuatro, lugares donde la energía puede entrar en el laboratorio de MCU. Esto puede causar problemas, así que siempre considere cuidadosamente los siguientes consejos:

Los puntos de encabezado etiquetados como 5V están todos conectados. El riel de 5V también se conecta al zócalo del teclado, al cambiador de nivel y al LED RGB WS2812B. Se puede suministrar energía al riel de 5V conectando el FT232 a USB, conectando el cabezal de alimentación de cuatro pines a una fuente externa o conectando un puente de uno de los pines de 5V en la PCB a un módulo de 5V alimentado (generalmente alimentado por USB).

Del mismo modo, los pines GND están todos conectados. Se conectan al USB GND en el FT232 (asumiendo que el USB está conectado al FT232). También se pueden conectar a tierra usando un puente entre uno de ellos y un módulo alimentado como se discutió para la red de 5V.

El riel 3V3 es impulsado por el regulador en la parte posterior de la PCB. Es solo una fuente y (a diferencia del riel de 5V) no debe ser impulsado por ningún módulo u otros circuitos, ya que se acciona directamente desde el regulador en el riel de 5V.

Paso 4: Módulo Arduino Nano MCU

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

Uno de los módulos de MCU más comunes en estos días es el Arduino Nano. La placa Arduino Nano incluida viene con pines de encabezado, pero no vienen soldados al módulo. Deja las clavijas fuera por ahora. Realice estas pruebas iniciales en el módulo Arduino Nano antes de soldar en los pines del cabezal. Todo lo que se necesita es un cable microUSB y la placa Arduino Nano tal y como sale de la bolsa.

Arduino Nano es una placa Arduino miniaturizada, compatible con protoboard y de montaje en superficie con USB integrado. Es increíblemente completo y fácil de piratear.

Características:

  • Microcontrolador: Atmel ATmega328P
  • Voltaje: 5 V
  • Pines de E / S digitales: 14 (6 PWM)
  • Pines de entrada analógica: 8
  • Corriente CC por pin de E / S: 40 mA
  • Memoria Flash: 32 KB (2 KB para el gestor de arranque)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Velocidad de reloj: 16 MHz
  • Dimensiones: 17 mm x 43 mm

Esta variante particular del Arduino Nano es el Robotdyn Nano negro. Incluye un puerto MicroUSB integrado conectado a un chip de puente serie / USB CH340G. Puede encontrar información detallada sobre el CH340 (y los controladores, si es necesario) aquí.

Cuando conecte por primera vez el Arduino Nano a un puerto USB de su computadora, la luz verde de encendido debería encenderse y poco después el LED azul debería comenzar a parpadear lentamente. Esto sucede porque el Nano está precargado con el programa BLINK, que se ejecuta en el nuevo Arduino Nano.

SOFTWARE: Si aún no tiene el IDE de Arduino instalado, puede descargarlo desde Arduino.cc

Conecte el Nano al cable MicroUSB y el otro extremo del cable a un puerto USB de la computadora. Inicie el software Arduino IDE. Seleccione "Arduino Nano" en el IDE en herramientas> placa y "ATmega328P (antiguo gestor de arranque)" en herramientas> procesador. Seleccione el puerto USB apropiado en herramientas> puerto (es probable que sea un nombre con "wchusb" en él).

Finalmente, cargue un fragmento de código de ejemplo: Archivo-> Ejemplos-> Conceptos básicos-> Parpadeo

Blink es en realidad el código que se precargó en el Nano y debería estar ejecutándose ahora mismo para hacer parpadear lentamente el LED azul. En consecuencia, si cargamos este código de ejemplo, nada cambiará. En cambio, modifiquemos un poco el código.

Mirando de cerca, puede ver que el programa enciende el LED, espera 1000 milisegundos (un segundo), apaga el LED, espera otro segundo y luego lo hace todo de nuevo, para siempre.

Modifique el código cambiando las dos declaraciones "delay (1000)" por "delay (100)". Esta modificación hará que el LED parpadee diez veces más rápido, ¿verdad?

Carguemos el código modificado en el Nano haciendo clic en el botón SUBIR (el icono de flecha) justo encima de su código modificado. Mire a continuación el código para ver la información de estado: "compilando" y luego "cargando". Finalmente, el IDE debería indicar "Carga completa" y su LED debería parpadear más rápido.

Si es así, ¡enhorabuena! Acaba de piratear su primer código incrustado.

Una vez que su versión de parpadeo rápido esté cargada y ejecutándose, ¿por qué no ver si puede cambiar el código nuevamente para que el LED parpadee rápidamente dos veces y luego espere un par de segundos antes de repetir? ¡Darle una oportunidad! ¿Qué tal algunos otros patrones? Una vez que logre visualizar un resultado deseado, codificarlo y observar que funciona según lo planeado, habrá dado un paso enorme para convertirse en un hacker de hardware competente.

Ahora que ha confirmado el funcionamiento del módulo Nano, siga adelante y suelde los pines del cabezal. Una vez que los encabezados están conectados, el módulo se puede usar fácilmente en una de las placas de prueba sin soldadura del MCU Lab. Este proceso de probar un módulo MCU descargando un código de prueba simple, modificándolo y volviéndolo a descargar es una práctica recomendada siempre que se utilice un módulo MCU nuevo o de tipo diferente.

Si desea información introductoria adicional para trabajar en el ecosistema Arduino, le sugerimos que consulte la Guía del Taller de inicio de HackerBoxes, que incluye varios ejemplos y un enlace a un libro de texto Arduino en PDF.

Paso 5: Explore MCU Lab con Arduino Nano

Explore MCU Lab con Arduino Nano
Explore MCU Lab con Arduino Nano

POTENCIÓMETRO

Conecte el pin central del potenciómetro al Nano Pin A0.

Cargar y ejecutar: Ejemplos> Analógico> Entrada analógica

El ejemplo tiene como valor predeterminado el LED integrado del Nano. Gire el potenciómetro para cambiar la velocidad de parpadeo.

Modificar:

En el código, cambie LedPin = 13 a 4

Puente de Nano Pin 4 (y GND) a uno de los LED rojos del MCU Lab.

ZUMBADOR

Puente del zumbador al Nano Pin 8. Asegúrese de que la GND de la placa esté conectada a la GND del Nano con alimentación, ya que la tierra del zumbador está cableada a la red GND de la placa.

Cargar y ejecutar: Ejemplos> Digital> toneMelody

PANTALLA OLED

En el IDE de Arduino, use el administrador de la biblioteca para instalar "ssd1306" de Alexey Dyna.

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

Cargar y ejecutar: ejemplos> ssd1306> demostraciones> ssd1306_demo

LED RGB WS2812B

En el IDE de Arduino, use el administrador de bibliotecas para instalar FastLED

Conecte el pin del cabezal del WS2812 al pin 5 del Nano.

Carga: Ejemplos> FastLED> ColorPalette

Cambie NUM_LEDS a 1 y LED_TYPE a WS2812B

Compilar y ejecutar

ESCRIBA UN CÓDIGO PARA EJERCER LOS BOTONES E INTERRUPTORES

Recuerde usar pinMode (INPUT_PULLUP) para leer un botón sin agregar una resistencia.

COMBINE ALGUNOS DE ESTOS EJEMPLOS JUNTOS

Por ejemplo, realice un ciclo de salidas de alguna manera interesante y muestre estados o valores de entrada en el monitor OLED o en serie.

Paso 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

El microcontrolador ESP32 (MCU) es un sistema de bajo costo y bajo consumo en un chip (SOC) con Wi-Fi integrado y Bluetooth de modo dual. El ESP32 emplea un núcleo Tensilica Xtensa LX6 e incluye interruptores de antena integrados, balun de RF, amplificador de potencia, amplificador de recepción de bajo ruido, filtros y módulos de administración de energía. (wikipedia)

El módulo WEMOS ESP32 Lite es más compacto que la versión anterior, lo que facilita su uso en una placa de pruebas sin soldadura.

Realice su prueba inicial del módulo WEMOS ESP32 antes de soldar los pines del cabezal en el módulo.

Configure el paquete de soporte ESP32 en el IDE de Arduino.

En herramientas> tablero, asegúrese de seleccionar "WeMos LOLIN32"

Cargue el código de ejemplo en Archivos> Ejemplos> Conceptos básicos> Parpadear y programarlo en WeMos LOLIN32

El programa de ejemplo debería hacer que el LED del módulo parpadee. Experimente modificando los parámetros de retardo para hacer que el LED parpadee con diferentes patrones. Este es siempre un buen ejercicio para generar confianza en la programación de un nuevo módulo de microcontrolador.

Una vez que se sienta cómodo con el funcionamiento del módulo y cómo programarlo, suelde con cuidado las dos filas de pines del cabezal en su lugar y pruebe los programas de carga una vez más.

Paso 7: Generación de video ESP32

Image
Image

Este video muestra la biblioteca ESP32 VGA y un tutorial muy agradable y simple del laboratorio de bitluni.

La implementación demostrada de 3 bits (8 colores) utiliza puentes de cable directo entre el módulo ESP32 y el conector VGA. Hacer estas conexiones en el encabezado VGA de MCU Lab es bastante fácil ya que no hay componentes adicionales involucrados.

Dependiendo de qué MCU esté en uso, su nivel de voltaje, las resoluciones de píxeles y las profundidades de color deseadas, existen varias combinaciones de resistencias en línea y redes de resistencias que pueden colocarse entre la MCU y el encabezado VGA. Si decide utilizar resistencias en línea de forma permanente, se pueden soldar a la PCB de laboratorio de MCU. Si desea mantener la flexibilidad y especialmente si desea utilizar soluciones más complejas, se recomienda no soldar resistencias en su lugar y simplemente utilizar las placas sin soldadura y el cabezal VGA para conectar las resistencias necesarias.

Por ejemplo, para implementar el modo de color de 14 bits de bituni que se muestra al final del video, el módulo ESP32 se puede colocar en una de las mini placas sin soldadura y la otra placa sin soldadura se puede utilizar para conectar las escaleras de resistencias.

A continuación se muestran algunos otros ejemplos:

En HackerBox 0047, un Arduino Nano impulsa una salida VGA simple con 4 resistencias.

Se implementa un emulador VIC20 en ESP32 usando FabGL y 6 resistencias.

Implemente una PC BASIC usando ESP32 y 3 resistencias.

Juega Space Invaders en ESP32 usando FabGL y 6 resistencias.

Genere salida VGA en STM32 con 6 resistencias.

Capas simultáneas de texto y gráficos en STM32 con demostración de video.

Paso 8: Módulo MCU de píldora negra STM32F103C8T6

Desplazador de nivel lógico TXS0108E de 8 bits
Desplazador de nivel lógico TXS0108E de 8 bits

Black Pill es un módulo MCU basado en STM32. Es una variante mejorada de la píldora azul común y la píldora roja menos común.

La píldora negra cuenta con el microcontrolador STM32F103C8T6 32bit ARM M3 (hoja de datos), un encabezado ST-Link de cuatro pines, un puerto MicroUSB y un LED de usuario en PB12. La resistencia pull-up correcta en PA12 viene instalada para el funcionamiento correcto del puerto USB. Este pull-up generalmente requería una modificación de la tabla en otras tablas de pastillas.

Si bien es similar en apariencia al Arduino Nano, el Black Pill es mucho más poderoso. El microcontrolador ARM STM32F103C8T6 de 32 bits puede funcionar a 72 MHz. Puede realizar multiplicación de ciclo único y división de hardware. Tiene 64 Kbytes de memoria Flash y 20 Kbytes de SRAM.

Programando el STM32 desde Arduino IDE.

Paso 9: Desplazador de nivel lógico TXS0108E de 8 bits

El TXS0108E (hoja de datos) es un cambiador de nivel lógico bidireccional de 8 bits. El módulo está configurado para señales de cambio de nivel entre 3.3V y 5V.

Dado que los canales de nivel de señal son bidireccionales, las entradas flotantes pueden provocar que las salidas correspondientes se activen involuntariamente. Se proporciona un control de habilitación de salida (OE) para proteger en tales escenarios. Se debe tener cuidado dependiendo de cómo se conecte la palanca de cambios para asegurarse de que una salida de la palanca de cambios (ya sea "intencional" o debido a una entrada flotante en el otro lado) nunca se permita cruzar una salida de otro dispositivo.

El pin OE se deja desconectado en las pistas de la PCB. Se proporciona un encabezado de dos pines debajo del módulo para conectar OE y 3V3. El cortocircuito del cabezal de dos clavijas (usando un trozo de cable o un bloque de puentes) conecta OE a 3V3, lo que permite que el IC controle sus salidas. También se puede conectar una resistencia pulldown y un control lógico al pin OE.

Paso 10: HackLife

HackLife
HackLife

Esperamos que esté disfrutando de la aventura de HackerBox de este mes en la electrónica y la tecnología informática. Comuníquese y comparta su éxito en los comentarios a continuación o en el grupo de Facebook de HackerBoxes. Además, recuerde que puede enviar un correo electrónico a [email protected] en cualquier momento si tiene una pregunta o necesita ayuda.

¿Que sigue? Únete a la revolución. Vive la HackLife. Reciba una caja fresca de equipo pirateable directamente en su buzón de correo cada mes. Navegue a HackerBoxes.com y regístrese para obtener su suscripción mensual a HackerBox.

Recomendado: