[info] Paper ATtiny programmer

Hola a todos, especialmente a los que se quieran animar en la VirtualCamp con el proyecto: "Aplicaciones Stand Alone con ATtiny". Como este proyecto me pareció muy interesante, quisiera aportar mi granito de arena, y os dejo el siguiente Paper:

|200x300

NOTA: No he podido comprobar el correcto funcionamiento del programador, ya que pedí los ATtiny hace bastante tiempo, pero todavía no los he recibido. :0

Saludos

Muy curioso la verdad, para hacer algún circuito pequeño con un microcontrolador no esta nada mal :D

Tengo una duda, para que sirve el condensador entre el Reset y la masa del arduino?

Gracias Iñigo! Seguro que le dan buen uso los que cojan el proyecto

Por cierto, ElRodri, que yo sepa no hay ningún condensador de reset a masa, hay de reset al ftdi para que el IDE pueda reiniciar la placa http://brittonkerin.com/annotateduino/annotatable_duemilanove.html

Hola ElRodri

Parece ser que es necesario para que el Arduino UNO pueda programar el ATTiny (no es necesario para otros Arduinos)

(http://hlt.media.mit.edu/wiki/pmwiki.php?n=Main.ArduinoATtiny4585)

Saludos

Vale, ya lo veo... xD

Es un problema con el auto-reset del Arduino, para hacer de programador se le mete un sketch, pero el avrdude cuando abre el puerto serie para pasarle los datos a grabar al Arduino, este se reinicia, por lo que con el condensador se evita.

gracias inizul, por otro buen tutorial, yo también estoy esperando los mios (Tiny), :fearful: espero ver tus projectos en la virtual, en especial el Shield bluetooth. Agur.

Buen trabajo nuevamente.

Saludos.

Un aporte fenomenal, ahora al leer el articulo me ha llamado la atencion una cosa:

Los siguientes comandos de Arduino deberían funcionar correctamente:

pinMode() digitalWrite() digitalRead() analogRead() analogWrite() shiftOut() pulseIn() millis() micros() delay() delayMicroseconds()

¿¿Son los unicos comandos que funcionan???

no funcionaria un "if..else" o un "swich...case:1...case:2" ?????

shaktale: Los siguientes comandos de Arduino deberían funcionar correctamente:

pinMode() digitalWrite() digitalRead() analogRead() analogWrite() shiftOut() pulseIn() millis() micros() delay() delayMicroseconds()

¿¿Son los unicos comandos que funcionan???

no funcionaria un "if..else" o un "swich...case:1...case:2" ?????

Los ‘if’‚‘case’ y similares son parte del lenguaje de programación C, funcionan en cualquier compilador para cualquier máquina, pc de sobremesa, microcontrolador o nave espacial. Los comandos que se había marcado como válidos son funciones muy dependientes del microcontrolador, dependen del modelo específico, de la velocidad del reloj, del numero de entradas y su posición, y de mil y un factores. Por eso se había dicho que seguían funcionando.

Hola xlopez Aunque ya te ha contestado shaktale, creo que es conveniente comentar lo siguiente:

En vez de utilizar el core indicado en el enlace de la página: attiny45_85.zip (que no se sabe ni fecha ni edición)

Se podrían utilizar otros como: http://code.google.com/p/arduino-tiny/

En realidad no he encontrado mucha explicación de los comandos y librerías específicos para el ATtiny. No sé si se pueden utilizar Servo, Stepper, ...

Una buena idea (para los de la virtualCamp :roll_eyes: ) podría ser el averiguar cual de los cores es el más avanzado, comprobando su funcionamiento con las diferentes librerías.

Saludos

Hola Inizul. He estado mirando lo que dices y tienes razon, segun os archivos pins_arduino.c es mas actual el de http://code.google.com/p/arduino-tiny/ que el otro, 17-05-2010 el que propone Inizul frente a 09-10-2009 la que nos ponen el al pagina de Txapuzas, ademas añade varios "boards" mas y aparte del attiny45-85 tambien podemos usar el attiny84 y el 2313 con todas sus configuraciones de clock.

ATtiny84 @ 16 MHz (external crystal; 4.3 V BOD) ATtiny84 @ 8 MHz (internal oscillator; BOD disabled) ATtiny84 @ 1 MHz (internal oscillator; BOD disabled) ATtiny85 @ 16 MHz (external crystal; 4.3 V BOD) ATtiny85 @ 8 MHz (internal oscillator; BOD disabled) ATtiny85 @ 1 MHz (internal oscillator; BOD disabled) ATtiny45 @ 8 MHz ATtiny45 @ 1 MHz ATtiny25 @ 8 MHz ATtiny25 @ 1 MHz ATtiny2313 @ 8 MHz ATtiny2313 @ 1 MHz

Solo una consulta mas, sabeis si desde arduino se puede bloquear la lectura del chip con la configuracion de algun fuse, esto se puede hacer en los pics con "protec code", el chip ejecuta el codigo pero no deja que nadie lea su contenido, he buscado bastante pero no he encontrado nada sobre el tema en arduino.

Hola shaktale

Los micros AVR tienen los llamados Lock Bits que cumplen la función de "protect code" en los PICs.

Desde el entorno de programación no sé que archivos habría que modificar para que al grabar el sketch se activen, pero con cargándolo con avrdude directamente creo que podrás (yo no lo he intentado nunca). Tienes más información en: http://www.avrfreaks.net/index.php?module=Freaks%20Files&func=viewFile&id=382.

Saludos