PDF de programación - Diseño con Arduino - Ofimega - Guía rápida de introducción

Imágen de pdf Diseño con Arduino - Ofimega - Guía rápida de introducción

Diseño con Arduino - Ofimega - Guía rápida de introduccióngráfica de visualizaciones

Publicado el 26 de Agosto del 2020
824 visualizaciones desde el 26 de Agosto del 2020
2,3 MB
36 paginas
Creado hace 1a (10/01/2020)
Robótica con Arduino – Introducción



Ofimega - 1

Diseño con Arduino – Ofimega – Guía rápida de introducción

Arduino es una plataforma de hardware libre basada en una sencilla placa de entradas y salidas simples y un
entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring similar al C.

Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software
del ordenador.

Las plataformas Arduino están basadas en los microcontroladores Atmega, chips sencillos y de bajo coste que
permiten el desarrollo de múltiples diseños. Al ser open-hardware, tanto su diseño como su distribución son
libres.

Características:

14 Pines de entrada/salida digitales: 0 – 13
(de los cuales 6 pueden ser salidas de pulso modulable PWM: 3, 5, 6, 9, 10, 11)
6 Pines de entrada analógicos: Analog Input Pins A0 – A5




 Voltaje de entrada (recomendado): 7-12V Voltaje de operación: 5V
 Voltaje de entrada (mín. y máx.) 6-20V

 Memoria Flash 32 KB SRAM 2 KB - Microcontrolador ATmega328 - EEPROM 1 KB -


Corriente de E/S (por pin) 40 mA

Frecuencia de reloj 16 MHz
Transmisión en serie: pines 0 (Rx) y 1 (Tx)

Diagrama de pines de Arduino UNO:



Conectar Arduino con el PC y probar programa:

Consigue un Arduino y un cable USB

Conecta la placa: usando el cable USB (LED verde de alimentación PWR encendido)
Instala los drivers: deberían descargarse e instalarse automáticamente
Ejecuta la Aplicación Arduino: doble click en la aplicación Arduino


 Descarga el IDE de Arduino: http://arduino.cc/es/Main/Software o de la tienda de Windows



 Abre el ejemplo Blink: programa ejemplo para hacer parpadear un LED: File > Examples > Digital > Blink.

Selecciona tu placa: Menu: Tools > Board. Para chip ATmega 328 : Duemilanove or Nano w/ ATmega328

Selecciona tu puerto serie: Tools | Serial Port (probable es que sea COM3)

Sube el sketch a la placa: pulsa sobre el botón "Upload" parpadean los led RX y TX y luego el led de la
placa conectado al pin 13 (L) comienza a parpadear (con un color naranja). Funcionamiento OK



Ejemplo de sketch (programa)
Un sketch es el nombre que usa Arduino para un programa.
Funciones:

void setup() //-> Función, de nombre, "setup" de parámetros vacios ( ) y que no devuelve nada (void)
{
pinMode(ledPin, OUTPUT); // -> llamada a una función previamente definida a la que se le pasan 2 valores
}


pinMode(): configura un pin como entrada o salida. Para utilizarla, le pasas el número del pin que vas a
configurar y la constante INPUT o OUTPUT. Como input, un pin puede detectar el estado de un sensor, y
como salida, puede manejar un actuador, como un LED.
digitalWrite(): envía un valor a un pin. Ejemplo: digitalWrite(ledPin, HIGH) -> modifica ledPin (pin 13) como
HIGH, o 5 volts. Enviando LOW a un pin lo conecta a tierra, o 0 volts.
delay(1000): Hace a Arduino esperar 1000 milisegundos o 1 segundo.
setup() es llamado una vez, cuando comienza el sketch (on create) para definir los pins o inicializar
bibliotecas
loop() se llama una y otra vez y es el corazón de la mayoría de los sketches. Necesitas incluir ambas funciones
en tu sketch, aun cuando no las necesites para nada.

Páginas de interés

Luchador de sumo: http://www.austral.edu.ar/ingenieria/files/2012/06/Orientaciones.pdf

• Véase más en: http://www.arduino.cc/es

• Para referencia del lenguaje: http://arduino.cc/es/Reference/HomePage#.Uzv1ePl_vX4
• Ejemplos: http://arduino.cc/es/Tutorial/HomePage#.Uzv1s_l_vX4
• Programación arduino visual en modo bloques: https://github.com/gasolin/BlocklyDuino
• Simulador de Arduino: VirtualBreadboard: http://www.virtualbreadboard.com/
• Simulador on line libre: http://123d.circuits.io/
• Tutoriales Introducción: http://www.prometec.net/
• Tutoriales: http://txapuzas.blogspot.com.es/2011/10/paperrobot-chasis-para-robot-con.html



Robótica con Arduino – Introducción



Ofimega - 3

MANUAL LEAGUAJE DE PROGRAMACIÓN 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)
Operadores
• = (asignación)
• + (suma)
• - (resta)
• * (multiplicación)
• / (división)
• % (resto)
• == (igual a)
• != (distinto de)
• < (menor que)
• > (mayor que)
• <= (menor o igual que)
• >= (mayor o igual que)
• && (y)
• | | (o)
• ! (negación)
• ++ (incrementa)
• -- (decremento)
• += (composición suma)
• -= (composición resta)
• *= (composición multiplicación)
• /= (composición división)

2. VARIABLES
Constantes
• HIGH | LOW
• INPUT | OUTPUT
• true | false
• Constantes Numéricas
Tipos de Datos
• boolean (booleano)
• char (carácter)
• byte
• int (entero)
• unsigned int (entero sin signo)
• long (entero 32b)
• unsigned long (entero 32b sin signo)

• float (en coma flotante)
• double (en coma flotante de 32b)
• string (cadena de caracteres)
• array (cadena)
• void (vacío)

3. FUNCIONES
E/S Digitales
• pinMode ()
• digitalWrite ()
• digitalRead ()
E/S Analógicas
• analogRead ()
• analogWrite () - PWM (modulación por ancho de
pulso)
E/S Avanzadas
• tone ()
• noTone ()
• shiftOut ()
• pulseIn ()
Tiempo
• millis ()
• micros ()
• delay ()
• delayMicroseconds ()
Matemáticas
• min () (mínimo)
• max () (máximo)
• abs () (valor absoluto)
• constrain () (limita)
• map () (cambia valor de rango)
• pow () (eleva a un número)
• sq () (eleva al cuadrado)
• sqrt () (raíz cuadrada)
Trigonometría
• sin () (seno)
• cos () (coseno)
• tan () (tangente)
Aúmeros Aleatorios
• randomSeed ()
• random ()
Comunicación
• Serial
• begin ()
• end ()
• available ()
• read ()
• flush ()
• print ()
• println ()
• write ()

1. ESTRUCTURA:
SETUP()

La función setup() se establece cuando se inicia un programa -sketch.
Se emplea para iniciar variables, establecer el estado de los pins, inicializar
librerías, etc.
Esta función se ejecutará una única vez después de que se conecte la placa
Arduino a la fuente de alimentación, o cuando se pulse el botón de reinicio
de la placa.


LOOP()

int buttonPin = 3;
void setup()
{

Serial.begin(9600);
pinMode(buttonPin, INPUT);

}
void loop()
{

// aquí va el bucle

}

Esta función se ejecuta consecutivamente, permitiéndo al programa variar y responder en cada instante. Úsala para
controlar de forma activa la placa Arduino.



int buttonPin = 3; // setup inicializa la comunicación serial y el buttonPin
void setup()
{
beginSerial(9600);
pinMode(buttonPin, INPUT);
}
// loop obtiene el estado del pin del botón cada vez y de estar presionado,
lo comunica por serial.
void loop()
{

if (digitalRead(buttonPin) == HIGH)
serialWrite('H');
else
serialWrite('L');
delay(1000);

}

ESTRUCTURAS DE CONTROL

Operadores de Comparación (comparadores):

x == y
x != y
x < y

(x es igual a y)
(x no es igual a y)
(x es menor a y)

x > y
x <= y
x >= y

(x es mayor a y)
(x es menor o igual a y)
(x es mayor o igual a y)

Atención: No confundir un signo de igual solo de asignación, con el igual doble de comparación.

IF / ELSE

if/else permite separar las acciones en dos casos; el caso verdadero o falso según se cumpla o no la comparación.
Sintaxis: if (comparación) {acción_verdadera} else {acción_falsa}
else if permita realizar múltiples comprobaciones en una misma estructura de condiciones

// acción A

if (pinCincoInput < 500)
{

}
else
{

}

// acción B



// ejecutar A

if (pinCincoInput < 500)
{

}
else if (pinCincoInput >= 1000)
{

}
else
{

}

// ejecutar B

// ejecutar C



Entonces un bloque else if puede ser usado con o sin else al final.
Pueden emplearse If-else anidados de modo que la cantidad de
declaraciones else if, y sus ramificaciones son ilimitadas.
Otra forma de expresar ramificaciones (branching en inglés), es con la declaración switch case



Robótica con Arduino – Introducción
SENTENCIA SWITCH / CASE



Ofimega - 5

Como las sentencias if, switch...case permite agrupar diferentes códigos que deberían ser ejecutados en función de
varias condiciones.
La palabra clave break sale de la sentencia switch, y es usada típicamente al final de cada case.

Ejemplo

switch (var) {

case 1:
//hacer algo cuando sea igual a 1
break;
case 2:
//hacer algo cuando sea igual a 2

break;
default:

// si nada coincide, ejecuta el "default"
// el "default" es opcional
}


BUCLES

FOR

Sintaxis

switch (var) {
case etiqueta:
// sentencias
break;
case etiqueta:
// sentencias
break;
default:
// sentencias
}

La declaración for es usada para repetir un bloque encerrado entre llaves un número determinado de veces. El bucle
for tiene tres partes o argumentos en su
inicialización:

/* Variar la intensidad de un LED usando un salida PWM
int PWMpin = 10; En el pin 10 hay un LED en serie con una
resistencia de 470 ohmios */
void setup()
{

for (initialization; condition;
increment) {

}

//función(es);

La initialization, o inicialización, se produce
sólo la primera vez. Cada vez que se va a
repetir el bucle, se revisa la condition, o
condición: si es cierta, el bloque de funciones
(y el incremento del contador) se ejecutan, y la
condición vuelve a ser comprobada de nuevo.
Si la condición es falsa, el bucle termina.

// no es necesario nada aquí

}
void loop()
{

for (int i=0; i <= 255; i++){


}

analogWrite(PWMpin, i);
delay(10);

}

El bucle for, en C, es mucho más flexible
que en otros lenguajes. Un
  • Links de descarga
http://lwp-l.com/pdf18120

Comentarios de: Diseño con Arduino - Ofimega - Guía rápida de introducción (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad