Tabla de contenido:
- Paso 1: diseñe un diagrama de cableado
- Paso 2: corte el circuito en la placa
- Paso 3: suelde los componentes y pruebe
- Paso 4: código de ensamblaje y video
Video: Tutorial 8 del ensamblador AVR: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
¡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:
- 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.
- 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.
- 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
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
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
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:
Tutorial 1 del ensamblador AVR: 5 pasos
Tutorial 1 de AVR Assembler: He decidido escribir una serie de tutoriales sobre cómo escribir programas en lenguaje ensamblador para el Atmega328p, que es el microcontrolador utilizado en Arduino. Si la gente sigue interesada, seguiré publicando una por semana más o menos hasta que me quede sin
Tutorial de ensamblador AVR 6: 3 pasos
Tutorial 6 de AVR Assembler: ¡Bienvenido al Tutorial 6! El tutorial de hoy será breve en el que desarrollaremos un método simple para comunicar datos entre un atmega328p y otro utilizando dos puertos que los conectan. Luego tomaremos el rodillo de dados del Tutorial 4 y el Registro
Tutorial de ensamblador AVR 7:12 pasos
Tutorial 7 de AVR Assembler: ¡Bienvenido al Tutorial 7! Hoy vamos a mostrar primero cómo buscar un teclado y luego mostrar cómo usar los puertos de entrada analógica para comunicarse con el teclado.Haremos esto usando interrupciones y un solo cable como aporte. Conectaremos el teclado para que
Tutorial de ensamblador AVR 9: 7 pasos
Tutorial 9 de AVR Assembler: Bienvenido al Tutorial 9. Hoy mostraremos cómo controlar una pantalla de 7 segmentos y una pantalla de 4 dígitos utilizando nuestro código de lenguaje ensamblador ATmega328P y AVR. En el transcurso de hacer esto, tendremos que desviarnos sobre cómo usar la pila
Tutorial de ensamblador AVR 11: 5 pasos
AVR Assembler Tutorial 11: ¡Bienvenido al Tutorial 11! En este breve tutorial, finalmente vamos a construir la primera parte de nuestro proyecto final. Lo primero que debe hacer es ir al último paso de este tutorial y ver el video. Entonces vuelve aquí. [haciendo una pausa mientras