Está en la página 1de 5

Comunicación

El Arduino Uno tiene varias facilidades para comunicarse con una


computadora, otro Arduino u otros microcontroladores. El ATmega328
proporciona comunicación en serie UART TTL (5V), que está disponible en
los pines digitales 0 (RX) y 1 (TX). Un ATmega16U2 en la placa canaliza esta
comunicación en serie a través de USB y aparece como un puerto virtual para
el software en la computadora. El firmware '16U2 usa los controladores COM
USB estándar y no se necesita ningún controlador externo. Sin embargo, en
Windows, se requiere un archivo .inf. El software Arduino incluye un monitor
serie que permite el envío de datos textuales simples hacia y desde la placa
Arduino. Los LED RX y TX de la placa parpadearán cuando los datos se
transmitan a través del chip de USB a serie y la conexión USB a la
computadora (pero no para la comunicación serial en los pines 0 y 1).
Una biblioteca de SoftwareSerial permite la comunicación serial en cualquiera
de los pines digitales de Uno.
El ATmega328 también es compatible con comunicación I2C (TWI) y SPI. El
software Arduino incluye una biblioteca Wire para simplificar el uso del bus
I2C; ver la documentación para más detalles. Para la comunicación SPI, use la
biblioteca SPI.

Programación
Arduino Uno se puede programar con el software Arduino (descargar).
Seleccione "Arduino Uno desde el menú Herramientas> Tablero (de acuerdo
con el microcontrolador en su tablero). Para más detalles, vea la referencia y
tutoriales.
El ATmega328 en el Arduino Uno viene pregrabado con un gestor de
arranque que le permite cargar un nuevo código sin el uso de un programador
de hardware externo. Se comunica utilizando el protocolo original STK500
(referencia, archivos de encabezado C).
También puede omitir el gestor de arranque y programar el microcontrolador a
través del encabezado ICSP (Programación serial en circuito); ver estas
instrucciones para más detalles.
El código fuente del firmware ATmega16U2 (o 8U2 en rev1 y rev2) está
disponible. El ATmega16U2 / 8U2 está cargado con un gestor de arranque
DFU, que puede ser activado por:
 En placas Rev1: conectando el puente de soldadura en la parte posterior de
la placa (cerca del mapa de Italia) y luego reiniciando el 8U2.
 En placas Rev2 o posteriores: hay una resistencia que tira de la línea HUB
8U2 / 16U2 a tierra, lo que facilita poner el modo DFU.
A continuación, puede usar el software FLIP de Atmel (Windows) o el
programador DFU (Mac OS X y Linux) para cargar un nuevo firmware. O
puede usar el encabezado del ISP con un programador externo
(sobrescribiendo el gestor de arranque DFU). Vea este tutorial contribuido por
el usuario para más información.
}

Restablecimiento automático (software)


En lugar de requerir una pulsación física del botón de reinicio antes de una
carga, el Arduino Uno está diseñado de manera tal que permite su reinicio
mediante un software que se ejecuta en una computadora conectada. Una de
las líneas de control de flujo de hardware (DTR) del ATmega8U2 / 16U2 está
conectada a la línea de reinicio del ATmega328 a través de un condensador de
100 nanofaradios. Cuando esta línea se afirma (se toma bajo), la línea de
reinicio cae lo suficiente como para restablecer el chip. El software Arduino
utiliza esta capacidad para permitirle cargar código simplemente presionando
el botón de carga en el entorno Arduino. Esto significa que el gestor de
arranque puede tener un tiempo de espera más corto, ya que la disminución de
DTR puede coordinarse bien con el inicio de la carga.
Esta configuración tiene otras implicaciones. Cuando el Uno está conectado a
una computadora con Mac OS X o Linux, se restablece cada vez que se realiza
una conexión desde el software (a través de USB). Durante el siguiente medio
segundo más o menos, el gestor de arranque se ejecuta en el Uno. Mientras
está programado para ignorar datos mal formados (es decir, cualquier cosa
además de una carga de código nuevo), interceptará los primeros bytes de
datos enviados a la placa después de que se abra una conexión. Si un boceto
que se ejecuta en la placa recibe una configuración de una sola vez u otros
datos cuando se inicia por primera vez, asegúrese de que el software con el
que se comunica espera un segundo después de abrir la conexión y antes de
enviar esta información.
El Uno contiene un rastro que se puede cortar para desactivar el reinicio
automático. Las almohadillas a cada lado de la traza pueden soldarse juntas
para volver a habilitarlo. Está etiquetado como "RESET-EN". También puede
desactivar el restablecimiento automático conectando una resistencia de 110
ohmios desde 5 V a la línea de reinicio; mira este hilo del foro para más
detalles.

Protección de sobreintensidad USB


El Arduino Uno tiene un polifuse reseteable que protege los puertos USB de
su computadora contra cortos y sobrecorrientes. Aunque la mayoría de las
computadoras proporcionan su propia protección interna, el fusible
proporciona una capa adicional de protección. Si se aplica más de 500 mA al
puerto USB, el fusible romperá automáticamente la conexión hasta que se
elimine el cortocircuito o la sobrecarga.

Características físicas
La longitud y el ancho máximo de la PCB Uno son de 2.7 y 2.1 pulgadas
respectivamente, con el conector USB y el conector de alimentación
extendiéndose más allá de la dimensión anterior. Cuatro orificios para
tornillos permiten que la placa se una a una superficie o caja. Tenga en cuenta
que la distancia entre los pines digitales 7 y 8 es de 160 mil (0.16 "), no es un
múltiplo par del espaciado de 100 mil de los otros pines.

Características
-Alto rendimiento, baja potencia Atmel®AVR® Familia de microcontroladores
de 8 bits.
-Arquitectura RISC avanzada
-131 Instrucciones de gran alcance: la mayoría de las ejecuciones de ciclo de
reloj único.
-Registros de trabajo de propósito general de 32 x 8.
-Segmentos de memoria no volátiles de alta resistencia 32K Bytes de la
memoria del programa Flash autoprogramable dentro del sistema, 1K Bytes
EEPROM y 2K Bytes internal SRAM.
-Ciclos de escritura / borrado: 10,000 Flash / 100,000 EEPROM̶ Retención de
datos: 20 años a 85 ° C / 100 años a 25 ° C.
LAS LIBRERÍAS OFICIALES
• Librería LiquidCrystal
Permite controlar pantallas de cristal líquido (LCDs) basadas en el chip
HD44780 de Hitachi (o compatibles, como el KS0066 de Samsung o el
ST7065C de Sitronix, entre otros). Este modelo de chip se encuentra en la
mayoría de LCDs de caracteres. La librería puede trabajar tanto en el modo 4-
bit como en 8-bit (es decir: puede utilizar tanto 4 como 8 líneas de datos).
Estudiaremos su uso en un apartado posterior de este capítulo.

• Librería EEPROM
Permite leer y escribir datos en la memoria EEPROM del microcontrolador.
Recordemos que en esta memoria puede mantener grabados los datos
aunque la placa deje de recibir alimentación eléctrica (o se resetee). Los
datos se guardan en forma de conjunto de bytes, así que en realidad pueden
ser de cualquier tipo. La mayor limitación que hay que tener en cuenta en
este tipo de memorias es la cantidad de veces que se pueden leer o escribir
datos en ella: según Atmel, la EEPROM del ATmega328P es capaz de soportar
100000 ciclos de lectura/escritura.

• Librería Ethernet
Permite conectar el Arduino Ethernet Shield o bien la placa Arduino Ethernet
(o similares) a una red Ethernet (TCP/IP). Se puede configurar para que la
placa actúe como servidor (es decir, que de forma permanente e
ininterrumpida escuche y acepte peticiones de otros dispositivos de la red
que soliciten algún tipo de servicio o dato ofrecido por ella) o bien como
cliente (es decir, que sea la placa la que solicite puntualmente esos servicios
o datos a otro dispositivo de red)
• Librería Wire
Permite comunicar mediante el protocolo I2C (también llamado TWI) la placa
Arduino con dispositivos externos. Tal como ya se ha comentado varias
veces, la comunicación se establece a través de los pines SDA (línea de datos,
ubicada en pin analógico 4 en la placa Arduino UNO) y SCL (línea de reloj,
ubicada en el pin analógico 5). Esta librería utiliza 7 bits para identificar el
dispositivo (lo que da la posibilidad de distinguir hasta 128 dispositivos
diferentes).
LENGUAJE DE PROGRAMACIÓN EN EL
ENTORNO ARDUINO
1. ESTRUCTURA
· setup() (inicialización)
· loop() (bucle)
Estructuras de control
· if (comparador si-entonces)
· if...else (comparador si...sino)
· for (bucle con contador)
· switch case (comparador múltiple)
· while (bucle por comparación booleana)
· do... while (bucle por comparación booleana)
· break (salida de bloque de código)
· continue (continuación en bloque de código)
· return (devuelve valor a programa)

También podría gustarte