Escolar Documentos
Profissional Documentos
Cultura Documentos
Nombre del profesor: Elmar Montiel Jimnez Nombre del alumno: Emmanuel Murueta Sampayo
arduino
Fecha:01-03-2013
Introduccin:
Arduino es una herramienta, para hacer que los ordenadores puedan sentir y controlar el mundo fsico, es una plataforma de desarrollo, computacin fisca. (physical computing) el cdigo abierto basado en una placa , con un sencillo micro -controlador y un entorno de desarrollo para crear software programas para la placa . se puede usar arduino para crear objetos interactivos , leer datos de una gran variedad de sensores e interruptores y controlar una multitud de tipos de luces y otros actuadores fsicos , los proyectos con arduino pueden ser autnomos o comunicarse con un programa software que se ejecuta en una computadora la placa arduino 1 viene lista para poderla usar y as comenzar a realizar un gran nmero de aplicaciones ,con el software de desarrollo abierto , que es fcil de descargar desde la pgina oficial arduino , la tarjeta arduino puede ser alimentada atraves de la conexin USB o con una fuente de alimentacin externa .
Lnea de pines, los pines 0 y 1 son entrada y salida del puerto serie: TX y RX . Los otros 12 son : Entradas / salidas digitales pines del 2 a 13 , de los cuales 6 de ellos pueden ser usados como pwm ~ los Cuales son: 3,5,6,9,10,11
Conexin ICSP (In-Circuit-SerialProgramming) para Programacin y Conexin. regulador de voltaje micro controlador ATMEGA328P
Lnea de alimentacin:
Podemos encontrar Pines de alimentacin y tierra (Reset, 3V (+), 5V (+), Gnd o tierra (-) (x2) y Externa (+)): Vin, GND, 5V, 3.3V y reset.
Cable USB :
ESPECIFICACIONES TECNICAS :
Micro controlador
ATMEGA 328 P
Voltaje de operacin 5V. Voltaje de entrada Voltaje de entrada Entrada/salida digital Entrada/salida analgica Corriente entrada/salida Corriente de pin Flash memory Sram EEprom Clock Speed 7-12V. 6-20V. 14(6 pwm.) 6 de 40 mA. 50 mA. 32KB. 2KB. 1KB. 60 mHz.
http://arduino.cc/
Encontraremos la zona de descargas (Download) que nos permite descargar sin problemas la versin Arduino 1.0.3 que por el momento es la ms reciente, que se encuentra para cada uno de los siguientes sistemas operativos: Windows, Mac OS X, Linux: 32 bit y 64 bit y las fuentes de esos programas, (sources), para que cualquiera que quiera pueda copiarlos, cambiarlos, o mejorarlos pues no nos olvidemos que estamos hablando de un mundo OPEN SOURCE.
Despus solo basta con dar click en la opcin, que segn nos convenga, en mi caso es windows
Despus de que le damos click. Inicia la descarga del archivo, este ser un archivo comprimido .zip , nos aseguramos de guardar el archivo donde nos sea fcil de encontrar, al terminar la descarga solo nos bastara con descomprimir los archivos e instalar los drivers:
Hay que tener en cuenta la direccin de nuestro archivo ya que nos ser necesario para el proceso de instalacin de los drivers:
Para instalar los drivers en el Sistema Operativo de Microsoft Realizaremos los siguientes pasos:
Emerger siguiente:
una
pantalla
como
la
Nos mostrara 1 ventana en la cual el asistente de instalacin para hardware nuevo encontrado, nos muestra dos opciones
Paso 2: Seleccionamos la segunda opcin instalar desde una lista o Ubicacin especifica (avanzado).Emerger una nueva ventana:
En automtico Windows nos selecciona opciones por default y nos muestra la direccin de los drivers
En caso de que no encuentre la carpeta de los drivers , damos click en examinar y localizamos la carpeta y damos click en el botn siguiente, en caso de que esta opcin este deshabilitada , seleccionamos la casilla que dice no buscar ,seleccionare el controlador que se va a instalar , despus presionamos siguiente.
Y emerger otra ventana, que nos mostrara como se instalan los drivers. Despus de unos segundos emerger una ventana encima de la anterior, con un mensaje de preventivo sobre la seguridad de Windows para confirmar ,este muestra 2 opciones , una es para continuar y la otra para detener la instalacin . Le damos en continuar
Continuar
Despus de presionar el botn de continuar terminara la instalacin emerger una ventana como la que se muestra a continuacin y le damos click en la opcin finalizar:
De igual forma podemos ingresar la siguiente direccin para tener ms informacin sobre el tema: http://arduino.cc/es/Guide en donde nos mostrara una gua de como descargar e instalar el software y los drivers que necesitamos , segn sea nuestro sistema operativo
Despus de haber finalizado la instalacin de los drivers, solo verificaremos que Windows encuentre he identifique nuestra placa arduino, para ello se mostraran los siguientes pasos:
Paso 1:
Abrimos la ventana de mi pc equipo y damos click derecho con el mouse en el rea donde encontramos las unidades de almacenamiento ,usb`s ,cmaras discos externos etc. ,pero sin seleccionar nada ,y emerger una ventana de dialogo con varias opciones , y elegimos la opcin: propiedades .
Despus emerger una nueva ventana que nos mostrara las propiedades del sistema: y elegimos la pestaa con la opcin de hardware
Desplegamos las opciones de Puertos (COM&LPT) ah tenemos Que encontrar a nuestra placa arduino Con nombre: Arduino UNO R3 (COM3)
Una vez instalados los drivers, procedemos con la ejecucin del programa arduino.exe que se encuentra en la carpeta de descarga que se extrajo junto con los drivers localizamos el icono y damos doble click.
De inmediato aparecer la ventada de inicio de arduino y despus de unos segundos aparecer la ventana de edicin.
Estructura de programacin void setup() { } void loop() { Ejecutamos seguidamente el cdigo } Configuracin de puertos Creacin de variables Uso de libreras Funciones Etc.
NOTA:
antes de realizar alguna prctica fsica primero Debemos realizar una simulacin en este caso Nos apoyaremos con proteus
Uno de los mejores programas para simular la placa Arduino UNO y las dems que existen, es Proteus. Por una parte se necesita el programa con la plantilla de Arduino, y por otra se necesita el programa que queremos simular con la extensin .hex. Proteus y Arduino
Una vez instalado el programa proteus, descargaremos el fichero correspondiente a la placa de Arduino que queramos simular. En esta pgina encontramos el link:
http://elektronikadonbosco.blogspot.mx/2012/02/como-simular-arduino-en-proteus.html Si abrimos el esquema correspondiente al Arduino UNO con el Proteus, (versin 7.7 o superior) nos encontraremos con la siguiente vista:
El Arduino UNO con sus pines de conexin En ella se puede ver el modelo UNO de Arduino con los elementos que componen dicha placa, como el LED de indicacin de encendido, el led 'L' conectado a la patilla digital 13, las patillas nombradas, etc. Para poder simular el cdigo, deberemos decirle al chip qu cdigo y dnde se encuentra y para ello deberemos acceder al Microcontrolador del Arduino. Esto lo conseguiremos haciendo clic encima del Arduino, con la combinacin de teclas 'CTRL+C' accederemos al circuito que forma el Arduino en s y
haciendo doble clic sobre el Microcontrolador se nos abrir la ventana de configuracin del ATmega328P.
El ATmeg328p que compone el Arduino Uno Una vez all slo nos queda cargar el cdigo hecho con arduino haciendo click derecho sobre el Microcontrolador, emerger una ventana de dialogo y seleccionamos la opcin de edit propieties de igual forma podemos teclear Ctrl+E. Para que aparezca la ventana de edicin de propiedades:
Aparecer la ventana edicin de propiedades, donde introduciremos la direccin del archivo '.hex' generado por el Arduino durante la compilacin. la direccin del archivo creado con la compilacin del programa en el software arduino se selecciona , se copia tecleando Ctrl+C y se pega en la seccin donde dice: program file: El Microcontrolador ya sabe que tiene que ejecutar, por lo que salimos de la ventana aceptando los cambios, pulsamos 'Ctrl+X' para volver al circuito del Arduino y hacemos clic sobre el botn de play para iniciar la ejecucin del cdigo, pudiendo ver su resultado si todo ha salido bien.
Una vez que hayamos indicado la ruta al archivo .hex no hace falta que se la volvamos a indicar, directamente si modificamos el cdigo en arduino, le damos a verificar en el software
arduino y al darle play en el Proteus, automticamente tomar la nueva versin del cdigo. Tambin se puede verificar el cdigo mientras la simulacin est en curso sin ningn problema. Obteniendo el .hex Por defecto, al verificar el cdigo (compilar) el archivo .hex se guarda en una carpeta temporal, por lo que su acceso no ser sencillo. Tenemos dos posibilidades: se puede cambiar para siempre donde guardar el archivo .hex de Arduino o sino que Arduino diga en que carpeta se ha creado el archivo. Ambas formas se describirn a continuacin:
nos
Para conocer la ruta en que el compilador guarda el '.hex' mantendremos pulsada la tecla 'Mayus' o 'Shift' mientras hacemos clic sobre el botn de compilar, obteniendo en la pantalla de depuracin la direccin de dicho archivo. para conocer la ruta, hay que ir a la pestaa 'archivo', y seleccionamos la opcin 'Preferencias' , teclear ctrl+ comman
Emerger la ventana donde modificaremos la direccin para la creacin del `.hex` seleccionamos la opcin: Navegar y buscamos donde queremos que se cree el archivo para localizarlo y seleccionamos la casilla de : Compilacin. Se podra seleccionar Carga pero no tiene demasiado sentido ya que si estamos simulando es porque no queremos tener la placa Arduino conectada al PC,
Hay que tener en cuenta que la ruta del archivo puede pasar por carpetas ocultas y para mostrarlas haremos la siguiente secuencia: 1. Inicio -> Panel de control -> Opciones de carpeta 2. Abrimos la pestaa 'Ver' 3. Activamos 'Mostrar todos los archivos y carpetas ocultas' Podemos ver paso a paso la creacin de un circuito en Proteus y la simulacin con el archivo .hex Despus de ver cmo podemos simular la carga del cdigo para nuestra placa arduino en proteus, antes de cargarlo a la placa fsica, ha ora si podemos iniciar analizando las estructuras de control para la tarjeta arduino.
Practica n.2:
La prctica consiste en prender y apagar un led por un tiempo , el cual ser modificado para ver su comportamiento . Materiales: 1 placa Arduino uno con su respectivo cable USB. 1 led rojo. NOTA: puede ser de cualquier color 1 resistencia de 330 (colores: naranja, naranja, marrn, dorado) . 1 protoboar. (Placa de pruebas para circuitos electrnicos). 1 pc con los programas instalados (proteus/arduino). Cable telefnico para conectar los dispositivos en el protoboar.
Estructura bsica del cdigo de programacin arduino: void setup() { } void loop() { Ejecutamos seguidamente el cdigo } Configuracin de puertos Creacin de variables Uso de libreras Funciones Etc.
NOTA: Para la primer practica con arduino emplearemos algunos trminos que arduino
reconozca, simularemos en proteus para verificar que el cdigo sea realmente sea el correcto,
de la forma que se menciono anteriormente y procederemos a cargar el cdigo a nuestra placa fsica.
Cdigo en arduino:
//Practica N2 prender un led void setup() { //seleccion del pin que emplearemos como salida pinMode (13,OUTPUT); } void loop() { //instruccion para prender el led digitalWrite (13,HIGH); delay (1000); //intruccion para apagar el led digitalWrite (13,LOW); delay (1000); }
Despus de verificar que no hay errores, procedemos a introducir las ordenes a la placa arduino simulacin proteus, para esto solo basta con copilar, no es necesario tener la placa fsica conectada al CPU para la simulacin esta la conectamos despus, para cargar el programa a nuestra placa fsica, ha hora simulamos en proteus:
Nota:
A continuacin se muestran los estados del led en la simulacin con proteus y abajo las fotos de la placa arduino fsica conectada
if (condicional)
se utiliza para probar si una determinada condicin se ha alcanzado, como por ejemplo averiguar si un valor analgico est por encima de un cierto nmero, y ejecutar una serie de declaraciones (operaciones) que se escriben dentro de llaves, si es verdad. Si es falso (la condicin no se cumple) el programa salta y no ejecuta las operaciones que estn dentro de las llaves, El formato para if es el siguiente: if(alguna variable >50) { //Realiza una operacin } Nota: Tenemos que tener en cuenta el uso especial del smbolo '=', poner dentro de if (x = 10), Podra parecer que es vlido pero sin embargo no lo es ya que esa expresin asigna el Valor 10 a la variable x, por eso dentro de la estructura if se utilizara X==10 que en Este caso lo que hace el programa es comprobar si el valor de x es 10.. Ambas cosas son Distintas por lo tanto dentro de las estructuras if, cuando se pregunte por un valor se Debe poner el signo doble de igual ==
If else if else if . if else viene a ser un estructura que se ejecuta en respuesta a la idea si esto no se cumple haz esto otro. Por ejemplo, si se desea probar una entrada digital, y hacer una cosa si la entrada fue alto o hacer otra cosa si la entrada es baja, Ejemplo 1 de estructura: If (pin cinco input<500) { // Accin A } else { // Accion B }
Switch /Case:
Switch (valor){ Case 1: //hacer algo cuando sea = 1 Break; Case 2: //hacer algo cuando sea = 2 Break; Default: //si nada coincide ejecuta default //default es opcional } While: Un bucle del tipo while es un bucle de ejecucin continua mientras se cumpla la expresin colocada entre parntesis en la cabecera del bucle. La variable de prueba tendr que cambiar para salir del bucle. La situacin podr cambiar a expensas de una expresin dentro el cdigo del bucle o tambin por el cambio de un valor en una entrada de un sensor
do While: El bucle do while funciona de la misma manera que el bucle while, con la diferencia de que la condicin se prueba al final del bucle, por lo que el bucle siempre se ejecutar al menos una vez. Do { Delay(50)//espera aque los sensores se estabilicen X= read sensors (); //comprueba los sensores } While(x<100); Si se cumple la condicin se repite el bucle
for:
La declaracin for se usa para repetir un bloque de sentencias encerradas entre llaves un nmero determinado de veces. Cada vez que se ejecutan las instrucciones del bucle sevuelve a testear la condicin. La declaracin for tiene tres partes separadas por (;) vemos el ejemplo de su sintaxis: For (int x = 0;x<100;++){ //se repite accin 100 veces La inicializacin de una variable local se produce una sola vez y la condicin se testea cada vez que se termina la ejecucin de las instrucciones dentro del bucle. Si la condicin sigue cumplindose, las instrucciones del bucle se vuelven a ejecutar. Cuando la condicin no se cumple, el bucle termina.
Prctica numero 3:
Entradas digitales : Nota: antes de comenzar con la prctica, se mostrara como polarizar el botn y conexin con arduino , para tener una lectura estable:
va a leer 5 v. como tal ,el valor depender de a Que pin gamos la conexin ya que esta puede ser a un pin digital o en su defecto a un Anlogo,
En el caso de ser un pin anlogo nuestro arduino registrara un valor de 1023 esto es Equivalente a 5v. Para responder al porque, solo hace falta hacer un pequeo Parntesis y decir, que nuestra placa arduino tiene registros de datos con combinaciones De diez dgitos para cada pin anlogo, ya que estas corresponden al sistema binario, para ser mas exactos nos referimos a numeros de base 2 elevado aun exponente , en este caso es 10 ,
20 21 22 23 24 25 26 27 28
= = = = = = = = =
1 2 4 8 16 32 64 128 256
la suma de estos nmeros nos da como resultado : 1+2+4+8+16+32+64+128+256+512=1023 1023 es el valor mximo que se puede obtener al hacer combinaciones en binario con 10 digitos por lo tanto: 1024 es equivalente a 5v, pero nuestro arduino solo mostrara 1023
En el caso del botn, es ms cmodo trabajar con los pines digitales , ya que estos trabajan solo con dos estados 1 (con voltaje) y 0 (con ausencia de voltaje) ,
Cdigo en arduino:
// PROGRAMA 2
//Detecta si el botn ha sido presionado o no y enciende el led en consecuencia int ledPin=13; //pin del led int inPin=10; // pin del pulsador int valor=0; //valor del pulsador void setup() { pinMode (ledPin, OUTPUT); // inicializa el pin 13 como salida digital pinMode(inPin, INPUT); // inicializa el pin 10 como entrada } void loop(){ valor=digitalRead (inPin); //lee el valor de entrada digital digitalWrite(ledPin,valor); }
Como se puede observar al mantener presionado el botn, el led se mantiene encendido, ya que este es el reflejo del estado del botn
Al dejar de presionar el botn , el led se apaga ,y al presionarlo se prende , como se comento con anterioridad el led es el reflejo del estado del botn
PW (ancho de pulso) o ancho de pulso, representante al ancho (en Tiempo) del pulso. Perodo / longitud (Periodo), o Ciclo, es EL TIEMPO total Que dura La Seal. La Frecuencia s define Como la CANTIDAD de pulsos (Estado de encendido / apagado) Por Segundo y Su Expresin matemtica es la inversa del Periodo, Como Muestra la siguiente equacin.
El Periodo es Medido en Segundos, de Este Modo La Unidad en la Cual se mide la Frecuencia (Hz) es la inversa a la Unidad de Tiempo (Segundos). EXISTE Otro Parmetro Asociado o Que define a la Seal PWM, denominado "Ciclo de trabajo", el Cual es determinacin el PORCENTAJE de Tiempo Que el pulso (o Voltaje Aplicado) est en Estado activo (a) Durante la ON Ciclo. Por EJEMPLO, Si Una Seal Tiene PERIODO DE 10 ms y Sus pulsos de ancho (PWM) 2ms, dicha ciclo Seal Tiene sin impuestos de 20% (20% on y 80% off). El siguiente grfico Muestra tres Seales PWM con Diferentes "ciclos".
El valor del PWM Es de 0 a 255 ,ya que este valor esta representado o mejor dicho amacenado como un byte ,recordemos kque un byte esta constituido por 255
23 24 25 26 27 28 29 210