Diferencia entre revisiones de «NANO»
(→Pines digitales) |
(→Referencias externas) |
||
(No se muestran 29 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
== Descripción == | == Descripción == | ||
+ | El Arduino Nano es una placa pequeña, compacta y fácil de usar basado en el ATmega328P (como [[UNO]]). Solo le falta la clavija de alimentación VCC, pero tiene el pin VIN y funciona con un cable USB Mini-B en lugar de uno estándar. | ||
+ | |||
+ | Esta basado en el uC ATmega328P de 8 bits a 16 MHz, perteneciente a la familia AVR de arquitectura RISC, 32 registros de trabajo, 3 temporizadores flexibles, UART serie, convertidos ADC de 14 canales de 10 bits. Encapsulado DIP de 28 pines. | ||
== Características == | == Características == | ||
Línea 26: | Línea 29: | ||
|Pines digitales||14 (6 PWM de 8 bits) | |Pines digitales||14 (6 PWM de 8 bits) | ||
|- | |- | ||
− | |Pines | + | |Pines analógicos||8 |
|- | |- | ||
|Corriente por pines||40 mA | |Corriente por pines||40 mA | ||
|- | |- | ||
− | |LED_BUILTIN||13 | + | |[[LED_BUILTIN]]||13 |
|} | |} | ||
− | == | + | == Interrupciones == |
+ | Interrupciones externas: 2 y 3. Estos pines se pueden configurar para activar una interrupción en un valor bajo, un flanco ascendente (RISING) o descendente (FALLING), o un cambio en el valor (CHANGE). Vea la función [[attachInterrupt()]] para más detalles. | ||
== Pines digitales == | == Pines digitales == | ||
* Existen 14 pines digitales (0~13) que pueden ser configurados como entrada o salida digital. | * Existen 14 pines digitales (0~13) que pueden ser configurados como entrada o salida digital. | ||
* No debes meter o sacar mas de 40 mA en cada una. | * No debes meter o sacar mas de 40 mA en cada una. | ||
− | * 6 de ellos están marcados con ~ y pueden ser usados como [[PWM]]. | + | * 6 de ellos están marcados con '''~''' y pueden ser usados como [[analogWrite()|PWM]]. 3, 5, 6, 9, 10 y 11. |
− | * Deben ser previamente configurados con pinMode(). | + | * Deben ser previamente configurados con [[pinMode()]]. |
== Pines analógicos == | == Pines analógicos == | ||
− | * Los pines marcados A0~ | + | * Los pines marcados A0~A7 se usan para hacer lecturas "analógicas" que son codificadas via un ADC. No es necesario usar [[pinMode()]]. |
− | * Usando la función [[analogRead()]] se obtiene lectura entre 0 (para 0V) y 1023 (para 5V). El rango puede alterarse | + | * Cada entrada analógica tiene una resolución de 10 bits. Usando la función [[analogRead()]] se obtiene lectura entre 0 (para 0V) y 1023 (para 5V). El rango puede alterarse fácilmente usando la función [[map()]] y/o suministrando un voltaje diferente al pin AREF. |
* Aquí puede poner alguna fuente de voltaje (de 0 a 5 V) como una "referencia de voltaje" precisa para las llamadas a la función [[analogRead()]]. | * Aquí puede poner alguna fuente de voltaje (de 0 a 5 V) como una "referencia de voltaje" precisa para las llamadas a la función [[analogRead()]]. | ||
− | * Los pines analógicos A0~A5 también pueden usarse para lectura/escritura digital. Para este propósito, puede referirse a ellos como pines 14~19. | + | * Los pines analógicos A0~A5 también pueden usarse para lectura/escritura digital. Para este propósito, puede referirse a ellos como pines 14~19. Los pines analógicos A6 y A7 no pueden ser usados como digitales. |
+ | |||
+ | == LEDs == | ||
+ | * Un LED power marcado como ON. | ||
+ | * Tiene un LED incorporado en el pin digital 13 denominado [[LED_BUILTIN]]. Cuando el pin 13 esta en HIGH prende. | ||
+ | * Dos LEDs de transmision serie Tx/Rx. | ||
+ | |||
+ | Los LED de Tx y Rx en la placa parpadearán cuando los datos se estén transmitiendo a través del chip FTDI y la conexión USB a la computadora, pero no para la comunicación en serie en los pines 0 y 1. | ||
+ | |||
+ | == Botones == | ||
+ | * Tiene un botón reset. | ||
+ | * Adicionalmente tiene un pin RST que con un LOW reiniciar el microcontrolador. Normalmente se usa para agregar un botón de reinicio con los modulos que bloquean el botón incorporado. | ||
+ | |||
+ | == ICSP == | ||
+ | * Exiten un conectores ICSP conectado al ATmega328P. | ||
+ | * Se usa para programar el uC ATmega328P principal (el más común) o el procesador de interfaz USB ATmega16U2 (solo si es necesario). | ||
+ | * El sistema ICSP usa [[SPI]] con un protocolo integrado en los chips. | ||
+ | |||
+ | {|class="wikitable" | ||
+ | !pin!!Descripcion | ||
+ | |- | ||
+ | |1||MISO | ||
+ | |- | ||
+ | |2||5V | ||
+ | |- | ||
+ | |3||SCK | ||
+ | |- | ||
+ | |4||MOSI | ||
+ | |- | ||
+ | |5||RST | ||
+ | |- | ||
+ | |6||GND | ||
+ | |} | ||
+ | |||
+ | {{Nota|La programación también se realiza normalmente usando la interfaz serie asíncrona (pines D0 / D1) y un programa de gestor de arranque instalado.}} | ||
== Puerto serie == | == Puerto serie == | ||
+ | Los pines 0 (Rx) y 1 (Tx) se pueden usar para comunicaciones serie asíncronas. | ||
− | == | + | Estos pines también están conectados internamente a través de resistencias de 1K al chip USB, de modo que los datos de la interfaz USB se pueden enviar/recibir a los pines 0 y 1. |
+ | |||
+ | Un FTDI FT232RL en la placa canaliza esta comunicación serie a través de USB y los controladores FTDI (incluidos con el software Arduino) proporcionan un puerto de comunicaciones virtual con una computadora. | ||
+ | |||
+ | {{Nota|La libreria [[SoftwareSerial]] permite la comunicación en serie por cualquiera de los pines digitales del Nano.}} | ||
+ | |||
+ | == Bus I2C == | ||
+ | Un protocolo '''Inter Integrated Circuit''' (también llamado TWI) usa una línea de reloj (SCL) junto con una línea de datos (SDA) para transferir información. Reloj serie | ||
+ | |||
+ | ;SCL (Serial Clock Line): La línea de reloj. Pin A5. Usada por I2C para indicar datos está lista en la línea de datos. | ||
+ | ;SDA (Serial Data Line): La línea de datos (bidireccional). Pin A4. Usada para datos seriales. | ||
+ | |||
+ | {{Nota|Para saber mas consulta la libreria [[Wire]].}} | ||
== Bus SPI == | == Bus SPI == | ||
+ | Un protocolo '''Serial Peripheral Interface''' usa una línea de reloj (SCK) junto con datos de maestro a esclavo (MOSI) y esclavo a maestro (MISO) para transferir información. También se usa comúnmente una línea de selección de esclavos (SS) para seleccionar un esclavo de entre múltiples. | ||
− | + | ;SCK (Serial Clock): Pin 13. Una línea de reloj generada por el maestro para "reloj" de datos al esclavo. | |
+ | ;MOSI (Master Out, Slave In): Pin 12. Los datos van del maestro al esclavo. | ||
+ | ;MISO (Master In, Slave Out): Pin 11. Los datos van del esclavo al maestro. | ||
+ | ;SS (Slave Select): Pin 10. Usado para seleccionar un esclavo. Típicamente se baja para estar activo. | ||
+ | |||
+ | {{Nota|Revisa la libreria [[SPI]] para saber como usarlo.}} | ||
== Rangos máximos == | == Rangos máximos == | ||
+ | Los pines IO tienen una calificación máxima absoluta de 40 mA por pin. Sin embargo, en la práctica, debe diseñar para que una clasificación de 20 mA sea segura. | ||
+ | |||
+ | Además, los siguientes grupos de pines no deben hundirse más de 100 mA (cada grupo): | ||
+ | * Pines digitales del D0 a D4 | ||
+ | * Pines digitales del D5 al D13 | ||
+ | * Pines analógicos del A0 a A7 | ||
+ | |||
+ | {|class="wikitable col1cen" | ||
+ | |+Banco de puertos ATmega328p | ||
+ | !Puerto!!2<sup>7</sup>!!2<sup>6</sup>!!2<sup>5</sup>!!2<sup>4</sup>!!2<sup>3</sup>!!2<sup>2</sup>!!2<sup>1</sup>!!2<sup>0</sup> | ||
+ | |- | ||
+ | |B||||||D13||D12||D11||D10||D9||D8 | ||
+ | |- | ||
+ | |C||A7||A6||A5||A4||A3||A2||A1||A0 | ||
+ | |- | ||
+ | |D||D7||D6||D5||D4||D3||D2||D1||D0 | ||
+ | |- | ||
+ | !Puerto!!128!!64!!32!!16!!8!!4!!2!!1 | ||
+ | |} | ||
+ | |||
+ | Además de eso, todo el chip del procesador tiene una calificación máxima de consumo de corriente de 200 mA. | ||
+ | |||
+ | Estas cifras generalmente se refieren a los pines en el modo de salida (el modo de entrada no consumirá mucha potencia). De modo que puede ver que, configurados como salidas, solo podría tener 10 pines que suministran 20 mA cada uno (para evitar exceder el máximo del chip) e incluso entonces tendrían que extenderse para que no consuma más de 100 mA de un grupo mencionado anteriormente. | ||
== Resistencias limitadoras de corriente == | == Resistencias limitadoras de corriente == | ||
+ | * Como regla general, si conecta un LED a un pin digital configurado como salida, querrá algo así como una resistencia de 330 ohm en serie con el diodo. * Esto se debe a que desea extraer algo así como 10 mA de corriente, con una caída de voltaje de 3V3 (el diodo cae 1V7, por lo que la resistencia suelta los otros 3V3 de un suministro de 5V). Usando la ley de Ohms, 3.3 / 0.010 = 330 ohmios. | ||
+ | |||
+ | {{Nota|Incluso una resistencia de 1K proporciona una salida de LED razonablemente brillante, y solo consume alrededor de 3.3 mA.}} | ||
== Fuente de alimentación == | == Fuente de alimentación == | ||
+ | La placa se puede alimentar desde el conector USB para probar mientras está conectado a una computadora o con una fuente de 5V. | ||
+ | |||
+ | Si usa un suministro externo, se recomienda un rango de voltaje entre 7~12V (por ejemplo, se podría usar una batería de 9V) por el pin VIN. | ||
+ | |||
+ | Tenga en cuenta que cuanto mayor sea el voltaje, más trabajo debe hacer el regulador de voltaje para "tirar" el exceso de voltaje, de modo que con un suministro de 12V o mas y alimentando bastantes "periféricos", es probable que el regulador de voltaje se caliente. | ||
+ | |||
+ | Por otro lado, el circuito interno está diseñado para cambiar de USB a externo si el suministro externo excede 6V6, por lo que el suministro de mucho menos de 7V probablemente no funcionará correctamente. | ||
== Polifusible == | == Polifusible == | ||
Línea 73: | Línea 163: | ||
* [[MKR1000]] | * [[MKR1000]] | ||
− | == Referencias == | + | == Referencias externas == |
* [https://www.arduino.cc/en/uploads/Main/Arduino_Nano-Rev3.2-SCH.pdf Esquema] | * [https://www.arduino.cc/en/uploads/Main/Arduino_Nano-Rev3.2-SCH.pdf Esquema] | ||
+ | * [http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf Datasheat 328P] - Microchip | ||
+ | * [http://www.gammon.com.au/uno Arduino UNO] - Nick Gammon | ||
+ | * [http://manueldelgadocrespo.blogspot.com/p/modelos_29.html Modelos de Arduino] - Manuel Delgado | ||
+ | * [https://descubrearduino.com/elegir-la-placa-arduino-adecuada-para-tu-proyecto-una-introduccion/ Que modelo comprar] - Descubre Arduino | ||
+ | * [https://aprendiendoarduino.wordpress.com/2016/11/06/hw-arduino-a-fondo/ Arduino a fondo] - Enrique Crespo | ||
+ | * [http://diymakers.es/guia-arduino/ Guia Arduino] - Diy Makers | ||
+ | |||
+ | [[Category:Placas]] |
Revisión actual del 16:31 4 jul 2019
Contenido
Descripción
El Arduino Nano es una placa pequeña, compacta y fácil de usar basado en el ATmega328P (como UNO). Solo le falta la clavija de alimentación VCC, pero tiene el pin VIN y funciona con un cable USB Mini-B en lugar de uno estándar.
Esta basado en el uC ATmega328P de 8 bits a 16 MHz, perteneciente a la familia AVR de arquitectura RISC, 32 registros de trabajo, 3 temporizadores flexibles, UART serie, convertidos ADC de 14 canales de 10 bits. Encapsulado DIP de 28 pines.
Características
Parámetro | Valor |
---|---|
uC | ATmega328P |
Bus | 8 bits |
Velocidad | 16 Mhz |
Memoria flash | 32KB (2KB para arranque) |
Memoria SRAM | 2KB |
Memoria EEPROM | 1KB |
Alimentación | 5V |
Entrada | 7~12V |
Entrada limite | 6~20V |
Pines digitales | 14 (6 PWM de 8 bits) |
Pines analógicos | 8 |
Corriente por pines | 40 mA |
LED_BUILTIN | 13 |
Interrupciones
Interrupciones externas: 2 y 3. Estos pines se pueden configurar para activar una interrupción en un valor bajo, un flanco ascendente (RISING) o descendente (FALLING), o un cambio en el valor (CHANGE). Vea la función attachInterrupt() para más detalles.
Pines digitales
- Existen 14 pines digitales (0~13) que pueden ser configurados como entrada o salida digital.
- No debes meter o sacar mas de 40 mA en cada una.
- 6 de ellos están marcados con ~ y pueden ser usados como PWM. 3, 5, 6, 9, 10 y 11.
- Deben ser previamente configurados con pinMode().
Pines analógicos
- Los pines marcados A0~A7 se usan para hacer lecturas "analógicas" que son codificadas via un ADC. No es necesario usar pinMode().
- Cada entrada analógica tiene una resolución de 10 bits. Usando la función analogRead() se obtiene lectura entre 0 (para 0V) y 1023 (para 5V). El rango puede alterarse fácilmente usando la función map() y/o suministrando un voltaje diferente al pin AREF.
- Aquí puede poner alguna fuente de voltaje (de 0 a 5 V) como una "referencia de voltaje" precisa para las llamadas a la función analogRead().
- Los pines analógicos A0~A5 también pueden usarse para lectura/escritura digital. Para este propósito, puede referirse a ellos como pines 14~19. Los pines analógicos A6 y A7 no pueden ser usados como digitales.
LEDs
- Un LED power marcado como ON.
- Tiene un LED incorporado en el pin digital 13 denominado LED_BUILTIN. Cuando el pin 13 esta en HIGH prende.
- Dos LEDs de transmision serie Tx/Rx.
Los LED de Tx y Rx en la placa parpadearán cuando los datos se estén transmitiendo a través del chip FTDI y la conexión USB a la computadora, pero no para la comunicación en serie en los pines 0 y 1.
Botones
- Tiene un botón reset.
- Adicionalmente tiene un pin RST que con un LOW reiniciar el microcontrolador. Normalmente se usa para agregar un botón de reinicio con los modulos que bloquean el botón incorporado.
ICSP
- Exiten un conectores ICSP conectado al ATmega328P.
- Se usa para programar el uC ATmega328P principal (el más común) o el procesador de interfaz USB ATmega16U2 (solo si es necesario).
- El sistema ICSP usa SPI con un protocolo integrado en los chips.
pin | Descripcion |
---|---|
1 | MISO |
2 | 5V |
3 | SCK |
4 | MOSI |
5 | RST |
6 | GND |
Nota: La programación también se realiza normalmente usando la interfaz serie asíncrona (pines D0 / D1) y un programa de gestor de arranque instalado.
Puerto serie
Los pines 0 (Rx) y 1 (Tx) se pueden usar para comunicaciones serie asíncronas.
Estos pines también están conectados internamente a través de resistencias de 1K al chip USB, de modo que los datos de la interfaz USB se pueden enviar/recibir a los pines 0 y 1.
Un FTDI FT232RL en la placa canaliza esta comunicación serie a través de USB y los controladores FTDI (incluidos con el software Arduino) proporcionan un puerto de comunicaciones virtual con una computadora.
Nota: La libreria SoftwareSerial permite la comunicación en serie por cualquiera de los pines digitales del Nano.
Bus I2C
Un protocolo Inter Integrated Circuit (también llamado TWI) usa una línea de reloj (SCL) junto con una línea de datos (SDA) para transferir información. Reloj serie
- SCL (Serial Clock Line)
- La línea de reloj. Pin A5. Usada por I2C para indicar datos está lista en la línea de datos.
- SDA (Serial Data Line)
- La línea de datos (bidireccional). Pin A4. Usada para datos seriales.
Nota: Para saber mas consulta la libreria Wire.
Bus SPI
Un protocolo Serial Peripheral Interface usa una línea de reloj (SCK) junto con datos de maestro a esclavo (MOSI) y esclavo a maestro (MISO) para transferir información. También se usa comúnmente una línea de selección de esclavos (SS) para seleccionar un esclavo de entre múltiples.
- SCK (Serial Clock)
- Pin 13. Una línea de reloj generada por el maestro para "reloj" de datos al esclavo.
- MOSI (Master Out, Slave In)
- Pin 12. Los datos van del maestro al esclavo.
- MISO (Master In, Slave Out)
- Pin 11. Los datos van del esclavo al maestro.
- SS (Slave Select)
- Pin 10. Usado para seleccionar un esclavo. Típicamente se baja para estar activo.
Nota: Revisa la libreria SPI para saber como usarlo.
Rangos máximos
Los pines IO tienen una calificación máxima absoluta de 40 mA por pin. Sin embargo, en la práctica, debe diseñar para que una clasificación de 20 mA sea segura.
Además, los siguientes grupos de pines no deben hundirse más de 100 mA (cada grupo):
- Pines digitales del D0 a D4
- Pines digitales del D5 al D13
- Pines analógicos del A0 a A7
Puerto | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
---|---|---|---|---|---|---|---|---|
B | D13 | D12 | D11 | D10 | D9 | D8 | ||
C | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 |
D | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
Puerto | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Además de eso, todo el chip del procesador tiene una calificación máxima de consumo de corriente de 200 mA.
Estas cifras generalmente se refieren a los pines en el modo de salida (el modo de entrada no consumirá mucha potencia). De modo que puede ver que, configurados como salidas, solo podría tener 10 pines que suministran 20 mA cada uno (para evitar exceder el máximo del chip) e incluso entonces tendrían que extenderse para que no consuma más de 100 mA de un grupo mencionado anteriormente.
Resistencias limitadoras de corriente
- Como regla general, si conecta un LED a un pin digital configurado como salida, querrá algo así como una resistencia de 330 ohm en serie con el diodo. * Esto se debe a que desea extraer algo así como 10 mA de corriente, con una caída de voltaje de 3V3 (el diodo cae 1V7, por lo que la resistencia suelta los otros 3V3 de un suministro de 5V). Usando la ley de Ohms, 3.3 / 0.010 = 330 ohmios.
Nota: Incluso una resistencia de 1K proporciona una salida de LED razonablemente brillante, y solo consume alrededor de 3.3 mA.
Fuente de alimentación
La placa se puede alimentar desde el conector USB para probar mientras está conectado a una computadora o con una fuente de 5V.
Si usa un suministro externo, se recomienda un rango de voltaje entre 7~12V (por ejemplo, se podría usar una batería de 9V) por el pin VIN.
Tenga en cuenta que cuanto mayor sea el voltaje, más trabajo debe hacer el regulador de voltaje para "tirar" el exceso de voltaje, de modo que con un suministro de 12V o mas y alimentando bastantes "periféricos", es probable que el regulador de voltaje se caliente.
Por otro lado, el circuito interno está diseñado para cambiar de USB a externo si el suministro externo excede 6V6, por lo que el suministro de mucho menos de 7V probablemente no funcionará correctamente.
Polifusible
Vea también
Referencias externas
- Esquema
- Datasheat 328P - Microchip
- Arduino UNO - Nick Gammon
- Modelos de Arduino - Manuel Delgado
- Que modelo comprar - Descubre Arduino
- Arduino a fondo - Enrique Crespo
- Guia Arduino - Diy Makers