presentacion_attinys
Transcript of presentacion_attinys
PROGRAMACIÓN DE
MICROCONTROLADORES
ATTINY MEDIANTE ISP A
TRAVÉS DE ARDUINO
ARDUINO ATTINY
MENGUAR UN PROYECTO DE
ARDUINO
VS
MICROCONTROLADORES
ATTINY I - PRESENTACIÓN
Son microcontroladores de ATMEL.
Son una subfamilia de microcontroladores
pertenecientes a la familia AVR (tinyAVR).
Son microcontroladores de 8 bits (de gama
baja/media).
Pueden funcionar hasta con solo 0.7V de
alimentación!!!
MICROCONTROLADORES
ATTINY II - COMPARATIVA
ATMEGA
328
(ARDUINO
UNO)
ATTINY
2313
ATTINY
4313
ATTINY
44
ATTINY
84
ATTINY
45
ATTINY
85
FLASH 32KB 2KB 4KB 4KB 8KB 4KB 8KB
SRAM 2KB 128B 256B 256B 512B 256B 512B
PINES UN
MONTÓN 20 20 14 14 8 8
UART SI SI SI NO NO NO NO
DADO ELECTRÓNICO I - EN
ARDUINO
randomSeed(micros() * analogRead(x))
random(1, 7)
DADO ELECTRÓNICO II – DEL
ATMEGA328 AL ATTINY85
Cosas a tener en cuenta:
Pines de conexión.
Frecuencia del micro (delay(), UART…).
IN SYSTEM PROGRAMING (ISP)
Permite programar los chips sin la necesidad de tener
que retirarlos de la placa de circuito donde se
encuentren.
Comunicación serie síncrona (mediante protocolo SPI).
MOSI, MISO, SCLK, SS
PROGRAMACIÓN ISP I - CORES
Instalación de cores:
Descargamos los “cores”:
Link: http://code.google.com/p/arduino-tiny/
Extraemos la carpeta tiny
Dirección de copia: C:\...\Arduino\hardware
PROGRAMACIÓN ISP II -
PROCESO
1º - Cargar el Sketch “ArduinoISP” al Arduino.
2º - Realizamos el conexionado attiny-Arduino.
3º - Cambiamos el programador utilizado a “Arduino as ISP”.
4º - Establecemos el dispositivo a programar (attinyX a Y MHz).
5º - Cargamos el Sketch.
PROGRAMACIÓN ISP III -
CONEXIONADO
PIN DE ARDUINO PIN DE ATTINY
Vcc 8
GND 4
10 1
11 5
12 6
13 7
DADO ELECTRÓNICO III –
REDUCIENDO CONSUMO
Dependiente, entre otros, de:
Tensión de alimentación.
Frecuencia de trabajo del microcontrolador.
Bajo consumo.
Attiny85 en bajo consumo:
DADO ELECTRÓNICO IV – BAJO
CONSUMO E INTERRUPCIONES
Uso del bajo consumo e interrupciones en AVRs:
#include <avr/interrupt.h>
#include <avr/sleep.h>
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
void aDormir()
{
attachInterrupt(0, Int0ISR, LOW); void Int0ISR()
{
sleep_enable(); detachInterrupt(INT0);
sleep_cpu(); }
sleep_disable();
}
PROGRAMACIÓN DE
MICROCONTROLADORES
ATTINY MEDIANTE ISP A
TRAVÉS DE ARDUINO