Los ingenieros en MIT Tech High-Low tienen un gran conjunto de tutoriales que entran en el meollo de la cuestión arenoso de este proceso basado en cables de diseño y puente. Este tutorial se centrará en una solución más permanente para aquellos que se encuentran utilizando la Tinys en más con frecuencia. También se supone un nivel de principiante no de experiencia con la técnica de soldadura, pero no tienes que ser un robot en Shenzhen para hacerlo funcionar.
EN Tinys están disponibles a través de la mayoría de los sospechosos habituales cuando se trata de proveedores de semiconductores de pedidos por correo y, a veces en gran cantidad en eBay. Al hacer el pedido, asegúrese de obtener la versión de inmersión. Si usted pide la variedad de montaje superficial, estás de suerte cuando se trata este tutorial.
A limitar la discusión a la a minúscula 45/85 y 2313 porque estas unidades tienen asignacion de terminales lo suficientemente similares para reducir al mínimo los componentes y que representan una amplia gama de la memoria y las configuraciones de entrada/salida. (Desde que por primera vez en Tinys, he ido a través de proyectos con un diminuto media docena de 45 y soy no profesional de la ingeniería.) Si nos fijamos en la segunda imagen, a ver las configuraciones de pin para estas dos unidades. Los pines importantes aquí son Vcc, tierra, Reset, MISO (Master en / esclavo hacia fuera), MOSI (receptor en / maestro hacia fuera) y SCL o SCK (que son dos maneras de decir "Reloj Serial.") Aviso que casi todos estos pernos están en el mismo lugar en los dos paquetes con excepción de la tierra, que en el 45/85 es en pin 4 y en el 2313 es en el pin 10. En una solución permanente, si ejecutaste pin 4 a masa en el 2313, se estar conectada a los pines destinados el reloj externo, que podría causar problemas. Vamos a resolver este problema mediante el uso de un puente.
La primera cosa a hacer, como siempre, es recoger sus materiales. Para este Instructable, necesitarás lo siguiente:
-Una placa Arduino. Unos, Megas y Duemillanoves debe todo el trabajo pero yo uso un Uno. Es el único que sé que funciona seguro aquí.
-Un Protoshield Arduino (alrededor de $18 en RadioShack con precios diferentes en las interwebs.) Esto es una gran herramienta para la construcción del escudo de una sola vez. Está a medio camino entre un pan y un PCB personalizado combinando los mejores aspectos de ambos. (Supongo que usted podría utilizar un PCB estándar perf-perforado con pins de cabecera, pero hay problemas con la orientación si haces eso. No entraré en la mecánica de este enfoque.) Ver la tercera imagen.
-Uno de 20 Pin socket DIP (también en la tercera imagen).
-Un zócalo más de DIP (número de pin no es importante aquí, como hay al menos dos de cada lado-te sacrificas esto.) Por otra parte, un puente del pin de encabezado estándar funcionará
-En por lo menos dos pernos de ruptura encabezado, no apilar.
10-1 condensador del microfaradio.
-Gancho encima del alambre. (Yo prefiero usar la clase que electricistas líneas telefónicas en las paredes de su hogar detrás del alambre cuando la gente todavía utiliza líneas de tierra. Este es el calibre adecuado y te permite color-código tu trabajo constantemente).
Herramientas:
-Baja potencia de hierro y, por supuesto, la resina núcleo de soldadura de la soldadura. (Me gusta usar resina extra cuando trabajo).
-Diagonal Snipping alicates/pelacables (pueden ser dos herramientas independientes)
-Disipador de calor
-A alicates de nariz de aguja también pueden venir prácticos
0
Comenzar por el zócalo de 20 Pin DIP de soldadura en su lugar en el escudo de Proto, como en la imagen 4. Intentar ser mejor que estaba. (Era reutilizar el escudo de otro proyecto y tenía algunos puentes de soldadura a través de perforaciones conectados que tomaron un tiempo para limpiar). Asegúrese de que no superar cualquier miedo adyacente.
A continuación añadir el cable de conexión como en las imágenes 5 y 6. Como mencioné, me gusta color-código las cosas, así que rojo va del pin 20 (Vcc) para Arduino + 5v, el negro va de Pin 10 (Gnd en el 2313) a Arduino Gnd, amarillo va de (Reset) el Pin 1 a 10 de Arduino, verde los cables van desde el Pin 17 (MOSI) Pin 18 (MISO) a 12 Arduino Arduino 11 y del Pin 19 (reloj Serial) a 13 de Arduino. También, gancho encima de un negro extra de alambre para el segundo abierto perf en pin 10 y correr al agujero exterior perf desconectado junto al pin 5, dejando el plomo un poco mas de lo normal, pero no soldadura en tira pero sólo al final y ejecutarlo a través de ese agujero.
Ahora a poner el puente, que las dos clavijas de cabecera snap-off, en el pin 4 (Gnd en el ATtiny 45/85) y el externo perf agujero junto al pin 4. Introducir los pernos de la rúbrica para que peguen los extremos largos de metal hacia arriba, no hacia abajo a través de la Junta como las otras cabeceras apilamiento preinstaladas en la Junta. Soldar el pin que se conecta al pin 4 traza en primer lugar, a continuación, doble el cable de tierra que se pega a través del orificio perf en pin 5 sobre ponerse en contacto con la pines restantes encabezado. La soldadura de estos dos juntos como en la imagen 7.
Añadir el condensador de microfaradio reset 10 en el Arduino Reset y el conector de tierra restantes de ese lado, asegurándose de tener en cuenta la polaridad ("-" a la tierra) como en la imagen 8. Usa el disipador de calor entre la Junta y el cuerpo de la tapa no freírlos y Soldándola. (El olor a quemado electrolíticos es simplemente horrible).
En este punto, usted querrá hacer su conector jumper si no comprar uno o tenerlo tendido alrededor. Para hacer un conector puente rápida y sucia, tome el enchufe DIN de "sacrificio" y doblarse las dos clavijas en una fila para que toquen y soldarlos juntos (también en la imagen 8, en el lado izquierdo.) Entonces toma tus tijeras para cortar el carril de centro de la inmersión del extremo que trabajó y separar las dos clavijas del enchufe por corte en el tercer pin desde el extremo, que debe salir de tus patillas soldadas en el tacto. Deslice el conector del puente hacia abajo sobre los pernos de dos cabecera que sobresalen hacia arriba de la Junta como en la imagen 1 (sí, 1,-se de más o menos completa en este punto por lo que usé como la imagen principal.) Este puente es sólo para ser utilizado cuando la programación en pequeña 45/85 fichas, para quitarlo cuando se programa un ATTiny 2313.
Ahora, para la parte de programación.
Supondré que sabes lo que estás haciendo con un Arduino aquí. El primer paso en esta fase es para descargar los dos archivos siguientes:
uno para el 2313 y otro para el 45/85. El primero también tiene núcleos para las virutas en pequeños 84/44, pero este programador que no trabajo con estas dos variedades. Las conexiones son demasiado diferentes. Si intenta conectar uno en esto obtendrá resultados de nada a confundir a un fuego pequeño en su banco de trabajo.
Una vez que has descargado y descomprimido estos "corazones" como se les llama, abra el archivo en su computadora que contiene su sketchbook de Arduino y crear una carpeta llamada "Hardware" si uno ya no existe y copia estos archivos descomprimidos en la carpeta hardware: la carpeta attiny entera y desde la carpeta arduino-minúsculo-0100-0010 la subcarpeta minúscula. (Nota: me gusta mantener estos en mi escritorio y copiarlos de uno a la vez como necesite. De lo contrario el submenú usted a ser seleccionándolos en consigue largo y headachey.) Si se ejecuta el entorno de Arduino al instalar los corazones, usted probablemente debería haber sabido mejor, pero no hay daño hecho. Salir y reiniciar. Si no fueras, solo ejecutarlo. (Asumiremos que ya tienes el tablero instalado y funcionando). Una vez el medio ambiente, sólo para los diablos, busque en "Herramientas > Junta Directiva >" y usted debería ver un montón de opciones que nunca fueron antes. Por el momento, sólo deja la placa Arduino real que usas seleccionada (o si por alguna razón el mal uno es seleccionado, seleccione el correcto.)
Ahora, se sientan en pequeños IC en el zócalo del perno 10 usted soldado en el protector antes. Pin 1 de este IC se caracteriza por una poca hierba en la parte superior de la viruta. Asiento el IC para que este pin está más cerca del interruptor de reinicio. (Que te ser usando un 85 en pequeño de este Instructable.)
Para la siguiente parte del tutorial, es importante hacer cosas en el orden especificado o de lo contrario tendrás algunos errores extraños al tratar de programar su minúsculo en.
Ahora vamos a hacer algo limpio que reduce realmente la funcionalidad de la Arduino a una fracción de su capacidad. Al utilizar el tablero como programador en el sistema, eres casi saltándose el procesador integrado en el Arduino (en realidad es como usar como un panel de control a las señales de ruta, pero que es realmente de un trabajo servil para qué un Arduino puede hacer). En el entorno de Arduino, abrir "archivo > ejemplos > ArduinoISP" y subirlo a la placa Arduino.
Luego introduzca con cuidado el escudo en la placa de Arduino (ver imagen 9).
A continuación, abra un dibujo nuevo y copie y pegue el siguiente código:
/*
TinyBreather
Efecto "Luz de sueño" para uno llevó algo similar a un indicador de monitor de ordenador cuando entra en modo de reposo.
Este ejemplo de código es de dominio público.
*/
brillo de int = 0; Cómo brillante es el LED
void setup() {}
pinMode (0, salida);
}
void loop)
{
Delay(10);
ajustar el brillo de pin 0:
para (brillo int = 0; brillo < 255; brillo ++) {}
analogWrite (0, brillo);
retardo (5);
}
Espere 30 milisegundos ver el efecto de atenuación
Delay(30);
para (int brillo = 255; brillo > 0; brillo--) {}
analogWrite (0, brillo);
retardo (5);
}
Espere 30 milisegundos ver el efecto de atenuación
Delay(30);
Delay(10);
}
dejar de copiar el dibujo aquí
Una vez que este esbozo nueva insertada en el medio ambiente, seleccione "Herramientas > Junta Directiva > en Tiny85 (con Arduino como ISP)" y compilar el bosquejo. Debería funcionar sin incidentes. Una vez que una compilación limpia, subir el boceto (realmente esto será a través de Arduino en minúscula, no Arduino). Casi puedo garantizar que obtendrá el siguiente mensaje de error:
avrdude: definir en el archivo de configuración por parte ATtiny85 señales PAGEL y BS2
Dos veces en una fila, de hecho. No te preocupes, es realmente una buena señal. Ahora a probarlo tomando un LED y colocar en el escudo con el positivo (más) plomo en toma 11 y el cable negativo en tierra en el mismo lado. (Nota: mejores prácticas probablemente dictaría que pones un resistor limitador de corriente en alguna parte entre el LED y el circuito pero tengo bastantes de ellos ahí que no me importa correr el riesgo de la smokeshow para esta demostración.) Los resultados deben ser más o menos lo que se ve en el video aquí:
http://youtu.be/zlhP15mu9Bo
Para ejecutar el mismo circuito independiente de escudo/Arduino, usted correría sólo una fuente de alimentación regulada (+ 5v) pin 8 de su IC programado con tierra a 4 y conecte el LED en el pin 5 y la tierra. Al igual que el Arduino, en diminutos mantendrá el último programa se carga en él durante un buen rato.
El proceso es lo mismo para el en 45 pequeños excepto por supuesto usted seleccionaría "En Tiny 45 (con Arduino como ISP)" como el tablero del programa. Si fueses a seleccionar el en 2313 diminuto para su proyecto, el proceso sería el mismo excepto que le queremos quitar el conector de puente, asegúrese de que el conjunto correcto de núcleos se instala en la carpeta "Hardware" y cambiar las asignaciones de pines en el sketch de "0" a "5" - por ejemploanalogWrite (0, brillo): se convierte analogWrite (5, brillo); Ver imagen 2 para hacer sentido de esto.
La mayoría de los comandos de control que se utilizaría para el Arduino está disponible en pequeño, pero algunos de los comandos de mayor función (cosas como tomar el control de los registros de Control de salida y los relojes internos) no absolutamente el puerto directamente porque los contadores de tiempo y por supuesto salidas no son lo mismo). Acuerdo con el High-Low Tech, deben disponerse de los siguientes comandos de Arduino:
pinMode()
digitalWrite()
digitalRead()
analogRead()
analogWrite()
shiftOut()
pulseIn()
Millis()
micros()
Delay()
delayMicroseconds()
SoftwareSerial (se ha actualizado en Arduino 1.0)
He utilizado todos estos y otros. Por ejemplo, Tone() parece funcionar sin problemas.
Así que la próxima vez usted tiene un gran proyecto de Arduino pero no quiere asignar permanentemente tu Arduino a, digamos, una alerta de puerta abierta o una tarjeta de felicitación intermitente, considere la línea en pequeño y si adicto, merecerá la pena el tiempo para hacer este programador hardware en lugar de gastarse su protoboard.