ARDUINO NANO
ATmega328
ARDUINO NANO
ARDUINO NANO
●
La placa Arduino Nano es una placa de
prueba pequeña y completa basada en el
µControlador ATmega328.
●
Tiene funcionalidad similar al modelo
Arduino Duemilanove, pero en un módulo
DIP.
●
Solo carece de jack de alimentación DC y
funciona con un cable USB Mini-B en lugar
de uno estándar.
ARDUINO NANO
●
µControlador ATmega328 con cargador de
inicio (Bootloader) preprogramado.
●
Tensión de entrada: 7 V a 12 V; límite 6 V a
20 V.
●
Memoria Flash de 32 KB (2 KB para
cargador de inicio).
●
Memoria SRAM de 2 KB.
●
Memoria EEPROM de 1 KB.
●
Admite comunicación serie IC.
●
Frecuencia de reloj: 16 MHZ.
ARDUINO NANO
●
Las características de entrada salida son
que cada uno de los 14 pines digitales del
Nano pueden usarse como entrada o salida,
usando las funciones pinMode(),
digitalWrite(), y digitalRead().
●
Operan a 5 voltios.
●
Cada pin puede proveer o recibir un
máximo de 40mA y poseen una resistencia
de pull-up (desconectada por defecto) de 20
a 50 kOhms.
ARDUINO NANO
Algunas funciones adicionales de los pines:
●
Serial: los pines 0 RX usado para recibir y 1 TX
usado para transmitir datos TTL vía serie. Estos
pines están unidos a los pines que corresponden
del chip USB-a-TTL de FTDI.
●
Interrupciones Externas: pines 2 y 3. Estos pines
pueden configurarse para activar una interrupción
por nivel bajo, por flanco de bajada, flanco de
subida ó por un cambio de valor. Informarse en la
función attachInterrupt() para más detalles.
ARDUINO NANO
...funciones adicionales de los pines:
●
PWM: los pines 3, 5, 6, 9, 10, y 11 proveen de
una salida PWM de 8-bits al usar la función
analogWrite().
●
SPI: pines 10 (SS), 11 (MOSI), 12 (MISO), 13
(SCK). Estos pines soportan la comunicación SPI,
la cual, a pesar de poseer el hardware, no está
actualmente soportada en el lenguaje Arduino.
●
Hay un LED conectado al pin digital 13. Si el pin
se encuentra en nivel alto, el LED está encendido,
de lo contrario: está apagado.
ARDUINO NANO
...funciones adicionales de los pines:
●
Posee 8 entradas analógicas, cada una tiene 10 bits
de resolución (1024 valores diferentes). Por defecto
miden entre 5 voltios y masa, pero es posible
cambiar el rango superior usando la función
analogReference(). También, algunos de estos pines
poseen funciones especiales:
I C: Pines 4 (SDA) y 5 (SCL). Para comunicación I 2C
● 2
(TWI) usando la librería Wire (documentación en la
web Wiring).
●
AREF: Pin de tensión de referencia para entradas
analógicas. Se configura con la función
analogReference().
ARDUINO NANO
Timers/Counters (Cronómetros/Contadores)
T/C’s 0 y 2
ARDUINO NANO
Timers/Counters (Cronómetros/Contadores)
ARDUINO NANO
Timers/Counters (Cronómetros/Contadores)
ARDUINO NANO
Timers/Counters (Cronómetros/Contadores)
f clk _ I / O
f OCnx =
2 N (1+OCRnx)
ARDUINO NANO
Timers/Counters (Cronómetros/Contadores)
ARDUINO NANO
Timers/Counters (Cronómetros/Contadores)
ARDUINO NANO
Timers/Counters (Cronómetros/Contadores)
ARDUINO NANO
Timers/Counters (Cronómetros/Contadores)
TCCR1A p170
TCCR1A p173
TIMSK1 184
TIFR1 185
ARDUINO NANO
Timers/Counters (Cronómetros/Contadores)
ARDUINO NANO
Timers/Counters (Cronómetros/Contadores)
ARDUINO NANO
Timers/Counters (Cronómetros/Contadores)
unsigned char salid; // Edo. del pin
voir setup(){
TCCR1A=0B00000000; // TC1 modo CTC
TCCR1B=0B00001011; //Prescaler de 64
OCR1A=1249; //frec int=frec_Timer(MÁX +1)=OCR1A
TIMSK1=0B00000010; // INTerrup x Comparacn
sei(); // Habilita INT’s Global
pinMode(13, OUTPUT); // Para ver la INT q funciona
}
void loop(){
}
ISR(TIMER1_COMPA_vect){
digitalWrite(13, salid); // Mostrar el estado actual
salid=!salid; // Cambiar la salida
}