Mini-Shields de Arduino: 11 pasos (con fotos)

Mini-Shields de Arduino: 11 pasos (con fotos)

Tabla de contenido:

Anonim

Este es un conjunto de mini escudos simples, de factor de forma pequeño, que he creado casi por accidente. A medida que hice más y más de ellos, me di cuenta de que podrían ser realmente útiles. Lo que comenzó como una forma de utilizar algunas piezas de repuesto, se convirtió en un factor de forma estandarizado para un escudo Arduino miniaturizado y versátil. El beneficio adicional es que también hacen un gran kit para viajes, o prototipos simplificados o para educar a los niños y principiantes sobre Arduino.

He estado construyendo algunos escudos y módulos personalizados desde hace un tiempo, pero aunque me gusta la modularidad de un escudo, son un poco demasiado caros y grandes si lo único que desea agregar es solo una pequeña pieza. Los módulos que hago son todos pequeños y tienen que estar conectados a una placa de pruebas, lo que no me da la sensación de satisfacción y acabado que estoy buscando. Compro una gran cantidad de tablas de perf, pero las placas Arduino tienen este espaciado molesto e inusual entre los bancos de clavijas digitales, por lo que tiene que modificar las clavijas para que encajen. Necesitaba algo que fuera más flexible, más liviano y me permitiera cambiar los pines que se usan más fácilmente para evitar conflictos con otros escudos.

El Mini Escudo Estándar

Comencé a hacer estos pequeños módulos con pinouts estandarizados que en su mayoría son plug and play. Los llamo Mini-Shields e incluyen todo lo que necesitas para casi cualquier aplicación. Los primeros 3 pines de la derecha de cada placa están conectados a los pines 5v, tierra y Digital 2 del Arduino. Todos mis mini escudos utilizan el siguiente estándar y funcionan bastante bien entre sí.

Pin | Función de pin

1 | 5v

2 | Gnd

3 | Digital 2 (Interrupción de Hardware)

4 | Analógico *

5 | Digital (PWM)

6 | Digital (PWM)

7 | Analógico **

8 | Digital

9 | Digital (PWM)

* El módulo Real Time Clock requiere un pin analógico 4.

** El módulo Real Time Clock requiere un pin analógico 5.

Me gustó la idea de que estos pequeños módulos podrían agregarse a casi cualquier otro escudo y se podrían intercambiar según sea necesario. Entonces también podría reutilizarlos en diferentes proyectos sin demasiado esfuerzo. El pinout estandarizado significaba que cada uno de ellos podría usarse en lugar de los otros si todo estaba conectado correctamente. Una vez que están construidos, hacen un buen conjunto de prototipos rápidos que también funcionará como un conjunto de nivel de entrada para principiantes de Arduino.

Escudo de Mini-Escudos

Hice un solo escudo con espacio para que se conecten 3 mini protectores al mismo tiempo. Cada mini protector usa 2 pines analógicos y 4 pines digitales (más el pin 2 digital que todos comparten, ya que lo he dedicado a la función de interrupción de hardware). Necesitaba dedicar los pines analógicos 4 y 5 a la ranura A para garantizar que el módulo del reloj en tiempo real funcionara. De los 14 pines digitales, solo hay 6 pines PWM disponibles, así que tengo las ranuras B y C dedicadas para que sean los minipantallas PWM, por lo que cosas como el altavoz y el LED a todo color no funcionarán bien si están enchufados en la ranura A.

Suministros:

Paso 1: Partes y Métodos

Cuando todo fue dicho y hecho, construí 7 de estos mini escudos. Seguí hurgando en mis piezas de repuesto y encontrando cosas de las que podría hacer otra tabla. Estos son los mini-escudos actuales y las partes principales que los incorporan:

Mini escudo de infrarrojos - Un sensor IR recuperado, un LED recuperado y 2 botones

Botón de mini-escudo anunciado - Un circuito RC con un disparador Schmidt inversor para rebotar la salida de un interruptor táctil.

D-Pad Mini-Shield - Teclado direccional de 5 botones conectado a un solo pin analógico.

Mini-escudo de gráfico de barras - Utiliza un registro de desplazamiento para iluminar un gráfico de barras LED de 8 segmentos con solo 3 pines digitales.

Mini escudo RGB - Una olla RGB LED y recortadora + 2 botones.

Reloj Mini Time Shield en tiempo real - Un adaptador para usar mi módulo RTC disponible.

Theremin Mini-Shield - Un altavoz de PC rescatado, célula de foto y 2 botones.

Encabezados

Hice todos estos mini escudos con partes que tenía a mano, pero no tuve la oportunidad de usarlos. Siempre tengo un montón de encabezados masculinos y femeninos a mano. Cada vez más, me gusta usar estos encabezados en ángulo recto, que solo vienen como encabezados masculinos, pero he descubierto que también puedes doblar los pines en los encabezados femeninos para que también se recuesten a lo largo del tablero. Me gustan los 10 paquetes de encabezados rectos y en ángulo recto que venden en Schmartboard. La mayoría de los otros lugares solo venden las tiras de encabezado en singles. Desafortunadamente, no venden los encabezados femeninos allí.

Tablas de Perf y Proto

Compré un par de pizarras de dos caras con placas de orificio pasante que nunca encontré un uso. Este proyecto me dio una buena oportunidad de usarlos, pero una vez que usé los 2 que tenía, comencé a cortar piezas de una gran placa de perfilado que obtuve en Radio Shack.

Resistencias, condensadores y componentes

En algún momento dejé de comprar un tipo de resistencias y comencé a comprar los paquetes surtidos. Es una oferta mucho mejor y es más conveniente usar algo que tenga a mano que correr a la tienda y espero que recuerde todas las cosas que necesitaba. Si tiene un grupo para elegir, generalmente puede mezclar y combinar algo para que funcione para usted.

Botones

He estado usando muchos botones últimamente, y me quedé sin nuevos, pero tenía un montón que recuperé de un viejo reproductor de DVD, así que también pude reutilizarlos. Cuando desecho los aparatos electrónicos viejos, los abro para ver qué podría ser útil. Si encuentro algo bueno, corto las partes con un par de tijeras y las guardo. Si los necesito más tarde, usaré un poco de trenza desoldadora para quitar la soldadura y liberar la pieza de la placa de circuito. Utilicé el mismo proceso para los botones, los LED IR y el sensor IR que usé en este proyecto.

Mi metodo

El cable que utilizo en mis proyectos es solo un cable de red UTP de núcleo sólido. Tengo un gran carrete de alambre, así que de vez en cuando me corto algunos pies y me quito la vaina exterior. Los cables del interior utilizan el estándar CAT5 estándar, por lo que no tengo cables rojos y negros como preferiría. En su lugar, uso naranja para rojo y verde para negro. Yo uso azul para interruptores y otros pines digitales. Uso Blanco Azul o Blanco Verde para datos y pines analógicos.

Marcas de encabezado

Usé algunas plumas para marcar los pines del encabezado con colores para que pueda saber fácilmente qué pines son necesarios y cómo se deben conectar a un Arduino desde una placa de pruebas. Marqué los pines 5v con rojo y los pines GND con verde. Marqué pines digitales con azul y marqué pines analógicos con amarillo. Marcé los pines PWM (digitales) con blanco, pero puse un punto de color en el medio. Para el LED a todo color, combiné el punto con el color al que se relaciona el pin en el LED. Marcé los pines hembra con cinta adhesiva blanca y marcadores permanentes de punta fina utilizando el mismo esquema de color que el anterior.

Paso 2: Construcción de mini escudo IR

Este fue el primer mini escudo. Tenía algunas partes que quería agregar a mi escudo de Tiempo y Temperatura, pero no tenía más espacio en el escudo para las partes. Decidí colocarlos en una tabla hija con alfileres de cabecera para que sea removible y reutilizable. Tenía algunos de estos tableros de proto de 9 x 9 hoyos para los que no había encontrado uso, pero resultó que 9 hoyos era exactamente el tamaño correcto para este proyecto.

Recuperé algunos LEDs IR de los remotos de TV viejos, y un receptor IR de una vieja unidad de A / C que pensé que podría usar en el escudo de Tiempo y Temperatura. También pensé que sería bueno agregar algunos botones para poder hacer un menú para la pantalla.

LED IR

Primero probé el IR LED desde el control remoto con 5v del Arduino. Tuve que mirar el LED a través de mi cámara para ver brillar el infrarrojo. La cámara mostró que el LED funcionaba bien, pero se calentó, así que asumí que estaba recibiendo demasiada energía. Probé varios resistores diferentes hasta que no vi demasiada diferencia entre el brillo total y cuando el resistor se colocó en serie con el led. Con una resistencia de 47 ohmios, el LED ya no se sobrecalienta y aún muestra un brillo total en la pantalla de la cámara.

Sensor IR

Encontré un poco de información en Adafruit sobre un sensor IR similar. La placa de la que tomé esto tenía marcas que indicaban que los cables + y - eran los mismos que decía la guía de Adafruit, así que lo soldé a lo largo de la parte superior de la placa proto para que el ojo del sensor saliera.

Botones

Tenía un poco más de espacio, así que tuve que colocar un par de botones táctiles para llenar el espacio. Me gusta tener botones adicionales en mis proyectos porque siempre hay una razón para tener alguna forma de desencadenar un proceso, especialmente cuando estás probando algo.

Paso 3: Mini-Shield del Botón de Rebote

Tuve otro de estos tableros proto enchapados de 9x9 agujeros, así que pensé que haría otro módulo que pudiera usar en el mismo puerto. Tengo una sección de una de mis listas de distribución dedicada a un conmutador de hardware cargado. De esta manera puedo conectar el interruptor a la interrupción de hardware en Arduino y comenzar una nueva instrucción en medio de un bucle. Los pines de interrupción deben ser rebatidos con hardware porque no hay manera de usar el retardo de espera para rebotar en la interrupción.

En estos sitios web hay una muy buena explicación del desmontaje e interrupción del hardware …

www.jeremyblum.com/2011/03/07/arduino-tutorial-10-interrupts-and-hardware-debouncing/

arduino.cc/en/Reference/attachInterrupt#.UyXvl4XLIyz

Paso 4: Mini-Shield Direccional Pad

Ya que la idea original era agregar algunas entradas nuevas para mi proyecto de escudo de Time & Temp, pensé que una almohadilla direccional estaría bien. Recordé este post en el sitio de Arduino que solo usa 1 pin analógico para todos los botones. Debido a que las resistencias se mapean tan bien, incluso permite que el Arduino reconozca combinaciones de 2 teclas presionadas al mismo tiempo.

Estaba tratando de usar las piezas que tenía a mano y me estaba quedando sin botones, así que tuve que salvar 4 de estos botones del panel de control de la unidad de A / C. Tengo un conjunto de resistencias estándar de Radioshack que están siendo poco utilizadas, pero aún pude hacer que algo funcionara al combinar algunas resistencias para obtener la resistencia deseada.

Tuve que usar 4 resistencias para los botones 2 y 3 para hacer los valores de 390 y 680 descritos en este ejemplo, y como resultado, mi resistencia real fue ligeramente diferente, así que tuve que ejecutar el siguiente código de prueba para ver cuál sería la lectura analógica para cada botón, y actualice la matriz de botones para permitir estos valores (generalmente 1 número arriba / debajo del ejemplo en el sitio de Arduino).

Código de prueba:

int analogpin = 3; // pin analógico para leer los botones

configuración del vacío ()

{

Serial.begin (9600);

}

bucle de vacío ()

{

Serial.println (analogRead (analogpin));

}

Paso 5: Mini-Shield de gráfico de barras

Estaba pensando en otras cosas que serían útiles como un mini escudo y pensé que me gustaría tener un circuito de gráfico de barras LED, completo con un registro de desplazamiento en él. Tengo un buen gráfico de barras tricolor, pero es uno de 10 segmentos, y mi registro de desplazamiento es de solo 8 bits. Recordé que tenía estas pantallas LED de 8 segmentos (2 por línea) con un pinout extraño y pensé que sería una buena oportunidad para usarlas.

Con el registro de cambios conduciendo la pantalla LED en el mini-escudo, puedo salirme con solo usar las 3 clavijas digitales para iluminar los 8 LED. De lo contrario, no podría poner esto en el mini escudo ya que solo tengo 4 pines digitales dedicados a cada mini escudo. Incluso si utilizara el pin 3 compartido en el conector del mini protector, solo tendría 5 pines digitales para conducir 8 segmentos. El registro de desplazamiento permite controlar más LED sin exceder los pines disponibles.

Partes

74HC595 Registro de cambios: estos registros de cambios son excelentes para aumentar el número de pines de salida para que pueda controlar muchos LED desde solo 3 pines en el Arduino. Puede conectarlos en cadena para obtener aún más pines de salida, solo necesita cambiar su código para permitir los registros de desplazamiento adicionales. Hay un buen tutorial para estos aquí.

Gráfico de barras de 8 segmentos del LED: los tengo en un par de colores diferentes porque estaba tratando de unirlos a muchos con los registros de cambios en cadena. Los que usé aquí no eran lo que esperaba, por lo que nunca se usaron.

Red de resistencias - Tengo 2 tipos diferentes de estos, Aislados y Bussed. Este está aislado, por lo que contiene 8 resistencias separadas, pero arrastré una línea de soldadura por los cables salientes para unir los terrenos. Si hubiera usado el bussed, podría haber usado el único cable común para el suelo, pero habría estado perdiendo 7 cables de resistencia adicionales.

Paso 6: Mini-Shield RGB LED

Tengo algunos tipos diferentes de LED RGB a todo color que de vez en cuando conecto a una placa de pruebas, pero cuando necesito espacio en una placa de cartón, estos se guardan en un cajón. Pensé que uno de estos podría ser un buen mini escudo. Para ocupar el resto del espacio, incluí algunos botones más y una olla de recorte porque siempre están a mano.

Fui a la página del producto en Sparkfun y miré la hoja de datos. Aparentemente, se han descontinuado, pero es básicamente la misma idea para cualquier LED RGB a todo color. Este es un LED de cátodo común. Si tiene un LED de ánodo común, conecte el pin común a 5v en lugar de a tierra como lo hice yo.

Para elegir las resistencias, fui a esta página y conecté los valores que obtuve de la página del producto. Este sitio recomendó una resistencia de 150Ω, pero el LED aún era demasiado brillante y me lastimó los ojos para mirarlo, así que terminé utilizando resistencias de 220Ω.

Primero soldé el LED, los 2 interruptores y el potenciómetro de recorte de 10k a la placa de perfección, luego trabajé en agregar las otras piezas. Até los cables de 5 V y los cables de tierra juntos y trabajé en atar los LED, y pasé los pines digitales y el limpiaparabrisas del potenciómetro a uno de los pines analógicos. Si hubiera pensado más en esto, habría invertido la polaridad en el potenciómetro de recorte, porque tengo que girar el botón hacia la derecha para disminuir y hacia la izquierda para aumentar, lo cual es contraintuitivo.

Paso 7: Theremin Mini-Shield

Este originalmente comenzó como un simple protector de altavoz porque tenía un altavoz de PC que recuperé de una vieja placa base. Luego recordé que tenía un fotorresistor o un resistor dependiente de la luz (LDR) que rescaté de una luz nocturna y decidí que a mitad del proyecto también incluía el LDR. Así que decidí agrupar las piezas necesarias para un pseudo-theremin en un mini escudo.

Utilicé estas guías en Adafruit para el diseño y el código del circuito general.

learn.adafruit.com/adafruit-arduino-lesson-10-making-sounds/pseudo-theramin

learn.adafruit.com/adafruit-arduino-lesson-10-making-sounds/arduino-code

Paso 8: Mini protector de reloj en tiempo real

Me gusta mucho este módulo de reloj en tiempo real. Te permite mantener el tiempo perfecto mientras tu Arduino está ocupado haciendo otras cosas. Agregué algunos encabezados femeninos a otro proyecto para que me permitiera enchufarlo y usarlo, pero ahora quiero poder usarlo como mini protector, así que decidí hacer una placa adaptadora.

Este módulo es realmente simple de cablear, solo necesita 5v de potencia, tierra y pines analógicos 4 y 5. Para hacer este adaptador, solo necesitaba cablear los pines analógicos Arduino 4 y 5 como los 2 pines analógicos en el mini - Conector de protección.

Adafruit tiene una guía muy buena para usar este módulo con Arduino.

Paso 9: Escudo de Mini-Shields

Después de tener algunos de estos mini escudos, pensé que me gustaría usarlos juntos en un solo escudo. De esa manera podría tener un bonito kit listo para usar que permitiría muchas combinaciones diferentes de sensores y salidas. Hice un nuevo escudo de tamaño completo al que podría enchufar hasta 3 mini escudos. 2 puertos son verticales y 1 está tendido.

Cuando coloqué los alfileres, tuve que pensar en qué tipo de mini escudos irían a dónde. El mini protector de RTC necesita tener pines analógicos A4 y A5 porque son requeridos por la biblioteca. Mi LED RGB y el mini protector de Theremin necesitan 3 pines compatibles con PWM, y dado que el UNO tiene 6 pines del PWM, me gustaría usar 3 para el protector B y 3 para el escudo C. El mini-escudo de mi botón con el cual debe ser necesario debe tener digital el pin D2 o D3 para acceder a la interrupción de hardware, ya que D3 también es un pin PWM, decidí usar D2. Ya que realmente solo necesito esto para 1 escudo en este momento, y no puedo imaginar que necesite 2 escudos de interrupción, decidí conectar D2 a los 3 puertos del mini escudo.

Como expliqué anteriormente, este es el diseño estándar de pines mini-shield:

Pin | Función de pin

1 | 5v

2 | Gnd

3 | Digital 2 (Interrupción de Hardware)

4 | Analógico *

5 | Digital (PWM)

6 | Digital (PWM)

7 | Analógico **

8 | Digital

9 | Digital (PWM)

* El módulo Real Time Clock requiere un pin analógico 4.

** El módulo Real Time Clock requiere un pin analógico 5.

Y aquí está el diseño de los 3 puertos de encabezado de mini escudo:

Pin mini escudo | Arduino Pin

A1 | 5v

A2 | Gnd

A3 | Digital 2 (Interrupción de Hardware)

A4 | Analógico 5 (requerido para el módulo RTC)

A5 | Digital 7

A6 | Digital 8

A7 | Analógico 4 (requerido para el módulo RTC)

A8 | Digital 12

A9 | Digital 13

---------------------------------

B1 | 5v

B2 | Gnd

B3 | Digital 2 (Interrupción de Hardware)

B4 | Analógico 3

B5 | Digital 9 (PWM)

B6 | Digital 10 (PWM)

B7 | Analógico 2

B8 | Digital 4

B9 | Digital 11 (PWM)

---------------------------------

C1 | 5v

C2 | Gnd

C3 | Digital 2 (Interrupción de Hardware)

C4 | Análogo 0

C5 | Digital 3 (PWM)

C6 | Digital 5 (PWM)

C7 | Analógico 1

C8 | Digital 1

C9 | Digital 6 (PWM)

Paso 10: Agregar Mini-Shields a proyectos existentes

Doblé algunos de los cables en el escudo para poder apretar la fila de 9 clavijas de cabecera hembra en su lugar.

Doblé los pines en los encabezados para que despejen la pantalla y el módulo que construí quedará plano. Desafortunadamente, tuve que doblar el cabezal para soldar en los agujeros debajo de él. No sé si hubiera sido más sencillo soldar el cabezal luego de soldar los cables de puente a los pines digitales Arduino, o si eso hubiera causado otra confusión. Esto funcionó, pero es difícil doblar algo al ras del tablero. Por lo general, para obtener una curva perfecta, tienes que ir un poco más allá de donde la quieres, y no tenía el espacio para hacerlo aquí.

El escudo de tiempo y temperatura fue la primera placa a la que le agregué el puerto de mini-escudo, por lo que este fue como un calzador en su lugar. No obtuve mi estándar de pin hasta más tarde, pero este aún sigue la mayoría de los estándares que definí más adelante.

El mini escudo del robot de mi tanque aún no está terminado. Necesito decidir qué es importante y qué no interferirá con ninguno de mis otros escudos. Actualmente tengo un escudo del controlador del motor DSRobot y un escudo Sparkfun Xbee al que se suelda el puerto del mini escudo en el área de creación de prototipos. El escudo Xbee tiene un módulo bluetooth conectado al puerto Xbee.

Paso 11: Finalizar

Estoy muy contento con cómo salieron estos mini escudos. Tengo otros en mente para futuros proyectos y creo que sería útil hacer un adaptador simple para cada módulo prefabricado que pueda encontrar. Específicamente, tengo un ojo en un adaptador de sensor ultrasónico para mi robot de tanque y un sensor de humedad para mi escudo Time & Temp.

Runner Up en el

Concurso Arduino