Diferencia entre revisiones de «UNO»

De ArduWiki
Saltar a: navegación, buscar
(I2C)
(Referencias externas)
 
(No se muestran 35 ediciones intermedias del mismo usuario)
Línea 27: Línea 27:
 
|Entrada limite||6~20V
 
|Entrada limite||6~20V
 
|-
 
|-
|Pines digitales||14 (6 PWM)
+
|Pines digitales||14 (6 PWM de 8 bits)
 
|-
 
|-
|Pines analogicos||6
+
|Pines analógicos||6
 
|-
 
|-
 
|Corriente por pines||20 mA
 
|Corriente por pines||20 mA
 
|-
 
|-
|LED_BUILTIN||13
+
|[[LED_BUILTIN]]||13
 
|}
 
|}
  
 
== Pines ==
 
== Pines ==
;PWM: Algunos pines, marcados con un símbolo "~" en la placa, admiten PWM, es decir, impulsos rápidos que se pueden usar para controlar motores a varias velocidades o reproducir música (variando la frecuencia de pulso, modulación de ancho de pulso ). Son 3, 5, 6, 9, 10 y 11.
+
;PWM: Algunos pines, marcados con un símbolo "~" en la placa, admiten [[analogWrite()|PWM]], es decir, impulsos rápidos que se pueden usar para controlar motores a varias velocidades o reproducir música (variando la frecuencia de pulso, modulación de ancho de pulso ). Son 3, 5, 6, 9, 10 y 11. Los pines 5 y 6 tienen una frecuencia de 980 Hz el resto de pines tienen una frecuencia de 490 Hz.
 
;USB: Universal Serial Bus. Se usa para comunicarse a través del protocolo USB con una computadora host (para programar o enviar / recibir datos en serie). Son Rx (0) y Tx (1), por lo que no se recomienda reasignarlos para otra función si requeriras usan el monitor serie por ejemplo.
 
;USB: Universal Serial Bus. Se usa para comunicarse a través del protocolo USB con una computadora host (para programar o enviar / recibir datos en serie). Son Rx (0) y Tx (1), por lo que no se recomienda reasignarlos para otra función si requeriras usan el monitor serie por ejemplo.
 
;VCC: La línea de "potencia". Generalmente + 5V en el Arduino Uno.  
 
;VCC: La línea de "potencia". Generalmente + 5V en el Arduino Uno.  
 
;Vin: El voltaje en la placa. En general, esto será aproximadamente 0V7 menos que el voltaje suministrado la "clavija de alimentación" debido al diodo de protección de polaridad inversa. No se recomienda extraer energía de Vin si está alimentando el Arduino desde el puerto USB.  
 
;Vin: El voltaje en la placa. En general, esto será aproximadamente 0V7 menos que el voltaje suministrado la "clavija de alimentación" debido al diodo de protección de polaridad inversa. No se recomienda extraer energía de Vin si está alimentando el Arduino desde el puerto USB.  
;5V:
+
;5V:Fuente de maximo 50 mA
;3.3V: Fuente de maximo 50 mA
+
;3.3V:Fuente de maximo 50 mA
;GND: Tierra.
+
;GND:Tierra.
;RESET: Pin de reset
+
;RESET:Pin de reset
;IOREF: La referencia de tensión IO (conectada a + 5V). Destinado a permitir que los escudos (Sheeld) vean si la placa Arduino está funcionando a 5V o 3V3.  
+
;IOREF:La referencia de tensión IO (conectada a + 5V). Destinado a permitir que los escudos (Sheeld) vean si la placa Arduino está funcionando a 5V o 3V3.  
;AREF: Referencia de lectura analógica.
+
;AREF:Referencia de lectura analógica.
;ISCP:
+
;ISCP:Esta placa Arduino posee una entrada ICSP (In Chip Serial Programmer) que tiene acceso a la memoria de programa del AVR (Flash), ésto es, que puede grabar directamente desde el PC al microcontrolador cualquier programa sin usar el puerto USB. Uno de ellos, el mismo Bootloader de Arduino.
 +
;Interrupciones:Los pines digitales 2 y 3 corresponden a INT0 e INT1.
  
 
== 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]].
* Deben ser previamente configurados
+
* Deben ser previamente configurados con [[pinMode()]].
<pre>
 
pinMode(pin, OUTPUT);
 
pinMode(pin, INPUT);
 
pinMode(pin, INPUT_PULLUP);
 
</pre>
 
  
 
== Pines analógicos ==
 
== Pines analógicos ==
Línea 67: Línea 63:
  
 
<pre>
 
<pre>
 +
pinMode(19, OUTPUT);
 
digitalWrite(19, HIGH);
 
digitalWrite(19, HIGH);
 
</pre>
 
</pre>
 +
 +
== LEDs ==
 +
* Tiene un LED incorporado llamado [[LED_BUILTIN]] en el pin digital 13. Cuando el pin 13 esta en HIGH prende.
 +
* Dos LEDs de transmision serie Tx/Rx.
 +
 +
== 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 dos conectores ICSP uno conectado al ATmega328P y el otro al ATmega16U2.
 +
* 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 utilizando la interfaz serie asíncrona (pines D0 / D1) y un programa de gestor de arranque instalado.}}
  
 
== Puerto serie ==
 
== Puerto serie ==
Línea 75: Línea 103:
 
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.
 
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.
  
== ICSP ==
+
{{Nota|La libreria [[SoftwareSerial]] permite la comunicación en serie por cualquiera de los pines digitales del Nano.}}
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.  
+
== 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
  
{{Nota|La programación también se realiza normalmente utilizando la interfaz serie asíncrona (pines D0 / D1) y un programa de gestor de arranque instalado.}}
+
;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.
  
== SPI ==
+
{{Nota|Para saber mas consulta la libreria [[Wire]].}}
Un protocolo en serie que 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. Una línea de reloj generada por el maestro para "reloj" de datos al esclavo.
+
== Bus SPI ==
;MOSI: Master Out, Slave In. Los datos van del maestro al esclavo.
+
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.  
;MISO: Master In, Slave Out. Los datos van del esclavo al maestro.
 
;SS: Slave Select. Usado para seleccionar un esclavo. Típicamente se baja para estar activo.
 
  
== Bus I2C ==
+
;SCK (Serial Clock): Pin 13. Una línea de reloj generada por el maestro para "reloj" de datos al esclavo.
Un protocolo en serie que utiliza una línea de reloj (SCL) junto con una línea de datos (SDA) para transferir información. Reloj serie
+
;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.
  
;SCL: La línea de reloj utilizada por I2C para indicar datos está lista en la línea de datos. Datos seriales
+
{{Nota|Revisa la libreria [[SPI]] para saber como usarlo.}}
;SDA: La línea de datos (bidireccional) utilizada por I2C.
 
  
 
== Rangos máximos ==
 
== Rangos máximos ==
Línea 108: Línea 135:
 
!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>
 
!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>
 
|-
 
|-
|PB||||||D13||D12||D11||D10||D9||D8
+
|B||||||D13||D12||D11||D10||D9||D8
 
|-
 
|-
|PC||||||A5||A4||A3||A2||A1||A0
+
|C||||||A5||A4||A3||A2||A1||A0
 
|-
 
|-
|PD||D7||D6||D5||D4||D3||D2||D1||D0
+
|D||D7||D6||D5||D4||D3||D2||D1||D0
 +
|-
 +
!Puerto!!128!!64!!32!!16!!8!!4!!2!!1
 
|}
 
|}
  
Línea 127: Línea 156:
 
La placa se puede alimentar desde el conector USB para probar mientras está conectado a una computadora o con una fuente de 5V.  
 
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).  
+
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). Use la clavija.
  
 
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.  
 
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.
 
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 ==
 +
El Arduino UNO R3 tiene un polifusible reseteable que protege el puerto USB (pin 1 de +5V) de su computadora contra cortos y sobrecargas. Si se extrae más de 500 mA del puerto USB, el fusible se cortara automáticamente hasta que se elimine el cortocircuito o la sobrecarga. Tipo MSMF050-2.
  
 
== Vea también ==
 
== Vea también ==
 +
* [[MINI]]
 +
* [[MICRO]]
 +
* [[NANO]]
 
* [[MEGA]]
 
* [[MEGA]]
 +
* [[DUE]]
 +
* [[101]]
 +
* [[LEONARDO]]
 
* [[MKR1000]]
 
* [[MKR1000]]
 +
* [[NodeMCU]] - ESP8266
  
== Referencias ==
+
== Referencias externas ==
 
* [https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf Esquema]
 
* [https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf Esquema]
* [http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf Datasheat 328P]
+
* [https://www.arduino.cc/en/Hacking/Atmega168Hardware ATmega168 pin mapping] - Arduino
* [http://www.gammon.com.au/uno Nick Gammon]
+
* [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
 +
* [https://www.luisllamas.es/esquema-de-patillaje-de-arduino-pinout/ Esquema de patillaje de Arduino] - Luis Llamas
 +
* [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:10 26 sep 2019

Descripción

Arduino UNO es la mejor placa para comenzar a usar la electrónica y la codificación. Si esta es tu primera experiencia jugando con la plataforma Arduino, la UNO es la placa más robusta, usada y documentada de la familia.

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

Especificaciones técnicas
Parámetro Valor
uC ATmega328P
Bus 8 bits
Velocidad 16Mhz
Memoria flash 32KB (0.5KB 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 6
Corriente por pines 20 mA
LED_BUILTIN 13

Pines

PWM
Algunos pines, marcados con un símbolo "~" en la placa, admiten PWM, es decir, impulsos rápidos que se pueden usar para controlar motores a varias velocidades o reproducir música (variando la frecuencia de pulso, modulación de ancho de pulso ). Son 3, 5, 6, 9, 10 y 11. Los pines 5 y 6 tienen una frecuencia de 980 Hz el resto de pines tienen una frecuencia de 490 Hz.
USB
Universal Serial Bus. Se usa para comunicarse a través del protocolo USB con una computadora host (para programar o enviar / recibir datos en serie). Son Rx (0) y Tx (1), por lo que no se recomienda reasignarlos para otra función si requeriras usan el monitor serie por ejemplo.
VCC
La línea de "potencia". Generalmente + 5V en el Arduino Uno.
Vin
El voltaje en la placa. En general, esto será aproximadamente 0V7 menos que el voltaje suministrado la "clavija de alimentación" debido al diodo de protección de polaridad inversa. No se recomienda extraer energía de Vin si está alimentando el Arduino desde el puerto USB.
5V
Fuente de maximo 50 mA
3.3V
Fuente de maximo 50 mA
GND
Tierra.
RESET
Pin de reset
IOREF
La referencia de tensión IO (conectada a + 5V). Destinado a permitir que los escudos (Sheeld) vean si la placa Arduino está funcionando a 5V o 3V3.
AREF
Referencia de lectura analógica.
ISCP
Esta placa Arduino posee una entrada ICSP (In Chip Serial Programmer) que tiene acceso a la memoria de programa del AVR (Flash), ésto es, que puede grabar directamente desde el PC al microcontrolador cualquier programa sin usar el puerto USB. Uno de ellos, el mismo Bootloader de Arduino.
Interrupciones
Los pines digitales 2 y 3 corresponden a INT0 e INT1.

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.
  • Deben ser previamente configurados con pinMode().

Pines analógicos

  • Los pines marcados A0~A5 se usan para hacer lecturas "analógicas" que son codificadas via un ADC.
  • Usando la función analogRead() se obtiene lectura entre 0 (para 0V) y 1023 (para 5V). El rango puede alterarse mediante una programación adecuada 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 a 19.
pinMode(19, OUTPUT);
digitalWrite(19, HIGH);

LEDs

  • Tiene un LED incorporado llamado LED_BUILTIN en el pin digital 13. Cuando el pin 13 esta en HIGH prende.
  • Dos LEDs de transmision serie Tx/Rx.

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 dos conectores ICSP uno conectado al ATmega328P y el otro al ATmega16U2.
  • 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 utilizando 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.

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 A5
Banco de puertos ATmega328p
Puerto 27 26 25 24 23 22 21 20
B D13 D12 D11 D10 D9 D8
C 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). Use la clavija.

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

El Arduino UNO R3 tiene un polifusible reseteable que protege el puerto USB (pin 1 de +5V) de su computadora contra cortos y sobrecargas. Si se extrae más de 500 mA del puerto USB, el fusible se cortara automáticamente hasta que se elimine el cortocircuito o la sobrecarga. Tipo MSMF050-2.

Vea también

Referencias externas