0% encontró este documento útil (0 votos)
28 vistas15 páginas

Introduccion A Arduino...

introducción al mundo del Arduino

Cargado por

damianchuloo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
28 vistas15 páginas

Introduccion A Arduino...

introducción al mundo del Arduino

Cargado por

damianchuloo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 15

10/4/2020 Guía Arduino – DIYMakers

(http://diymakers.es/)

11 síntomas del cáncer que probablemente estas


ignorando
Health & Human Research

GUÍA ARDUINO

(25/11/13)

Arduino es una plataforma de hardware libre, basado en una placa con un microcontrolador y un software.
Diseñado para artistas, diseñadores y a cionados a la electrónica interesados en crear proyectos.

diymakers.es/guia-arduino/ 1/17
10/4/2020 Guía Arduino – DIYMakers

El Software consiste en un entorno de desarrollo que implementa el lenguaje de programación


Processing/Wiring, muy parecido al lenguaje C. El programa en cuestión es el IDE (Integrated Development
Environment).

El Hardware consiste en una placa de desarrollo con un microcontrolador ATmega y pins de entradas y
salidas analógicas y digitales.

Para esta guía utilizaremos el modelo Arduino Uno Rev 3, que es la placa Arduino básica.

Hardware

Microcontrolador: Las placas Arduino usan el microcontrolador ATmega. Hay varios tipos, ATmega2560,
ATmega 32u4, ATmega328… El Arduino Uno REV 3 el ATmega 328.

Reloj: Cristal de cuarzo de 16MHZ

Memoria:

-Memoria ash de 32KB (dentro del ATmega 328) 0,5KB de estos los usa el bootloader.

diymakers.es/guia-arduino/ 2/17
10/4/2020 Guía Arduino – DIYMakers

-SRAM de 2KB (dentro del ATmega 328)

-EEPROM de 1KB (dentro del ATmega 328)

I/O (Entradas/Salidas): El Arduino Uno tiene 14 pins I/O digitales que operan a 5V (6 de estos tienen salida
PWM). Cada pin puede dar y recibir un máximo de 40mA. Algunos pins tienen características especiales:

-Serial: 0 (RX) y 1 (TX). Estos pins se usan para la comunicación serie. Están conectados al chip ATmega 16u2
para la conversión USB a TTL Serial data.

-PWM (Pulse-Width Modulation): 3,6,5,9,10,11. Proporcionan una salida PWM de 8 bits a 490Hz.

-SPI: 10(SS), 11(MOSI), 12(MISO), 13(SCK). Estos pins soportan la comunicación SPI.

-External Interrupts: 2 y 3. Estos pins se pueden con gurar para llamar una función del programa cuando
reciben una interrupción externa.

-LED: 13. Hay un LED conectado al pin 13. Cuando el pin tiene un valor HIGH, el LED se enciende. Cuando el
pin tiene un valor LOW, el led se apaga .

El Arduino Uno también tiene 6 entradas analógicas (A0 a A5). Cada pin tiene 10 bits(1024 valores) y
trabajan a 5V. También hay pins analógicos con características especiales:

-I2C: A4 o pin SDA y A5 o pin SCL. Soportan la comunicación I2C (TWI).

-AREF: Voltaje de referencia de las entradas analógicas. Sirve para cambiar a través de programación el
voltaje máximo de entrada de los pins analógicos.

-Reset. Colocando este pin a LOW se reinicia el programa.

POWER: El Arduino Uno puede alimentarse a través de la conexión USB o con una alimentación externa DC
a través del conector jack o los pins Vin y GND. La placa aguanta un mínimo de 6V y un máximo de 20V,
aunque es recomendable alimentarla entre 7V – 12V para evitar dañar la placa.

Pins de alimentación:

-Vin: Entrada positiva para alimentación externa.

-GND: Pin de masa (ground).

-5V: Este pin proporciona 5V de salida del regulador de la placa.

-3.3V: Este pin proporciona 3,3V de salida del regulador de la placa y un máximo de 50mA.

Comunicación: El Arduino Uno puede comunicase con un ordenador, otra placa Arduino o otros
microcontroladores a través del puerto serie utilizando los pin 0(RX) y 1(TX). El chip ATmega 16u2 de la
placa convierte la comunicación serie a USB y aparece como un puerto virtual (COM) al ordenador. En la
placa hay dos leds (RX y TX) los cuales parpadean cuando hay una transmisión de datos vía Serial to USB
con el ordenador (pero no parpadean cuando hay una comunicación Serial con los pins 0 y 1).

El Atmega328 también soporta comunicaciones I2C y comunicaciones SPI.

diymakers.es/guia-arduino/ 3/17
10/4/2020 Guía Arduino – DIYMakers

Software
Arduino tiene su propio lenguaje de programación, muy parecido al lenguaje C. Los que tienen experiencia
en este verán que realmente se parecen bastante y les será más fácil programar.

Para programar el Arduino es necesario el programa IDE de Arduino, se puede descargar desde la página
de Arduino aquí (http://arduino.cc/en/Main/Software). Después de la descarga, encontrareis una carpeta
con varios archivos. En estos archivos hay el Arduino.exe que es la instalación del programa y una carpeta
que pone drivers que contiene los controladores para que el PC reconozca el Arduino.

Para instalar estos drivers en Windows tenéis que ir Inicio, Equipo, clic botón derecho, Propiedades. Aquí
dentro, en el margen izquierdo clic a Administrador de dispositivos. Si el Arduino está conectado a través
de USB aparecerá como un dispositivo desconocido. Hacer clic derecho a este e ir a Actualizar Software
Controlador. Luego se elige Buscar Software Controlador en el equipo y seleccionar la carpeta drivers de los
archivos descargados antes. Ahora la placa Arduino está lista para programarla.

diymakers.es/guia-arduino/ 4/17
10/4/2020 Guía Arduino – DIYMakers

Al abrir el programa IDE nos encontraremos esto:

diymakers.es/guia-arduino/ 5/17
10/4/2020 Guía Arduino – DIYMakers

A- Actualizar: El programa revisa el código que hemos escrito y si hay algún error nos lo remarca.

B-Cargar: Sirve para cargar el código a la tarjeta Arduino.

C-Nuevo: Para crear un nuevo proyecto.

D- Abrir: Para abrir un proyecto guardado.

E- Guardar: Guarda el proyecto que estamos haciendo.

diymakers.es/guia-arduino/ 6/17
10/4/2020 Guía Arduino – DIYMakers

La primera vez que instalamos el programa tenemos que seleccionar la placa Arduino que vamos a
programar. Vamos a Herrmientas, Tarjeta y seleccionamos nuestro modelo de placa Arduino, en este caso
Arduino Uno.

Una vez hecho esto, podemos empezar a programar.

Programación
Estructura de programación

La estructura básica del lenguaje de programación de Arduino es muy simple, se compone de dos partes.
Dichas dos partes son funciones: setup() y loop().

void setup()

void loop()

La función setup() es la encargada de la con guración del programa. Se invoca una sola vez al iniciar el
programa y sirve para inicializar los modos de trabajo de los pins y el puerto serial.

diymakers.es/guia-arduino/ 7/17
10/4/2020 Guía Arduino – DIYMakers

La función loop() contiene el programa que se ejecutará cíclicamente. Esta función es el núcleo de todo el
programa.

Variables

Una variable sirve para guardar un valor numérico que variara en el programa en función de la operación
que hagamos con ella. Las variables se pueden declarar en dos partes:

-Variables Globales: son variables que se declaran al inicio del programa (antes del setup()), y puede ser
utilizada en cualquier función del programa.

-Variables Locales: son variables declaradas dentro de una función y solo puede ser utilizada dentro
de dicha función.

Hay varios tipos de variables:

-Byte: Almacena un valor numérico de 8 bits sin decimales en un rango entre 0 y 255.

-Int: Enteros almacena un valor numérico de 16 bits sin decimales en un rango entre 32767 a -32768.

-Long: Almacena valores enteros de 32 bits sin decimales en un rango entre 2147483647 a -2147483648.

-Float: Almacena valores de punto otante de 32 bits con decimales en un rango entre 3.4028235E +38 a
-3.4028235E +38.

-Char: Es un tipo de dato que ocupa un byte de memoria y almacena un valor de carácter. Los carácteres
literales se escriben con comillas simples: ‘A’ (para varios carácteres -strings- utiliza dobles comillas «ABC»).

Declaración de variables

Para declarar una variable se comienza por de nir su tipo (int, byte, oat, etc…), se asigna un nombre, y
nalmente asignándole un valor.

int variable = 34;

Aritmética

En el programa se pueden utilizar las operaciones aritméticas de suma, resta, multiplicación y división.

x=x+5;

y=y-10;

r=r*3;

t=t/6;

Operadores de comparación

Las comparaciones de variables se usan con frecuencia en las estructuras if para testear si una condición
es verdadera:

x==y // x es igual que y

x!=y //x no es igual a y

diymakers.es/guia-arduino/ 8/17
10/4/2020 Guía Arduino – DIYMakers

x<y //x es menor que y

x>y //x es mayor que y

x<=y //x es menor o igual que y

x>=y //x es mayor o igual que y

Operaciones lógicas

Las operaciones lógicas se usan para comparar dos expresiones para saber si es Verdadero o Falso.
Existen tres tipos: AND(&&), OR(||) y NOT(!).

AND (&&): Verdadero solo si las dos expresiones son ciertas.

if (x==1 && Y==4)

OR(||): Verdadero si una expresión o las dos son ciertas.

if (x>0 || y>45)

NOT (!): Verdadero si la expresión es falsa.

if (x!=3)

Constantes

Las constantes son valores predeterminados del lenguaje de programación de Arduino.

-TRUE/FALSE: TRUE es lo mismo que 0 y FALSE es lo mismo que 1.

-HIGH/LOW: Estas constantes se utilizan para la escritura o lectura de los pins I/O. HIGH es 1 i LOW es 0.

digitalWrite(9, HIGH); // activa la salida 9 con un nivel alto (5 voltios)

-INPUT/OUTPUT: Estas constantes se usan de nir al comienzo del programa el modo de funcionamiento
de los pins de la placa con la instrucción pinMode. Los pins se pueden de nir como entrada (INPUT) o salida
(OUTPUT).

pinMode(7, OUTPUT); // designamos el pin 7 como salida

Estructuras de decisión

if (si)

if es una estructura de decisión que se utiliza para probar si una determinada condición se cumple. Si es
así, el programa ejecutará una acción.

if (x==25)

diymakers.es/guia-arduino/ 9/17
10/4/2020 Guía Arduino – DIYMakers

//Ejecutar acción

En este ejemplo si la variable x tiene un valor igual a 25, el código dentro de las llaves se ejecutará.

if…else (si…sino…)

if…else es una evolución de la estructura if, que consiste en sino se cumple la condición de if, haz otra
acción.

if (x>=200)

//Ejecutar acción A

else

//Ejecutar acción B

En este ejemplo si x es mayor o igual que 200, realiza la acción A. Sino es mayor o igual que 200, realiza
acción B.

for

La declaración for se usa para repetir bloques de sentencia encerradas entre llaves un número
determinado de veces.

for (inicialización; condición; expresión)

//Ejecutar acción

La inicialización de una variable local se produce una sola vez y la condición se testea cada vez que se
termina la ejecución de la acción dentro del bucle. Si la condición sigue cumpliéndose, la acción del bucle
se vuelve a repetir. Cuando la condición no se cumpla, el bucle termina.

for (int i=0; i<10; i++)

//Ejecutar acción

diymakers.es/guia-arduino/ 10/17
10/4/2020 Guía Arduino – DIYMakers

En este ejemplo declaramos una variable entera i con un valor igual a 0, la condición es probar que el valor
de la variable sea inferior a 10 y incrementa este valor en 1 cada vez que se ejecuta. Cuando i sea mayor
que 10, el ciclo se termina.

while

while es un bucle que se ejecuta continuamente mientras se cumpla la condición que hay entre paréntesis.
Para salir del ciclo while la condición debe cambiar. Para esto, puede hacerse dentro del bucle o a través
del cambio de valor de un sensor.

while (condición)

//Ejecutar acción

do… while

Este bucle funciona de la misma manera que while con la diferencia que la condición se prueba al nal del
bucle, por lo que la acción dentro del do se ejecutará al menos una vez.

do

//Ejecutar acción

while (condición);

delay(ms)

Detiene el programa la cantidad del tiempo en milisegundos que se indica.

delay(1000); //espera 1 segundo (1000 milisegundos igual a 1 segundo)

Serial

El Arduino tiene un puerto serie que podemos utilizar utilizando lo siguiente:

-Serial.begin(rate) Abre el puerto serie y ja la velocidad en baudios. Este código se tiene que poner en
setup()

-Serial.println (data) Imprime los datos en el puerto serie, seguido de un salto de línea.

-Serial.avaible() Esta función devuelve el estado del bu er del puerto serie y revela si hay algún dato
recibido a través de este.

diymakers.es/guia-arduino/ 11/17
10/4/2020 Guía Arduino – DIYMakers

-Serial.Read() Lee y captura un carácter (byte) del bu er. Es importante destacar que solo lee un solo
carácter.

-Serial.Write() Escribe caracteres a través del puerto serie. A diferencia de Serial.Read() puede más de un
carácter.

Programa de ejemplo
Vamos a crear un sencillo proyecto como ejemplo. Usaremos un pulsador y un led. Cada vez que
pulsemos el pulsador, el led parpadeará dos veces. Empecemos:

Material

-1 Led

-1 pulsador (switch)

-1 Resistencia de 680 ohmios

-1 Resistencia de 10k

Montaje

diymakers.es/guia-arduino/ 12/17
10/4/2020 Guía Arduino – DIYMakers

diymakers.es/guia-arduino/ 13/17
10/4/2020 Guía Arduino – DIYMakers

-En el pin 6 ponemos el pulsador con una resistencia de 10k en modo pull-down, quiere decir que en la
entrada abra un 0 (0 voltios) y cuando pulsamos el pulsador hay un 1 (5 voltios).

-En el pin 7 pondremos un led con una resistencia de 680 ohmios para limitar el corriente.

Programa

diymakers.es/guia-arduino/ 14/17
10/4/2020 Guía Arduino – DIYMakers

1 //Declaramos los pins


2 int pulsador=6;
3 int led=7;
4
5 //En setup() configuramos los pins como entradas o como salidas
6 void setup()
7 {
8 pinMode(pulsador, INPUT);
9 pinMode(led, OUTPUT);
10 }
11
12 //En loop() es el programa principal que se repetirá ciclicamente
13 void loop()
14 {
15 if(digitalRead(pulsador)==HIGH) //Si pulsamos el pulsador, habrá un valor HIGH en el pin
16 {
17 //El led parpadea 2 veces
18 digitalWrite(led,HIGH);
19 delay(500);
20 digitalWrite(led,LOW);
21 delay(500);
22 digitalWrite(led,HIGH);
23 delay(500);
24 digitalWrite(led,LOW);
25 }
26 else
27 {
28 digitalWrite(led,LOW); //Si el pulsador no esta pulsado, el led está apagado
29 }
30 }

11 thoughts on “Guía Arduino”


Joseph D. Boscan 24 diciembre, 2013 at 04:18 (http://diymakers.es/guia-arduino/#comment-8)
Esto está muy pero muy genial! Miles de gracias! y (Y) manito arriba a la inteligencia colectiva!
Reply (/guia-arduino/?replytocom=8#respond) →

DIYMakers (http://diymakers.es/) 29 diciembre, 2013 at 14:53 (http://diymakers.es/guia-


arduino/#comment-9)
De nada Joseph. Aquí nos tenéis para cualquier duda.
Reply (/guia-arduino/?replytocom=9#respond) →

JuanKar 6 enero, 2014 at 11:51 (http://diymakers.es/guia-arduino/#comment-12)


Fantástico, enhorabuena por la web!!!!! Agregada a favoritos!!!

Un par de correcciones:

diymakers.es/guia-arduino/ 15/17

También podría gustarte