You are on page 1of 18

Buscar

INIC IO

OPEN SOURC E

IMPRESIN 3D

NOTIC IAS

YOUTUBE

C URSOS Y TALLERES

FORO

Tutorial Arduino #0001 Mi primer HOLA MUNDO

27

RSS

Subscribers

03 nov 2011 BA SICO, delay, digitalW rite, HOLA MUNDO, LED, pinMode, PROGRA MA CIN B SICA , ST A RT ER KIT by Pablo Murillo

3,579

Fans

Bienvenidos a la primera entrada Arduino de Arduteka, en este primer proyecto vamos a realizar open in browser PRO version Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

el ejemplo ms bsico que existe para Arduino, el llamado HOLA MUNDO, a los proyectos de toma de contacto en programacin se les suele denotar de esta manera, suelen ser ejemplos muy bsicos para familiarizarnos con el entorno de trabajo, y en nuestro caso, no va a ser menos.

Arduteka nace para intentar desarrollar con el mximo de detalle posible cualquier tipo de proyecto, y sobre todo, para que todos aprendamos a trabajar sin lmites con esta maravillosa herramienta, as que podis sugerir en todo momento cualquier tipo de detalle a aadir al proyecto, cualquier aclaracin de algn argot que no conozcis o componentes que tengis dudas, a fin de, con el tiempo, crear una buena base de datos de proyectos muy documentados con la que no aburrirnos en mucho tiempo. Arduteka quiere separar cada proyecto en tres apartados, una primera parte donde podremos una breve explicacin de lo que vamos a lograr junto con un video demostrativo para hacer mucho ms fcil la eleccin de aquello que queris realizar, una segunda parte de diseo de hardware con su esquema elctrico y su conexin en un protoboard, y una tercera para todo lo referente al programa del proyecto. Si todava no tenis instalado el IDE, entrar AQUI para descargarlo e instalarlo!! Bueno, con todo esto, es hora de empezar con nuestro primer proyecto

Foro Campus Impresin 3D Arduino para principiantes Arduino para aficionados Arduino para expertos S4A Scratch & Arduino Comparativas Reviews Componentes Processing Waspmote Noticias

Arduino #0001 HOLA MUNDO


Parte 1: Que vamos a hacer?
Este primer proyecto Arduino consiste en aprender a activar una salida digital de nuestra placa Arduino a la que conectaremos mediante una resistencia, un diodo LED que parpadear en intervalos de un segundo. Esto tan sencillo a priori, nos ser de gran utilidad pues con un LED podremos monitorizar todo

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

tipo de acciones en nuestro Arduino Veamos un video del resultado final:

Noticias Envia tu proyecto!!

Suscrbete a Arduteka!!

Introduce aqu tu e-mail y recibe al instante todas las novedades de Arduteka!! nete a otros 631 suscriptores
Direccin de email

Suscribir ahora!!

Material necesario: Una placa Arduino Una resistencia de 220 Un diodo LED Una Protoboard

Todo esto podis adquirirlo por separado, aunque os recomiendo que os hagis con un Starter Kit que ya lleva todos estos componentes y muchos ms para empezar a trastear, os ahorrar muchos viajes a la tienda de electrnica adems de beneficiaos de un considerable ahorro en open in browser PRO version Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

diferencia a si lo comprarais todo por separado.

Parte 2: Diseando el Hardware


Debemos lograr mediante el programa de nuestro Arduino, encender y apagar un LED que conectaremos a una salida mediante una resistencia que nos regular la intensidad que debe llegar al diodo, las placas de Arduino ya llevan incorporada una resistencia de 220 en su salida 13 y podramos omitirla si utilizramos esta, pero como lo que queremos es mostrar tambin como calcular el tipo de resistencia que debemos poner en cada momento, utilizaremos la salida 12 como ejemplo. En primer lugar os dejo una imagen del esquema elctrico del circuito:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Para aprender a utilizar la protoboard, tenis disponible un tutorial en el que os muestra las conexiones internas de las protoboard y como utilizarla en vuestros proyectos Arduino. Debis poner especia atencin en polarizar el LED correctamente, en la seccin de componentes tenis todo sobre el LED, donde podris encontrar como calcular la resistencia apropiada a cada caso y su correcta polarizacin, en nuestro caso tenemos que, como la tensin de salida de la placa de Arduino es de 5v, tensin de nuestro LED rojo es de 1,8v y la corriente que debe pasar es de 15 mA nos quedar la siguiente frmula:

Por lo que hemos elegido una resistencia de 220 , la ms cercana a ese valor existente en el mercado. Ahora solo nos queda calcular la potencia de dicha resistencia, recordando que P=VxI tenemos que P = (5-1,8) x 0,015 = 0,048w Es decir como mnimo debe ser de 48mW por lo que nos vale la ms estndar de las resistencias, la de 1/4 de vatio. El esquema elctrico nos quedara de la siguiente manera:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Parte 3: Programando
Toca meternos a programar nuestro Arduino!! Para que haga lo que nosotros deseemos, deberemos insertarle mediante el software de Arduino una serie de instrucciones con una estructura determinada para que nuestro pequeo lo entienda. En cada proyecto explicar el motivo de cada instruccin, y lo ir guardando en un almanaque al que poder acceder cuando no recordemos algo relativo a la programacin. Este programa que vamos a desarrollar, podis copiarlo y pegarlo directamente en vuestro software de Arduino para despus transferirlo, primero os lo muestro completo, pero luego iremos desgranndolo poco a poco 1 2 /* Blink
Are you a developer? Try out the HTML to PDF API
?

open in browser PRO version

pdfcrowd.com

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Blink Enciende y apaga un Led en intervalos de un segundo repetidamente. Este cdigo de ejemplo es de uso pblico. */ //Configuracin de nuestra salida. void setup(){ pinMode(12, OUTPUT); // Pin 12 como Salida. } //Ahora le decimos que hacer con esa salida. void loop(){ digitalWrite(12, HIGH); // Pone la salida 12 a ON delay(1000); // Espera un segundo digitalWrite(12, LOW); // Pone la salida 12 a OFF delay(1000); // Espera un segundo }

En primer lugar debemos tener claro la estructura de nuestro Sketch o programa para que lo entienda nuestro Arduino. Primero: La configuracin de nuestra placa (setup), esta se ejecutar tan solo una vez, cuando iniciemos nuestro Arduino. void setup() { Aqu vendrn las configuraciones de nuestro pines como entradas o salidas y la configuracin del puerto serie si es necesaria. Como veis debe estar todo incluido entre llaves. } Segundo: Programa que ejecutar ciclicamente (loop). void loop() { Aqu pondremos las instrucciones que ejecutar nuestro programa nuestro programa. } Hay que recordar siempre que pongamos una instruccin colocar ; de lo contrario nos dar error de compilacin, ya que es lo que utiliza Arduino para separar una instruccin de otra.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Tambin veris en todos los programas una serie de anotaciones seguidas de //. Estas anotaciones son comentarios sobre el programa para facilitar su comprensin, y todo aquello que vaya seguido de esas barritas en la misma lnea no es interpretado por Arduino. // Esto es un comentario de una lnea Existen otra forma de insertar comentarios, son los comentarios en bloque, que se estructuran de la siguiente manera: /* Aqu podemos insertar cualquier descripcin de nuestro programa de ms de una lnea o ms sin que sea tenida en cuenta por Arduino. No debemos olvidar cerrar el bloque. */ Estos se utiliza normalmente al inicio del programa para insertar una breve descripcin del programa, fecha, versin y autor. En cuanto al setup realizado en este proyecto tenemos lo siguiente pinMode(12, OUTPUT); // Pin 12 como Salida. La instruccin pinMode nos sirve para configurar un pin como entrada (INPUT) o como salida (OUTPUT), para recordar la manera que se estructura podemos recordar el siguiente truco pinMode(pin, Mode) podemos observar que repetimos lo mismo que el nombre de la instruccin de manera que rellenaremos primero el pin y luego el Mode separados con una coma y entre parntesis. Luego tenemos en la seccin de loop las siguientes instrucciones; digitalWrite(12, HIGH); // Pone la salida 12 a ON delay(1000); // Espera un segundo digitalWrite(12, LOW); // Pone la salida 12 a OFF La instruccin digitalWrite(entradadigital, Niveldesalida) nos sirve para poner un pin digital en HIGH (1 lgico = +5v) o LOW (0 lgico = 0v).

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

La instruccin delay(tiempo) nos sirve para crear temporizados en nuestro programa como en este caso, para encender y apagar un LED, el valor viene dado en mili-segundos, por lo que 1000 = 1sg Como podis ver es un programa muy sencillo pero que nos ha servido como toma de contacto para familiarizarnos con todo el entorno de desarrollo de Arduino, este programa lo podis encontrar tambin en la seccin de ejemplos de vuestro software de Arduino con el nombre de Blink, con la nica diferencia de pin de salida, que viene de serie con el 13 en lugar del 12.

A jugar!!!
Comprtelo: Mename Twitter 45 Facebook 44 Google LinkedIn

Sobre el autor...
Pablo Murillo. Tcnico electrnico apasionado por la tecnologa y el mundo de la impresin 3D. Comprometido en difundir el movimiento maker en cualquiera de sus vertientes. Fundador de Arduteka.com Colaborador en Arduino.cc

Comparte en tu red social!

27 Comments
Pingback: Tutorial Arduino #0002 - E/S DIGITALES | ARDUINO ACADEMY

Daniel

21 noviembre, 2011 at 21:42

Responder

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Da gusto encontrar un tutorial explicado tan minuciosamente. Comprobado y FUNCIONA!!

jesussiero

26 diciembre, 2011 at 0:48

Responder

Excelente. Para todo el mundo.

Fernando
Hola.

27 diciembre, 2011 at 18:14

Responder

Muy buenos tus tutoriales, muchas gracias por compartir tus conocimientos con los aficionados a Arduino. Una cosa que tienes que corregir en este tutorial es cuando dices y la corriente que debe pasar es de 150mA , son 15 mA como bien pones en la formula. Saludos.

Arduteka

27 diciembre, 2011 at 20:43

Responder

Hola Fernando! Muchas gracias por la correccin!! Y por tus agradecimientos

Un saludo!

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Borja

15 enero, 2012 at 12:31

Responder

Gracias! Est clarito, clarito. Perfecto para nefitos. Mi nica experiencia es programacin con Scratch, y esto de ver solo letras y nmeros se me haca difcil

Roberto

21 enero, 2012 at 18:31

Responder

LLevo buscando tutoriales para saber cmo programar arduino unos 2 meses, y si he encontrado algunos, se molestan 5 lineas en explicar lo basico y ya pasan a lo difcil. Esta es la nica pgina web que viene explicado todo desde el principio de los principios Es totalmente recomendable. Gracias a la ayuda de estas personas que suben estos tutoriales, los que no tienen muy claro el manejo de Arduino hacen con esta pequea ayuda que tengamos mas ganas de jugar con nuestro pequeo y de seguir leyendo proyectos en dicha pgina. Muchsmas Gracias de verdad!

Pingback: Tutorial Arduino #0009 - Mdulo GPS & Display i2C | ARDUINO ACADEMY

gustavo

21 abril, 2012 at 3:51

Responder

que buen tutorial de arduino, para los que comenzamos con este interesante hadweare y no sabemos nada espero sigan haciendo los tutoriales muy detallados como este mil millones de gracias !!!!

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

zgp

8 mayo, 2012 at 17:38

Responder

Estoy haciendo un trabajo para la universidad, y no tena ni idea por donde empezar con el arduino pero gracias a esta pgina todo se ha vuelto mas fcil. Gracias!

Manuel

14 mayo, 2012 at 5:31

Responder

muchas gracias por dedicar tiempo para las personas como yo que no entendiamos ni j de arduino pero que queremos aprender y divertirnos como ustedes. gracias.

fuzodh

24 octubre, 2012 at 21:04

Responder

Hola,g racias por el tutorial. tengo solo una pregunta que no e encontrado en ningun sitio. cuando cargas una programacion en el arduino para meter una nueva es necesario borrar el anterior cargado o el mismo arduino lo borra al meter el nuevo. no se si me e explicado bien espero que si. un saludo y gracias.

Pablo Murillo
Hola!

25 octubre, 2012 at 23:36

Responder

No, no hace falta borrar nada. Un saludo!!

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ivan Ruiz

13 noviembre, 2012 at 23:39

Responder

Enhorabuena por la pagina!! Esperamos que siga creciendo poco a poco!

juan carlos

17 noviembre, 2012 at 13:16

Responder

Genial. Muchas gracias por el trabajo.

angela

20 diciembre, 2012 at 23:18

Responder

hola!, muy bueno el tutorial! tengo una pregunta, se pueden ejecutar dos scketches distintos al mismo tiempo, quiero que por ejemplo el blink se reproduzca en un circuito y en otro se reproduzca el fading, no se si me he explicado bien, espero que me ayudes con esto gracias!!

Pingback: IDE para Arduino en Ubuntu | Alejandro Troncoso

Albert

30 enero, 2013 at 15:05

Responder

Muchas gracias por las explicaciones. Soy un novato del arduino y ese blog es exactamente lo que necesitaba. Aqui tienes un nuevo seguidor.

Anthony capellan
muy bien explicado.

22 febrero, 2013 at 0:58

Responder

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Morkcop

26 febrero, 2013 at 5:01

Responder

Me encanta este sitio te felicito. aun no tengo un Arduino en mi poder, porque ac en Argentina, esta muy complicada las importaciones por las polticas del gobierno de turno y los distribuidores oficiales, son muy caros $30 dolares.- no se en Europa pero ac es mucho dinero, $250.- Pesos Argentino ms el envi.Espero pronto poder comprarlo y comenzar a experimentar.Quera agregar una modificacin al loop, si me permites Pablo.//Ahora le decimos que hacer con esa salida. void loop(){ if digitalRead(12, LOW) // Si el led esta apagado { digitalWrite(12, HIGH) // lo enciende. } else // sino esta apagado { digitalWrite(12, LOW) // entonces lo apaga } delay(1000); // Espera un segundo antes de comenzar el ciclo nuevamente } Pienso que es mas ordenado, de esta manera el led se encender inmediatamente ya que apagado ya esta, por lo que le dar la orden de encendido, luego antes de iniciar nuevamente el ciclo, esperara un segundo, va al ultimo, porque si lo pusieras al principio del ciclo o bucle o loop, deberas esperar un segundo para ver si realmente esta funcionando, ja

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Gracias por dejarme aportar un poquito.-

Pablo Murillo
Hola!

21 marzo, 2013 at 13:45

Responder

Psate por el foro http://www.arduteka.com/foro y all, entre todos, intentaremos solucionar tus dudas! Un saludo!

Alvaro rey

19 marzo, 2013 at 2:31

Responder

hola buenas me llamo alvaro y soy nuevo con esto, voy a aprender con un amigo que me va a ensear a utilizar estas cosas para saber un poco mas de la electronica. asi que animos a todos y a investigarrrrrr jjiijjiij

Ricardo

21 marzo, 2013 at 12:19

Responder

Hola buenos das. Soy nuevo y me gustara saber cmo puedo alimentar el arduino sin tener que emplear la alimentacin del USB. Es decir en que patillas tendra que conectar la fuente de alimentacin y que voltaje emplea. Un salado y gracias.

Pablo Murillo
open in browser PRO version

21 marzo, 2013 at 13:31

Responder

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Hola! Psate por el foro http://www.arduteka.com/foro y all, entre todos, intentaremos solucionar tus dudas! Un saludo! Pablo.

diego DImatteo

28 marzo, 2013 at 16:37

Responder

Exelente!!!Muy Bueno para los que se suman a este tecnologia de arduino!!!

Jose

10 abril, 2013 at 0:41

Responder

Hola Pablo: Esta bueno este dispositivo Arduino, te comento soy docente de una escuela tcnica, hemos trabajado con PIC 16f84 y con PLC, lo que necesito es como bajar el software para programar el arduino uno. Y el tutorial de las instrucciones. Gracias hasta pronto esta muy bueno tu portal.

Pablo Murillo
Hola!

13 abril, 2013 at 17:35

Responder

Tienes toda la informacin aqu: http://arduino.cc/en/Main/Software

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Un saludo!

Djanos un comentario!
Name *

Email *

Website captcha

Anti-Spam *

Publicar comentario

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Recibir un email con los siguientes comentarios a esta entrada. Recibir un email con cada nuevo post.

Sitios de inters
Arduino.cc Cursos y Talleres Impresoras 3D y Escner 3D Meneame Sicnova 3D

Recent Forum Posts

Arduteka by Arduteka is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License. Acceso

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com