## page was renamed from hlpd/curso_arduino/estructura/uni00103 ## page was renamed from hlpd/curso_arduino/estructura/uni001 ||[[http://hl.cenditel.gob.ve/wiki/|wiki comunidad]] ||<#ffff33 style="vertical-align:top;text-align:center; ">[[hlpd|Proyecto Hardware Libre Cenditel]] ||<#ffff66 style="text-align:center; ">[[http://www.cenditel.gob.ve/|Página Cenditel]] ||<#ffff99 style="vertical-align:top;text-align:center; ">[[http://wiki.cenditel.gob.ve/wiki|wiki Cenditel]] ||<#ffffcc style="text-align:center; ">[[http://fsl.cenditel.gob.ve/|Plataforma de Desarrollo Colaborativo]] || = Instalación de programas (Unidad 001/03) = . {{attachment:logohl.png||height="132",width="180"}} {{attachment:logohl.png||height="132",width="180"}} {{attachment:logohl.png||height="132",width="180"}} <> == Herramientas AVR-gcc == La tarjeta Arduino, la podemos programar directamente por consola de linux, es decir la programación del hardware, se realiza mediante un programa llamado bootloader, que permite la programación del por medio del puerto USB. Para mas detalle vaya al [[http://hl.cenditel.gob.ve/wiki/avr/arduino|enlace a seminario AVR]] == IDE Arduino No-java == Desde Cenditel estamos impulsando una plataforma No-java (ver aclaratoria al final) desde donde se pueden manejar los programas, desacargar al hardware, en el siguiente enlace se realiza la justificación, notas para la instalación [[http://wiki.cenditel.gob.ve/wiki/hlpd/idearduino|enlace IDE no-Java]] ##=== Instalación de Arduino en Debian GNU/Linux 5.0 === ##Desde la consola, ejecutar: ## ##{{{ ## ## # aptitude install gcc-avr avr-libc sun-java6-jre ## # update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-6-sun-1.6.0.12/bin/java" 1 ## # update-alternatives --set java /usr/lib/jvm/java-6-sun-1.6.0.12/bin/javaç ## # exit ## ##}}} ##Luego descargas la IDE Arduino desde http://www.arduino.cc/en/Main/Software, y la descomprimes en el directorio que quieras con el siguiente comando: ## ##{{{ ## ## # tar xvfz arduino-VERSION-linux2.tgz ##}}} ##y luego te metes al directorio y ejecutas: ## ##{{{ ## ##$ cd arduino-VERSION<
><
> ##$ ./arduino ##}}} == IDE Arduino == Este programa permite la programación de la tarjeta arduino desde un ambiente gráfico que permite para fines didacticos el avanzar con mayor velocidad. Para descargar el programa lo puede realizar de manera gratuita desde su página: http://www.arduino.cc/es/ y para instalarlo: [[hlpd/curso_arduino/uni00103/installarduino|Instrucciones instalación en linux]] === ¿Por qué trabajar con Arduino? === * Tiene un lenguaje simple, basado en C/C++. * Permite desde un primer contacto estar programando directamente el hardware. * Es un proyecto open-source, por lo que debido a su precio podemos probar y experimentar sobre la misma tarjeta. * Tiene una comunidad de desarrollo alrededor que permite un acceso a referencias, ejemplos, proyectos de gran ayuda. === Revisión de la interfaz === . {{attachment:compile.gif}} Verificar/Compilar. Chequea el código, identificando los errores. . {{attachment:stop2.gif}} Parada, Detiene el monitor del puerto serial. . {{attachment:new2.gif}} Crea nuevo proyecto. . {{attachment:open2.gif}} Presenta un menú para abrir proyectos previamente guardados y también muestra los proyectos de ejemplos. Presents a menu of all the sketches in your sketchbook. Note: due to a bug in Java, this menu doesn't scroll; if you need to open a sketch late in the list, use the File | Sketchbook menu instead. . {{attachment:save2.gif}} Guarda el proyecto actual dentro de la carpeta sketchbook/. Se puede guardarlo con un nombre distinto por el menú File → Save as. . {{attachment:upload2.gif}} Descarga el programa compilado desde el PC hasta la tarjeta arduino. . {{attachment:serial.gif}} Realiza el monitoreo del puerto serial, visualiza la data enviada desde la tarjeta arduino. <
><
><
> == IDE Procesing == Processing es un programa "open source" que es utilizado para desarrollo de programación de gráficos, animaciones, interacciones. Usualmente utilizado por estudiantes, artistas, desarrolladores para estudiar, entender y producir diseños gráfico con un lenguaje sencillo. Nace para la enseñar fundamentos de programación dentro de un contexto visual. y para instalarlo: [[hlpd/curso_arduino/uni00103/installarduino|Instrucciones instalación en linux]] Procesing es una plataforma de la que nace el IDE de Arduino (por ello su similitud). Para su descarga, puede acceder a la página: http://www.processing.org/ === ¿Por qué trabajar con Processing? === * Porque de este proyecto se apoya el proyecto arduino. * Por la finalidad del curso, se necesita un programa sencillo y rápido de programar que permitan a los participantes "comenzar hacer". * Es un proyecto open-source * Porque, sin ser un competidor directo de Flash, puede ser una alternativa. === Revisión de la interfaz === . {{attachment:play.gif}} El botón de reproducir (play), compila el código abriendo las ventanas de visualización que se hayan configurado y ejecutando el programa. . {{attachment:stop.gif}} El botón de parar (stop), se utiliza para detener la ejecución del programa. . {{attachment:new.gif}} Crea un nuevo (new) proyecto. Para crear un programa en una nueva ventana se debe usar File → New. . {{attachment:open.gif}} Abre (open) un proyecto existente. Provee un menú donde se podrá optar por programas propios o de ejemplos preestablecidos. Para crear un programa en una nueva ventana se debe usar File → Open. . {{attachment:save.gif}} Guarda (save) en proyecto actual dentro de la carpeta sketchbook/. Se puede guardarlo con un nombre distinto por el menú File → Save as. . {{attachment:export.gif}} Exporta (export) el proyecto a la carpeta de sketchbook, esta vez como un Applet de java, completo con su propio archivo html. === Comandos mas usados en PROCESSING === * (INT) para declarar las variables,esta funcionalidad coloca las variables o registros que se van a usar el el programada detallando su posicion en el sistema. * (VOID SETUP) espacio de configuracion ,casilla de comienzo de programa en esta se debe especificar diferentes variantes dependiendo de las necesidades ejemplo(color, tamaño,etc) * (SIZE)funcionalidad la cual su primordial desempeño es el ajuste basado en medidas de longitud esta insertado en el centro de configuracion y se expresa en numeros enteros separados por una coma(000,000) * (stroke)Establece el color usado para dibujar líneas y bordes alrededor de las formas. con cada valor en el rango de 0 a 255 este tambien se debe escribir en el centro de configuraciones. * (VOID DRAW)comando que se utiliza para llamar despues de cada linea de codigo cerrada dentros de sus parametros que se repita depndiendo de las especificidades que se le otorguen * (BACKGROUND)en esta operacion se fijara el color de fondo de el programa o representacion grafica que se este utilizando es expresado en números de tres cantidades enteras separadas con una coma (xx,xxx,xx) * (MOUSE PRESSED)en esta funcionalidad temos una gama de funcionaldades ,en este caso mouse pressed su funcion principal es cualdo el mouse este en un lugar especifico del sistema cada vez que lo presines existira una un cambio el el sistema previamente configurados en las lineas de codigo * (MOUSE X,MOUSE Y)funciones que se deben usar separadas en el empotramiento de unas lineas de codigo , mouse x es el desplazamiento que va tener el cursor y la delimitacion que va ha existir en ese medio de movimiento , de igual forma mouse y va a delimitar donde va ha ocurrir una evento dependiendo de la posicin del mouse en forma vertical con previa establecimientos de parametros * (IF)tener el control en la aceptacion de las lineas de codigo de un programa viene dado por las desiciones que se tomen esta funcion solo tomara desiciones cerradas con condiciones establecidas con anterioridad * (LINE)simplemente es el dibujo de una linea que se expresara en numeros dependiendo de su ubicacion en el sistema se expresa en numeros separados con comas estas números simbolizan la ubicación en los ejes coordenados(0,0,0,0) * (RECT)rectángulo que se expresara de igual forma en números que simbolizaran el alto y ancho y su posición en los ejes del sistema (eje x,eje y,alto,ancho). * (QUAD)cuadrado el el espacio del sistema se debe especificar los cuatro puntos con sus coordenadas especificas (x1,y1.x2,y2.x3,y3,x4,y4) * (POINT)punto de igual manera se debe especificar su posición exacta en coordenadas * (ELLIPSE)figura que se representa en el sistema i de igual manera se debe especificar sus coordenadas de posición y su variaciones de forma se escribe en cuatro numeros enteros separados por una coma (0,0,0,0) . SI SE DESEA CONOCER MAS ACCEDA AQUI [[http://www.processing.org/reference|ver mas]] {{attachment:segundopro2.gif||height="482px",width="399px"}} <
> ''figura 1: apariencia de la interfaz del Processing.'' <
><
><
> == Primeros Programas con Processing == === Primer Programa === Es un programa basado en código de processig, consiste en mostrar una figura en el entorno de desarrollo del sistema utilizando herramientas de fácil conocimiento y aplicación. Para poder ejecutarlo es necesario que el archivo de la imagen que queremos procesar este almacenado en la carpeta "data" que se encuentra en el archivo temporal que el programa va a desplegar desde el momento que se empieza a crear el código. [[attachment:Ziggurat.vlw|para descarga de fuente]] . * [[hlpd/curso_arduino/fuentes/caf0010302|Enlace al primero]] {{attachment:pro3.gif}} <
> ''figura 2. Apariencia del primer programa'' <
><
> === Segundo Programa: La Bola === Para este programa, se introduce el uso de otras funciones del processing que permiten el manejo de objetos dinámicamente, específicamente es una elipse que se le agregan movimientos horizontales y verticales, . * [[hlpd/curso_arduino/fuentes/caf0010302|Enlace al segundo]] {{attachment:segundopro22.gif||height="151px",width="423px"}} <
> ''figura 3. Apariencia del segundo programa'' <
><
> === Tercer Programa === Un tercer programa donde se pueden denotar otras funcionalidades con un grado de complicación mas elevado para las personas con ganas de profundizar sobre el funcionamiento del programa, con diferentes variantes expuestas en este ejemplo. En este programa se logro poder delimitar las áreas donde el mouse tocara en la cuadricula, aparecerá una x o un cero respectivamente,en el primer click aparecería una x que en el código de programación no en mas sino el dibujo de dos lineas cruzadas entre si,en el segundo click aparecerá una elipse y al tercero se desaparecerá cualquier figura que se halla dibujado en el espacio elegido.Con la finalidad de conocer las funcionalidades del programa y tratar de delimitar zonas de trabajo especificas.La idea fundamental es que el usuario interactúe con este programa y descubra paso a paso toda la gama de soluciones al alcance de un click.Como se muestra en la figura 1 es el entorno donde se creara el código y sus diferentes funcionalidades en la parte superior ,en la figura 4 se muestra la cuadricula que es uno de los primeros pasos a seguir cuidando los detalles de color de fondo entre otras (especificadas en el código), {{attachment:segundopro3.gif}} <
> ''figura 4. Apariencia del tercer programa'' . * [[hlpd/curso_arduino/fuentes/caf0010302|Enlace al tercero]] <
><
> == Aclaratoria == En Cenditel existe una posición definida en cuanto al uso de java, pero desde Cenditel estamos impulsando el desarrollo de herramientas "no java", como el IDE Arduino, pero para efectos de este curso, por ser un instrumento educativo se considera utilizar estos programas, para incentivar el uso del hardware y motivar hacia el desarrollo de estas herramientas, para leer el documento completo: [[attachment:PertinenciaJavaVenezuela.pdf|enlace a documento]] == Enlaces Importantes == * [1] http://www.processing.org/ * [2] http://www.arduino.cc/es/ * [3] http://joan.cat/processing/cs/index.html * [4] http://go.yuri.at/p5/tutorial/