Tabla de contenido:

Tutorial 8 del ensamblador AVR: 4 pasos
Tutorial 8 del ensamblador AVR: 4 pasos

Video: Tutorial 8 del ensamblador AVR: 4 pasos

Video: Tutorial 8 del ensamblador AVR: 4 pasos
Video: Como configurar el LCD 8 bits con AVR - Tutorial AVR N°4 - Wels Theory 2024, Noviembre
Anonim
Tutorial de ensamblador AVR 8
Tutorial de ensamblador AVR 8

¡Bienvenido al Tutorial 8!

En este breve tutorial vamos a desviarnos un poco de la introducción de nuevos aspectos de la programación en lenguaje ensamblador para mostrar cómo mover nuestros componentes de creación de prototipos a una placa de circuito "impresa" separada. La razón es que, en este punto, nuestra placa principal de prototipos se está llenando de tantos chips, cables, botones y LED que se está volviendo difícil probar cosas nuevas y dado que eventualmente tenemos que mover los componentes a sus propias placas de todos modos., bien podríamos empezar ahora. Es probable que muchos de ustedes ya dominen las cosas que cubriremos en este tutorial, por lo que pueden ver este tutorial como un simple descanso de la codificación.

Así que hoy trasladaremos nuestro rodillo de dados ATmega328P y el par de dados que lo acompaña a una placa externa con conexiones a nuestra placa principal para comunicarse con ella y para alimentarla. Aparte de eso, el cableado y el funcionamiento de los dados serán autónomos dentro de ese componente.

Probablemente pueda predecir a partir de esto que nuestro objetivo final es hacer esto con cada uno de los componentes que construimos a lo largo del camino para que cuando terminemos podamos esconderlos todos en un paquete de aspecto agradable que funcionará presionando los botones sin verlos todos. de los alambres y funcionamientos internos.

Pasaremos la mayor parte de este tutorial haciendo tareas físicas como diseñar un circuito, mapear una placa de prototipos y soldar cosas juntas, pero hay un poco de programación que debemos hacer al final después de mover las cosas. La razón es que eventualmente usaremos la interfaz serial de 2 cables para comunicarnos entre nuestro controlador principal "maestro" y todos los controladores "esclavos" que conforman los componentes de nuestro proyecto general en esta serie de tutoriales y, como recordará, en el Tutorial 6 inventamos una especie de método de código Morse para comunicar nuestras tiradas de dados desde el rodillo de dados (Tutorial 4) al Analizador de registros (Tutorial 5) que mostraba el resultado de la tirada de dados en binario en 8 LED. Bueno, eso fue solo un método de comunicación "enrollado por su cuenta" que decidí usar porque, en ese momento, era demasiado pronto para entrar en la comunicación en serie de 2 cables. Ahora estamos casi preparados para sumergirnos en el extremo profundo de la comunicación en serie, y lo haremos en el Tutorial 10, pero por ahora debemos anticiparnos a ese desarrollo futuro y volver a cablear nuestros LED de rodillo de dados para liberar los dos. pines que necesitamos para la comunicación serial.

Estos son los pines SCL y SDA del ATmega328P. Puede ver en el diagrama de distribución de pines que también se denominan ADC5 y ADC4 cuando se utilizan en conversiones analógicas a digitales, se denominan PCINT13 y PCINT12 cuando se utilizan como pines de "Interrupción de cambio de pin", y finalmente los llamamos PC5 y PC4. cuando simplemente se considera como pines en PortC. Dado que usamos estos dos pines como parte de nuestro rodillo de dados por varias razones (las principales son que facilitó la codificación y el cableado a los LED en la placa) ahora tendremos que modificar nuestro código y volver a cablearlo ligeramente para Libere estos pines para futuras comunicaciones.

Así que comenzaremos diseñando, cortando, cableando y soldando. Luego volveremos a escribir el rodillo de dados para que funcione con nuestra nueva configuración y finalmente lo probaremos para asegurarnos de que aún funciona.

Para completar este tutorial, necesitará los siguientes elementos:

  1. Las cosas estándar que siempre necesitas y que voy a dejar de repetir todo el tiempo: tu tablero de creación de prototipos, tu copia de la hoja de datos y el conjunto de instrucciones, y tu cerebro.
  2. Una placa PCB de prototipos de circuitos inalámbricos como esta: https://www.ebay.com/itm/191416297627 Voy a utilizar la versión Measure Explorer 103RAWD de esta placa: https://www.ebay.com/itm/103RAT -circuit-proto-proto … ya que tengo un montón de ellos a mano, pero la versión 103RAW-0 a la que enlazo arriba funcionará bien también.
  3. Clippers, cables, soldaduras, soldadores, "manos amigas" o lo que sea para sostener cosas, etc., etc., de nuevo, de aquí en adelante dejaré de enumerar estas cosas también. Si realmente ha llegado tan lejos en estos Tutoriales, probablemente ya tenga todo esto.

Aquí hay un enlace a la colección completa de mis tutoriales de ensamblador AVR:

Paso 1: diseñe un diagrama de cableado

Diseñar un diagrama de cableado
Diseñar un diagrama de cableado
Diseñar un diagrama de cableado
Diseñar un diagrama de cableado
Diseñar un diagrama de cableado
Diseñar un diagrama de cableado

Lo bueno de las placas Measure Explorer es que si te tomas un tiempo y mapeas las cosas al principio, puedes ahorrarte una gran cantidad de cableado al final. Entonces, comenzaremos por tomarnos un tiempo diseñando nuestro diseño antes de comenzar a soldar cualquier cosa. Con este tipo de placa, tienes que cortar un montón de cables de conexión, lo cual no es tan fácil, pero el resultado es una placa compacta muy bonita con un mínimo de enredos de cables. Lo primero que tenemos que hacer es diseñar nuestro circuito para que encaje en la placa. Una buena forma de hacer esto es descargar el mapa del tablero y luego usarlo para jugar con diferentes diseños hasta que encuentre uno que funcione. Aquí está el diseño del ME-PB-103RAWD https://www.bluemelon.com/photo/3483513-T800600-j.webp

Paso 2: corte el circuito en la placa

Cortar el circuito en el tablero
Cortar el circuito en el tablero
Cortar el circuito en el tablero
Cortar el circuito en el tablero
Cortar el circuito en el tablero
Cortar el circuito en el tablero

Primero tome un marcador y, usando su diseño que trazó en el paso anterior, dibuje su circuito en la placa. Es decir. dibuja líneas para representar los cables. No dibuje nada en términos de componentes, solo los cables de conexión como se muestra en la primera imagen. Tenga en cuenta que cuando lo arruine (y si es como yo, lo arruinará muchas veces en estos pasos) puede usar un borrador y borrar la línea. Haga esto para ambos lados del tablero.

A continuación, debe cortar las conexiones alrededor de las líneas. Si miras de cerca el tablero, verás que cada orificio de clavija está conectado a los 4 adyacentes en ambos lados del tablero, de modo que todos los orificios del tablero están conectados entre sí cuando comienzas. Por lo tanto, debe cortar ambos lados de cada uno de sus cables para aislarlos. La forma más común de hacer este corte es con un cuchillo Exacto. Pero chupo cuchillos Exacto y probablemente me cortaría. Así que utilizo una Dremel con un accesorio de herramienta de corte delgado. Desearía tener algún tipo de accesorio de esmerilado que llegara a un punto afilado, ya que funcionaría mejor, pero no tengo uno así, así que utilicé el accesorio de sierra de corte. (Nota agregada: después de terminar este proyecto, descubrí que los cabezales más pequeños de "rueda de corte de servicio pesado" para Dremels funcionan mejor, se ven como pequeños círculos de papel de lija y funcionan como la herramienta de corte que se muestra aquí, excepto que tienen un diámetro más pequeño y, por lo tanto, es mucho más fácil ver y controlar dónde está cortando)

A lo largo del camino, es útil sostener la placa a contraluz y asegurarse de que los cables estén realmente cortados. Es posible que le moleste el hecho de que hay conexiones en ambos lados del tablero, por lo que debe repetir el proceso de corte nuevamente con el otro lado, pero creo que verá el sentido de esto cuando haya terminado. Cometí muchos errores al cortar cables que no deberían haberse cortado y tener el otro lado todavía conectado resulta ser agradable.

Se necesitará un poco de tiempo y paciencia para cortar el circuito en la placa, pero es divertido una vez que lo haces bien.

Paso 3: suelde los componentes y pruebe

Suelde los componentes y pruebe
Suelde los componentes y pruebe
Suelde los componentes y pruebe
Suelde los componentes y pruebe
Suelde los componentes y pruebe
Suelde los componentes y pruebe

Ahora que ha aislado todos los cables en su placa de circuito, puede comenzar a soldar los componentes individuales.

Primero soldé los LED para uno de los dados, luego tomé cables positivos y negativos de mi tablero y probé las conexiones para cada LED para asegurarme de que estén aislados entre sí y que funcionen.

Lo mismo ocurre con el otro morir.

Luego, conecte la resistencia a cada dado y la resistencia de 10K en la parte posterior de la placa.

Luego, coloque el oscilador de cristal, las tapas de 22pf, los botones pulsadores y el ATmega328P. Es posible que desee soldar un zócalo de chip y luego colocar su ATmega328P en ese para poder quitarlo si lo desea y reutilizarlo en otra cosa. Acabo de soldar mi chip a la placa ya que sé lo que eventualmente estamos construyendo con todos estos tutoriales y sé que me gustará lo suficiente como para no querer sacar el chip.

Observe, mirando la parte posterior del tablero, la forma en que adjuntamos los encabezados. Usé encabezados de clavija largos y los doblé horizontalmente para que no sobresalieran del tablero. Esto es para que eventualmente pueda cubrir la placa hasta el nivel de los botones pulsadores y los LED con un contenedor y no tener encabezados que se interpongan en el camino. Tenemos un encabezado para Tx, Rx para que podamos programar el chip, tenemos un encabezado para SDA, SCL para que podamos usar la comunicación de 2 cables más adelante. y tenemos un encabezado de 3 pines para AVCC, AREF, GND en el otro lado de la placa. Tengo todos los pines de tierra y los pines VCC conectados juntos en el chip, por lo que solo necesitamos una entrada de alimentación.

Finalmente, una vez que todo está cableado, conectamos el dado 1 al dado2 de la forma en que lo hicimos en el tablero para que podamos controlar ambos dados con solo 9 pines.

Ahora necesitamos modificar nuestro código para que controle esta nueva configuración.

Paso 4: código de ensamblaje y video

He adjuntado el código de ensamblaje y el video del rodillo de dados en funcionamiento, todo lo que hice fue tomar el código de nuestro rodillo de dados del Tutorial 6, modificar los pines para que coincidan con el nuevo diseño y eliminar la subrutina de comunicaciones ya que estaremos escribiendo uno nuevo en el Tutorial 10. La próxima vez estaremos rompiendo nuestro teclado nuevamente y aprendiendo cómo controlar las pantallas de 7 segmentos.

Recomendado: