SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
ARDUINO 
Por: Ángel Gómez 
2008-15555 
Universidad de San Carlos de Guatemala 
Arquitectura de Computadores y Ensambladores 1
Este Documento tiene licencia COPYLEFT 
Todos los Errores Reservados.
Prefacio 
El siguiente documento no pretende ser una especificación precisa sobre la 
plataforma ARDUINO. La información contenida es de propositivo general y orientada para 
incentivar y motivar el uso de la plataforma ARDUINO de una forma introductoria para 
desarrollar proyectos tipo “Hazlo tu Mismo” con dispositivos electrónicos de bajo costo y 
una filosofía similar al software libre aplicado al Hardware. Para tener una pequeña 
pincelada no solo de los pequeños hombrews, sino también de los posibles grandes 
proyectos que se pueden lograr y desarrollar con el pequeño y poderoso micro 
controlador ARDUINO presento el siguiente trabajo, dirigido a entusiastas de la electrónica. 
Ángel Gómez 
2008-15555
ÍNDICE 
· Introducción 
· Objetivo General 
· Objetivos Específicos 
· Justificación 
· Contenido 
· Instalación y Configuración 
· Tipos, partes, teoría en general (agregar imágenes) 
· Funciones principales 
· Estructura del lenguaje 
· Ejemplos 
· Errores comunes 
· Preguntas Frecuentes 
· Conclusiones (relacionadas con los objetivos) 
· Recomendaciones 
· Bibliografía 
· Enlaces de Ayuda 
· Anexo
Introducción 
ARDUINO es un micro controlador con filosofía open source/hardware es un 
dispositivo el cual permite obtener información por medio de sus entradas Analógicas y 
Digitales. Permite el procesamiento de los datos y generar una salida por medio de pines 
de salida específicos. ARDUINO es una plataforma completa con una gran comunidad de 
usuarios en internet donde se pueden ver proyectos realizados en cualquier parte del 
mundo. También está orientado a un fácil manejo y uso de la electrónica, proyectos únicos 
con el cual el límite es la imaginación.
Objetivo General 
· Aprender el uso básico de la plataforma ARDUINO 
· Implementación de Proyectos con ARDUINO 
· Programación de ARDUINO 
Objetivos Específicos 
· Uso básico del dispositivo ARDUINO 
· Identificación de las entradas/salidas físicas 
· Lenguaje de programación de ARDUINO 
· Programación de código para recibir datos con las entradas digitales 
· Programación de código para enviar datos con los pinout 
· Precauciones básicas 
· Distinción de las distintas plataformas basadas en ARDUINO 
Justificación 
Demostrar la versatilidad de la plataforma ARDUINO y su micro controlador en 
proyectos sencillos así como complejos, despertar el interés del lector sobre la plataforma 
desarrollada con hardware Libre, no necesitar conocimientos previos muy específicos sobre 
la electrónica o programación. Este documento pretende dar una visión clara y sin 
complicaciones sobre ARDUINO y su primer uso de frente de una forma fácil.
Instalación y Configuración 
Para iniciarse en el mundo de la plataforma ARDUINO es necesario contar con una 
placa ya sea ensamblada por nosotros (pieza por pieza) o una que ya esté lista e integrada 
con todos sus componentes como lo puede ser ARDUINO UNO, LEONARDO o NANO 
etc. Que fácilmente se pueden adquirir vía internet o en una tienda electrónica 
especializada. 
ARDUINO IDE 
Es el entorno grafico para la programación de aplicaciones para el micro controlador 
arduino, como recomendación para una buena ejecución del entorno de desarrollo se 
recomienda tener instalado GCC y JAVA en sus últimas versiones para LINUX. 
Pasos para configuración 
· Descargar de la pagina http://arduino.cc/en/Main/Software#toc1 la versión 
del IDE que vayamos utilizar sea Windows, Mac o Linux. Para nuestro caso 
será la versión para Linux de 64 bits que el tipo de sistema instalado en 
nuestra PC 
Paso1: Descargar IDE de Desarrollo
· Debido a que estamos en un entorno Linux procedemos a descomprimir el 
archivo descargado en paso anterior en un directorio de fácil acceso 
ejecutando los siguientes comandos en una consola de comandos Linux: 
cd PATH_DONDE_SE DESCOMPRIMIO_EL_ARCHIVO 
Luego para ejecutar el IDE de ARDUINO escribimos en consola como se muestra. 
./arduino 
2.1- Descompresión de IDE ARDUINO 
2.2Ejecución del IDE ARDUINO
Como se ha podido observar en unos cuantos pasos se ha logrado tener el entorno 
listo para empezar a programar en la plataforma del micro controlador ARDUINO. 
El último paso sería conectar el nuestro ARDUINO vía USB y empezar a imaginarse 
todas las aplicaciones que tendría nuestro ARDUINO en proyectos simples o sumamente 
complicados. 
Teoría General sobre ARDUIINO 
ARDUINO tiene muchas variantes debido a que es open hardware/software 
cualquiera hace uso de los diagramas para la construcción de ARDUINOS por lo cual en el 
mercado se encuentran una variedad para distintas necesidades. Nuestro objetivo no es 
adentrarnos en cada variante más bien dicho nos enfocaremos en su variedades oficiales 
del proyecto como podemos observar en el anexo con la imagen de la “Evolución de 
ARDUINO” así como todas la bondades que nos ofrece la plataforma completa. 
Hasta el momento todo bien, pero nuestro micro controlador no se queda ahí 
debido al gran auge de la plataforma otras iniciativas han agregado funcionalidades con 
hardware algunas open y otras no, pero han hecho del micro controlador se pueda 
comunicar con muchos más dispositivos (SHIELDS) 
como lo son los siguientes: 
· BlueTooth 
· Wireless 
· RJ45 wire connection 
· Sensores huellas Dactilares 
· Pantallas LCD 
· Controladores para Motores 
· GSM (telefonía), 
· GPS
Partes de ARDUINO: 
A continuación se muestra un diagrama de las partes que componen un arduino 
LEONARDO identificando sus principales entradas/salidas por medio de las cuales arduino 
obtiene información la procesa y entrega un resultado. 
Todos los arduinos están basado en el Chip ATMEGA XX el cual se puede ver en la 
evolución de arduino es el core principal del micro controlador y la evolución está en la 
prestación de velocidades con las que opera la plataforma así como la capacidad de 
almacenar nuestros programas por lo regular en una memoria de 32 KB.
Funciones Principales 
Para un programa de ARDUINO su sintaxis es similar a la de ANSI C con algunas 
variantes 
Tenemos la siguiente estructura 
· Declaración de Constantes y variables 
· Void Setup{} -> Encargado de cómo estarán definidos el Set de Pines de Arduino. 
· Void Loop{} -> Aquí ira el código de lo que necesitemos que arduino realice en 
forma de un ciclo infinito 
Ejemplo Básico de Programación con ARDUINO. 
/* 
Blink 
Turns on an LED on for one second, then off for one second, repeatedly. 
This example code is in the public domain. 
*/ 
// Pin 13 has an LED connected on most Arduino boards. 
// give it a name: 
int led = 13; 
// the setup routine runs once when you press reset: 
void setup() { 
// initialize the digital pin as an output. 
pinMode(led, OUTPUT); 
} 
// the loop routine runs over and over again forever: 
void loop() { 
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) 
delay(1000); // wait for a second 
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW 
delay(1000); // wait for a second 
} 
Estructuras, Variables, Funciones Lenguaje Arduino IDE 
A continuación se presenta el conjunto de instrucciones utilizadas para programar en 
la plataforma del IDE de ARDUINO. Como veremos es un set de instrucciones muy similares 
a JAVA y ANSI C. Por lo cual si se tiene experiencia con estos lenguajes programación no 
será mayor reto. Puesto que ARDUINO nos dota con otras posibilidades si no manejamos 
muy bien los lenguajes de Programación y poder realizar lo que queremos de una forma 
intuitiva con ArduBlock que es programación con bloques.
Structure Variables Functions 
Constants 
setup() Digital I/O 
loop() HIGH | LOW pinMode() 
Control Structures 
Data Types 
Further Syntax 
Arithmetic Operators 
Conversion 
Comparison Operators 
Variable Scope & Qualifiers 
Boolean Operators Utilities 
Pointer Access Operators 
Bitwise Operators 
Compound Operators 
INPUT | OUTPUT| INPUT_PULLUP digitalWrite() 
if true | false digitalRead() 
if...else integer constants Analog I/O 
for floating point constants analogReference() 
switch case analogRead() 
while void analogWrite() - PWM 
do... while boolean Advanced I/O 
break char tone() 
continue unsigned char noTone() 
return byte shiftOut() 
goto int shiftIn() 
unsigned int pulseIn() 
; (semicolon) word Time 
{} (curly braces) long millis() 
// (single line comment) unsigned long micros() 
/* */ (multi-line comment) float delay() 
#define double delayMicroseconds() 
#include string - char array Math 
String - object min() 
= (assignment operator) array max() 
+ (addition) abs() 
- (subtraction) char() constrain() 
* (multiplication) byte() map() 
/ (division) int() pow() 
% (modulo) word() sqrt() 
long() Trigonometry 
== (equal to) float() sin() 
!= (not equal to) cos() 
< (less than) variable scope tan() 
> (greater than) static Random Numbers 
<= (less than or equal to) volatile randomSeed() 
>= (greater than or equal ctoon)s t random() 
Bits and Bytes 
&& (and) sizeof() lowByte() 
|| (or) highByte() 
! (not) bitRead() 
bitWrite() 
* dereference operator bitSet() 
& reference operator bitClear() 
bit() 
& (bitwise and) External Interrupts 
| (bitwise or) attachInterrupt() 
^ (bitwise xor) detachInterrupt() 
~ (bitwise not) Interrupts 
<< (bitshift left) interrupts() 
>> (bitshift right) noInterrupts() 
Communication 
++ (increment) Serial 
-- (decrement) Stream 
+= (compound addition) 
-= (compound subtraction) 
*= (compound multiplication)
Ejemplo Completo Y Demostración con ARDUINO NANO 
Justo para finalizar nuestra introducción al mundo ARDUINO es 
el momento de ver un ejemplo completo de con todas las 
configuraciones realizadas previamente. 
Que necesitamos: 
· Un ARDUINO en cualquier versión. 
· Pasos descritos en la instalación y Configuración 
· El programa en lenguaje arduino descrito en la sección Funciones Principales 
Qué resultados esperamos: 
· Conectar por primera vez nuestro ARDUINO. 
· Controlar el LED en el ARDUINO cambiando le el tiempo 
Start: 
1. Seleccionar nuestro modelo de micro controlador ARDUINO adquirido.
2. Conectar ARDUINO al puerto USB del PC 
3. Verificar que se detecto correctamente el dispositivo en el Menú Herramientas -> 
Puerto Serial 
4. Si todo ha ido bien no nos queda más que cargar nuestro ejemplo de Blink en el IDE 
de ARDUINO y proceder a presionar el Cargar y nuestro programa será enviado al 
micro controlador. 
5. Ver Nuestro resultado con el LED de testeo del ARDUINO y el tiempo que le 
otorgamos para el encedido y apagado del mismo.
Errores Comunes 
Los errores pueden ser distintos tipos los cuales hacemos mención: 
· Hardware: 
1. El dispositivo venga defectuoso de fabrica no es reconocido por el 
ordenador. Por lo cual se deberá intentar resetear desde el botón incluido en 
la placa. Si todo lo anterior no funciona se deberá adquirir una nueva placa. 
2. No saber que Voltaje maneja la versión de ARDUINO. 
· Software: 
1. La instalación de los drivers no sea la correcta, posibles errores de puerto 
serial con otros SO como Windows. 
Preguntas Frecuentes 
Debido a la gran cantidad de usuarios y comunidades formadas en internet basta con 
suscribirse y plantear los problemas e incluso soluciones en dichas comunidades. Para 
ayudar a la comunidad del OPEN HW de ARDUINO. 
Debido a que el micro controlador está hecho de una forma robusta puede soportar 
ciertos errores no al 100% pero si para poder practicar o inclusive crear nuevos proyecto 
y soluciones antes de dejar la placa sin funcionar. 
Conclusiones: 
El principal razón del documento presentado no es hacer mención honorifica a todos 
los conocimientos previos que se deben tener para iniciarse en la electrónica y la 
programación puesto que perdería el principal objetivo de fomentar el interés del lector en 
descubrir, el poder crear algo propio con su ingenio de una forma económica, y sobre 
todo inspiración por el auto aprendizaje realizando algo que le apasione, puesto que con 
esta motivación le llevara a alcanzar sus metas y objetivos sobre el aprendizaje de la 
plataforma de ARDUINO y sus innumerables apliaciones descritas de una forma sencilla 
como se ha planteado en este documento.
Recomendaciones 
Buscar mucha información gracias al internet hay una vasta biblioteca, proyectos con 
los cuales se puede empezar a disfrutar de las bondades de la plataforma. 
Consultar a personas que sepan del tema. Para adquirir los conocimientos básicos, 
esto ayudara a tener un progreso del cómo se debe y así como del no se debe. Para evitar 
pequeños tropiezos al iniciarse. 
Bibliografía 
Debido a que mucha información está en Internet se dejan los enlaces que describen lo 
que posiblemente se encontraría en un libro. 
· http://arduino.cc 
· http://es.wikipedia.org/wiki/Arduino 
Enlaces de Ayuda 
· http://playground.arduino.cc/Es/Es 
· http://forum.arduino.cc/index.php/board,49.0.htm l 
· http://www.arduteka.com/arduino/ 
· http://www . youtube.com 
Anexos
[Arqui1]practica2 200815555

Weitere ähnliche Inhalte

Was ist angesagt?

Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoÁngel Acaymo M. G.
 
S4 a + arduino
S4 a + arduinoS4 a + arduino
S4 a + arduinoVisemi VI
 
Mis proyectos con Arduino
Mis proyectos con ArduinoMis proyectos con Arduino
Mis proyectos con ArduinoJomicast
 
Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Ángel Acaymo M. G.
 
Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)Israel Magaña
 
Presentación taller arduino
Presentación taller arduinoPresentación taller arduino
Presentación taller arduinogruposirp
 
Tutorial básico control puerto paralelo con visual basic 6.0
Tutorial básico control puerto paralelo con visual basic 6.0Tutorial básico control puerto paralelo con visual basic 6.0
Tutorial básico control puerto paralelo con visual basic 6.0Eddy Solano
 
Manual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de alteraManual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de alteraEdwin Rosario Gabriel
 

Was ist angesagt? (16)

Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
 
S4 a + arduino
S4 a + arduinoS4 a + arduino
S4 a + arduino
 
Mis proyectos con Arduino
Mis proyectos con ArduinoMis proyectos con Arduino
Mis proyectos con Arduino
 
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
 
Arduino consola y puerto serie
Arduino consola y puerto serieArduino consola y puerto serie
Arduino consola y puerto serie
 
Manual programacion arduino
Manual programacion arduinoManual programacion arduino
Manual programacion arduino
 
Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015
 
Reporte de arduino
Reporte de arduinoReporte de arduino
Reporte de arduino
 
Seminario de Arduino
Seminario de ArduinoSeminario de Arduino
Seminario de Arduino
 
Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)
 
Hack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduinoHack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduino
 
Curso arduino basico bitbloq
Curso arduino basico bitbloqCurso arduino basico bitbloq
Curso arduino basico bitbloq
 
Wtv020 sd-16 p y arduino
Wtv020 sd-16 p y arduinoWtv020 sd-16 p y arduino
Wtv020 sd-16 p y arduino
 
Presentación taller arduino
Presentación taller arduinoPresentación taller arduino
Presentación taller arduino
 
Tutorial básico control puerto paralelo con visual basic 6.0
Tutorial básico control puerto paralelo con visual basic 6.0Tutorial básico control puerto paralelo con visual basic 6.0
Tutorial básico control puerto paralelo con visual basic 6.0
 
Manual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de alteraManual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de altera
 

Ähnlich wie [Arqui1]practica2 200815555 (20)

Basicos arduino
Basicos arduinoBasicos arduino
Basicos arduino
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Practicas con arduino UPVM
Practicas con arduino UPVMPracticas con arduino UPVM
Practicas con arduino UPVM
 
Señales con arduino y DAC
Señales con arduino y DACSeñales con arduino y DAC
Señales con arduino y DAC
 
Arduino
ArduinoArduino
Arduino
 
Arduino 1
Arduino 1Arduino 1
Arduino 1
 
ARDUINO 11.pptx
ARDUINO 11.pptxARDUINO 11.pptx
ARDUINO 11.pptx
 
Tarjeta arduin informe
Tarjeta arduin informeTarjeta arduin informe
Tarjeta arduin informe
 
Tarjeta arduin (informe)
Tarjeta arduin (informe)Tarjeta arduin (informe)
Tarjeta arduin (informe)
 
03-arduino.pdf
03-arduino.pdf03-arduino.pdf
03-arduino.pdf
 
Tutorial Básico Arduino
Tutorial Básico ArduinoTutorial Básico Arduino
Tutorial Básico Arduino
 
Tarjetaarduininforme (2)
Tarjetaarduininforme (2)Tarjetaarduininforme (2)
Tarjetaarduininforme (2)
 
Tarjetaarduininforme (1)
Tarjetaarduininforme (1)Tarjetaarduininforme (1)
Tarjetaarduininforme (1)
 
TARJETA ARDUINO
TARJETA ARDUINOTARJETA ARDUINO
TARJETA ARDUINO
 
Tarea de tecnologia
Tarea de tecnologiaTarea de tecnologia
Tarea de tecnologia
 

Kürzlich hochgeladen

LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdfLAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdfwilangelfmendoza
 
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptx
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptxTEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptx
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptxGilbertoGutierrezRiv
 
Formulacion del modelo de Programacion Lineal - copia.pptx
Formulacion del modelo de Programacion Lineal - copia.pptxFormulacion del modelo de Programacion Lineal - copia.pptx
Formulacion del modelo de Programacion Lineal - copia.pptxAmerAlBarkawi
 
PPT obligaciones ambientales oefa minan.pptx
PPT obligaciones ambientales oefa minan.pptxPPT obligaciones ambientales oefa minan.pptx
PPT obligaciones ambientales oefa minan.pptxDanmherJoelAlmironPu
 
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptx
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptxPPT SESION 5 ARTE Y CREATIVIDAD (1).pptx
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptxNeymaRojasperez1
 
Taller construcción de Prototipos Uno uML
Taller construcción de Prototipos Uno uMLTaller construcción de Prototipos Uno uML
Taller construcción de Prototipos Uno uMLAderMogollonLuna
 
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfTALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfMiguelGomez900779
 

Kürzlich hochgeladen (7)

LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdfLAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
 
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptx
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptxTEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptx
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptx
 
Formulacion del modelo de Programacion Lineal - copia.pptx
Formulacion del modelo de Programacion Lineal - copia.pptxFormulacion del modelo de Programacion Lineal - copia.pptx
Formulacion del modelo de Programacion Lineal - copia.pptx
 
PPT obligaciones ambientales oefa minan.pptx
PPT obligaciones ambientales oefa minan.pptxPPT obligaciones ambientales oefa minan.pptx
PPT obligaciones ambientales oefa minan.pptx
 
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptx
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptxPPT SESION 5 ARTE Y CREATIVIDAD (1).pptx
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptx
 
Taller construcción de Prototipos Uno uML
Taller construcción de Prototipos Uno uMLTaller construcción de Prototipos Uno uML
Taller construcción de Prototipos Uno uML
 
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfTALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
 

[Arqui1]practica2 200815555

  • 1. ARDUINO Por: Ángel Gómez 2008-15555 Universidad de San Carlos de Guatemala Arquitectura de Computadores y Ensambladores 1
  • 2. Este Documento tiene licencia COPYLEFT Todos los Errores Reservados.
  • 3. Prefacio El siguiente documento no pretende ser una especificación precisa sobre la plataforma ARDUINO. La información contenida es de propositivo general y orientada para incentivar y motivar el uso de la plataforma ARDUINO de una forma introductoria para desarrollar proyectos tipo “Hazlo tu Mismo” con dispositivos electrónicos de bajo costo y una filosofía similar al software libre aplicado al Hardware. Para tener una pequeña pincelada no solo de los pequeños hombrews, sino también de los posibles grandes proyectos que se pueden lograr y desarrollar con el pequeño y poderoso micro controlador ARDUINO presento el siguiente trabajo, dirigido a entusiastas de la electrónica. Ángel Gómez 2008-15555
  • 4. ÍNDICE · Introducción · Objetivo General · Objetivos Específicos · Justificación · Contenido · Instalación y Configuración · Tipos, partes, teoría en general (agregar imágenes) · Funciones principales · Estructura del lenguaje · Ejemplos · Errores comunes · Preguntas Frecuentes · Conclusiones (relacionadas con los objetivos) · Recomendaciones · Bibliografía · Enlaces de Ayuda · Anexo
  • 5. Introducción ARDUINO es un micro controlador con filosofía open source/hardware es un dispositivo el cual permite obtener información por medio de sus entradas Analógicas y Digitales. Permite el procesamiento de los datos y generar una salida por medio de pines de salida específicos. ARDUINO es una plataforma completa con una gran comunidad de usuarios en internet donde se pueden ver proyectos realizados en cualquier parte del mundo. También está orientado a un fácil manejo y uso de la electrónica, proyectos únicos con el cual el límite es la imaginación.
  • 6. Objetivo General · Aprender el uso básico de la plataforma ARDUINO · Implementación de Proyectos con ARDUINO · Programación de ARDUINO Objetivos Específicos · Uso básico del dispositivo ARDUINO · Identificación de las entradas/salidas físicas · Lenguaje de programación de ARDUINO · Programación de código para recibir datos con las entradas digitales · Programación de código para enviar datos con los pinout · Precauciones básicas · Distinción de las distintas plataformas basadas en ARDUINO Justificación Demostrar la versatilidad de la plataforma ARDUINO y su micro controlador en proyectos sencillos así como complejos, despertar el interés del lector sobre la plataforma desarrollada con hardware Libre, no necesitar conocimientos previos muy específicos sobre la electrónica o programación. Este documento pretende dar una visión clara y sin complicaciones sobre ARDUINO y su primer uso de frente de una forma fácil.
  • 7. Instalación y Configuración Para iniciarse en el mundo de la plataforma ARDUINO es necesario contar con una placa ya sea ensamblada por nosotros (pieza por pieza) o una que ya esté lista e integrada con todos sus componentes como lo puede ser ARDUINO UNO, LEONARDO o NANO etc. Que fácilmente se pueden adquirir vía internet o en una tienda electrónica especializada. ARDUINO IDE Es el entorno grafico para la programación de aplicaciones para el micro controlador arduino, como recomendación para una buena ejecución del entorno de desarrollo se recomienda tener instalado GCC y JAVA en sus últimas versiones para LINUX. Pasos para configuración · Descargar de la pagina http://arduino.cc/en/Main/Software#toc1 la versión del IDE que vayamos utilizar sea Windows, Mac o Linux. Para nuestro caso será la versión para Linux de 64 bits que el tipo de sistema instalado en nuestra PC Paso1: Descargar IDE de Desarrollo
  • 8. · Debido a que estamos en un entorno Linux procedemos a descomprimir el archivo descargado en paso anterior en un directorio de fácil acceso ejecutando los siguientes comandos en una consola de comandos Linux: cd PATH_DONDE_SE DESCOMPRIMIO_EL_ARCHIVO Luego para ejecutar el IDE de ARDUINO escribimos en consola como se muestra. ./arduino 2.1- Descompresión de IDE ARDUINO 2.2Ejecución del IDE ARDUINO
  • 9. Como se ha podido observar en unos cuantos pasos se ha logrado tener el entorno listo para empezar a programar en la plataforma del micro controlador ARDUINO. El último paso sería conectar el nuestro ARDUINO vía USB y empezar a imaginarse todas las aplicaciones que tendría nuestro ARDUINO en proyectos simples o sumamente complicados. Teoría General sobre ARDUIINO ARDUINO tiene muchas variantes debido a que es open hardware/software cualquiera hace uso de los diagramas para la construcción de ARDUINOS por lo cual en el mercado se encuentran una variedad para distintas necesidades. Nuestro objetivo no es adentrarnos en cada variante más bien dicho nos enfocaremos en su variedades oficiales del proyecto como podemos observar en el anexo con la imagen de la “Evolución de ARDUINO” así como todas la bondades que nos ofrece la plataforma completa. Hasta el momento todo bien, pero nuestro micro controlador no se queda ahí debido al gran auge de la plataforma otras iniciativas han agregado funcionalidades con hardware algunas open y otras no, pero han hecho del micro controlador se pueda comunicar con muchos más dispositivos (SHIELDS) como lo son los siguientes: · BlueTooth · Wireless · RJ45 wire connection · Sensores huellas Dactilares · Pantallas LCD · Controladores para Motores · GSM (telefonía), · GPS
  • 10. Partes de ARDUINO: A continuación se muestra un diagrama de las partes que componen un arduino LEONARDO identificando sus principales entradas/salidas por medio de las cuales arduino obtiene información la procesa y entrega un resultado. Todos los arduinos están basado en el Chip ATMEGA XX el cual se puede ver en la evolución de arduino es el core principal del micro controlador y la evolución está en la prestación de velocidades con las que opera la plataforma así como la capacidad de almacenar nuestros programas por lo regular en una memoria de 32 KB.
  • 11. Funciones Principales Para un programa de ARDUINO su sintaxis es similar a la de ANSI C con algunas variantes Tenemos la siguiente estructura · Declaración de Constantes y variables · Void Setup{} -> Encargado de cómo estarán definidos el Set de Pines de Arduino. · Void Loop{} -> Aquí ira el código de lo que necesitemos que arduino realice en forma de un ciclo infinito Ejemplo Básico de Programación con ARDUINO. /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } Estructuras, Variables, Funciones Lenguaje Arduino IDE A continuación se presenta el conjunto de instrucciones utilizadas para programar en la plataforma del IDE de ARDUINO. Como veremos es un set de instrucciones muy similares a JAVA y ANSI C. Por lo cual si se tiene experiencia con estos lenguajes programación no será mayor reto. Puesto que ARDUINO nos dota con otras posibilidades si no manejamos muy bien los lenguajes de Programación y poder realizar lo que queremos de una forma intuitiva con ArduBlock que es programación con bloques.
  • 12. Structure Variables Functions Constants setup() Digital I/O loop() HIGH | LOW pinMode() Control Structures Data Types Further Syntax Arithmetic Operators Conversion Comparison Operators Variable Scope & Qualifiers Boolean Operators Utilities Pointer Access Operators Bitwise Operators Compound Operators INPUT | OUTPUT| INPUT_PULLUP digitalWrite() if true | false digitalRead() if...else integer constants Analog I/O for floating point constants analogReference() switch case analogRead() while void analogWrite() - PWM do... while boolean Advanced I/O break char tone() continue unsigned char noTone() return byte shiftOut() goto int shiftIn() unsigned int pulseIn() ; (semicolon) word Time {} (curly braces) long millis() // (single line comment) unsigned long micros() /* */ (multi-line comment) float delay() #define double delayMicroseconds() #include string - char array Math String - object min() = (assignment operator) array max() + (addition) abs() - (subtraction) char() constrain() * (multiplication) byte() map() / (division) int() pow() % (modulo) word() sqrt() long() Trigonometry == (equal to) float() sin() != (not equal to) cos() < (less than) variable scope tan() > (greater than) static Random Numbers <= (less than or equal to) volatile randomSeed() >= (greater than or equal ctoon)s t random() Bits and Bytes && (and) sizeof() lowByte() || (or) highByte() ! (not) bitRead() bitWrite() * dereference operator bitSet() & reference operator bitClear() bit() & (bitwise and) External Interrupts | (bitwise or) attachInterrupt() ^ (bitwise xor) detachInterrupt() ~ (bitwise not) Interrupts << (bitshift left) interrupts() >> (bitshift right) noInterrupts() Communication ++ (increment) Serial -- (decrement) Stream += (compound addition) -= (compound subtraction) *= (compound multiplication)
  • 13. Ejemplo Completo Y Demostración con ARDUINO NANO Justo para finalizar nuestra introducción al mundo ARDUINO es el momento de ver un ejemplo completo de con todas las configuraciones realizadas previamente. Que necesitamos: · Un ARDUINO en cualquier versión. · Pasos descritos en la instalación y Configuración · El programa en lenguaje arduino descrito en la sección Funciones Principales Qué resultados esperamos: · Conectar por primera vez nuestro ARDUINO. · Controlar el LED en el ARDUINO cambiando le el tiempo Start: 1. Seleccionar nuestro modelo de micro controlador ARDUINO adquirido.
  • 14. 2. Conectar ARDUINO al puerto USB del PC 3. Verificar que se detecto correctamente el dispositivo en el Menú Herramientas -> Puerto Serial 4. Si todo ha ido bien no nos queda más que cargar nuestro ejemplo de Blink en el IDE de ARDUINO y proceder a presionar el Cargar y nuestro programa será enviado al micro controlador. 5. Ver Nuestro resultado con el LED de testeo del ARDUINO y el tiempo que le otorgamos para el encedido y apagado del mismo.
  • 15. Errores Comunes Los errores pueden ser distintos tipos los cuales hacemos mención: · Hardware: 1. El dispositivo venga defectuoso de fabrica no es reconocido por el ordenador. Por lo cual se deberá intentar resetear desde el botón incluido en la placa. Si todo lo anterior no funciona se deberá adquirir una nueva placa. 2. No saber que Voltaje maneja la versión de ARDUINO. · Software: 1. La instalación de los drivers no sea la correcta, posibles errores de puerto serial con otros SO como Windows. Preguntas Frecuentes Debido a la gran cantidad de usuarios y comunidades formadas en internet basta con suscribirse y plantear los problemas e incluso soluciones en dichas comunidades. Para ayudar a la comunidad del OPEN HW de ARDUINO. Debido a que el micro controlador está hecho de una forma robusta puede soportar ciertos errores no al 100% pero si para poder practicar o inclusive crear nuevos proyecto y soluciones antes de dejar la placa sin funcionar. Conclusiones: El principal razón del documento presentado no es hacer mención honorifica a todos los conocimientos previos que se deben tener para iniciarse en la electrónica y la programación puesto que perdería el principal objetivo de fomentar el interés del lector en descubrir, el poder crear algo propio con su ingenio de una forma económica, y sobre todo inspiración por el auto aprendizaje realizando algo que le apasione, puesto que con esta motivación le llevara a alcanzar sus metas y objetivos sobre el aprendizaje de la plataforma de ARDUINO y sus innumerables apliaciones descritas de una forma sencilla como se ha planteado en este documento.
  • 16. Recomendaciones Buscar mucha información gracias al internet hay una vasta biblioteca, proyectos con los cuales se puede empezar a disfrutar de las bondades de la plataforma. Consultar a personas que sepan del tema. Para adquirir los conocimientos básicos, esto ayudara a tener un progreso del cómo se debe y así como del no se debe. Para evitar pequeños tropiezos al iniciarse. Bibliografía Debido a que mucha información está en Internet se dejan los enlaces que describen lo que posiblemente se encontraría en un libro. · http://arduino.cc · http://es.wikipedia.org/wiki/Arduino Enlaces de Ayuda · http://playground.arduino.cc/Es/Es · http://forum.arduino.cc/index.php/board,49.0.htm l · http://www.arduteka.com/arduino/ · http://www . youtube.com Anexos