Programando un ATtiny 85 con Arduino

Seguí este tutorial y obtuve el siguiente error al intentar compilar y cargar el boceto attiny85:

avrdude: usbdev_open(): did not find any USB device "usb"

El attiny ya está soldado en un circuito (con dos leds, un zumbador, un botón y un sensor de brillo). ¿Esto puede causar el error?

Además, el attiny ya tiene un programa (que quiero sobrescribir), así que supongo que no necesito instalar el gestor de arranque.

Encontré dos archivos con los archivos de hardware attiny, uno que agrega ATtiny85 (con Arduino como ISP) y otro que agrega ATtiny 85 (reloj interno de 1Mhz) al menú de la placa. Cuando uso el primero (Arduino como ISP), solo puedo compilar el boceto parpadeante cuando agrego

#include <Arduino.h>
#include <wiring.h>

de lo contrario, dice que "SALIDA" no se declaró en este ámbito.

ACTUALIZACIÓN : lo probé con la configuración del programador en el menú de herramientas. Lo cambié a Arduino como ISP. El error ahora es diferente (tanto con la carga como con la carga usando el programador):

avrdude: stk500_getsync(): not in sync: resp=0x00

- Placa: ATtiny85 con Arduino como ISP - Programador como ISP - Puerto COM correcto (también probé el otro)

A veces recibo este error (solo con carga normal), que indica una carga exitosa de acuerdo con el tutorial, pero ATtiny aún ejecuta el programa que se instaló antes.

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
Y la pregunta es...?
@stevenvh ¿Qué puede causar el error? ¿Cómo puedo evitarlo?
¿ Estás siguiendo estas instrucciones ?
@Dean Sí, estas instrucciones son las mismas. Proporcionan diferentes archivos de "placa" (que van a la carpeta de hardware), pero ambos conducen al mismo error.
Es casi seguro que se trata de un error al no decirle a avrdude cómo hablar con el arduino como programador (o al no evitar que reinicie el arduino), en lugar de tener algo que ver con el chip/placa que está tratando de programar.

Respuestas (4)

ACTUALIZAR 2

Si el tiny está ejecutando un boceto, entonces ya debe tener un gestor de arranque.

Creo que hay muchos factores para estar equivocado aquí porque el tutorial fue escrito antes de Arduino 1.0. Creo que el de 1 mhz es un problema y es mejor evitarlo por ahora. El tin85 con Arduino ISP parece ser anterior a Arduino 1.0 y necesita compilarse correctamente.

En unos días tendré algo de tiempo, así que si no lo ha solucionado para entonces, espero darle algo de información.

Primero tomaré 2 arduinos, uno como ISP y otro como arduino normal. Necesitamos demostrar que el boceto del ISP funciona correctamente al cargar el parpadeo en un segundo arduino.

Una vez que se prueba el ISP con arduino 1.0, necesitamos ver por qué falla la compilación normal de tiny85. Es posible que haya una carpeta de hardware tiny85 actualizada para arduino 1.0 en la web, pero si no, podemos cambiar las fuentes de la carpeta de hardware tiny85 para usar 1.0 en su lugar (con suerte).

FYI: Usted menciona el arduino.h, en versiones anteriores a arduino 1.0 el archivo se llamaba wprogram.h, arduino 1.0 también espera algunas otras diferencias. Si el tiny85 incluye wprogram.h, creo que será un problema incluir también arduino.h

IDEA

Si tiene algo de tiempo libre, ¿por qué no va a arduino.cc y descarga la versión 0023 del IDE de arduino? (Todas las versiones anteriores de arduino están disponibles). Cargue el ejemplo de Arduino ISP en UNO usando 0023 y luego intente cargarlo en tiny85 (con arduino ISP) para el boceto parpadeante. Espero que 0023 funcione exactamente como el video, por lo que si falla, puede buscar el problema en el cableado del tiny85. Si funciona, sabremos que necesitamos actualizar la carpeta de hardware tiny85 al formato arduino 1.0

Si funciona en 0023, debe seguir las instrucciones anteriores de Deans para Arduino 1.0.1.

ACTUALIZAR

La única forma que puedo encontrar para reproducir el error que ve es si intento "Cargar usando el programador" cuando el programador está configurado en "AVRISP". Si cargo el boceto de ISP en un arduino e intento programar un tinyxx desconectado, obtengo diferentes errores.

Lo siento si estas son preguntas que hacen perder el tiempo, pero... ¿has hecho clic en "Cargar" en el ide de arduino o en "Cargar usando el programador"? Debe hacer clic en "Cargar" después de seleccionar ATTiny (con Arduino ISP) como placa.

Información..

Es un poco confuso, pero la definición de la placa para ATTiny xx (con Arduino ISP) fuerza la configuración correcta del programador para la "Carga" normal de arduino. En el ide de arduino, el elemento del menú "Cargar usando el programador" usa cualquier programador seleccionado en el menú "Herramientas>Programador", en este caso probablemente AVRISP mkII que, si no está conectado, producirá el error que ha informado.

Revisé esta parte del código ISP y originalmente tenía un retraso de 20.
De acuerdo, entonces lo que intenté ahora es desconectar todos los cables del arduino, cargar el boceto ArduinoISP, luego conectar un capacitor de 5uF entre el reinicio y la tierra con - a tierra y desenchufar y volver a enchufar el Arduino. El administrador de dispositivos muestra el Arduino UNO, pero no el ISP. ¿Se supone que debo ver una entrada de ISP en el administrador de dispositivos?
Ignora mi comentario sobre el administrador de dispositivos. Más información publicada anteriormente, ya que solo parece agregar un comentario de 1 línea
Actualicé la pregunta e informé qué sucede si configuro un programador.

¿Tiene AVRStudio instalado también? Si es así, su PC podría usar un "controlador incorrecto" para su programador AVRISP mkII.

El controlador que viene con AVRStudio no es compatible con avrdude. Vuelva a instalar el controlador (el que viene con avrdude/Arudino IDE) o use una PC diferente.

No parece haber un avrisp mkII involucrado
No tengo AVRStudio instalado en mi PC.

Busque ATtiny en YouTube y encontrará algunos videos que pueden ayudar, incluido mi esfuerzo: http://youtu.be/sqrknwcdXu8

Desenchufar y volver a enchufar puede solucionarlo . De lo contrario, es posible que desee ver una pregunta similar aquí .