Cintillo Institucional

wiki comunidad

Proyecto Hardware Libre Cenditel

Página Cenditel

wiki Cenditel

Plataforma de Desarrollo Colaborativo

Instalación de programas (Unidad 001/03)

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 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 enlace IDE no-Java

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: Instrucciones instalación en linux

¿Por qué trabajar con Arduino?

Revisión de la interfaz




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: 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?

Revisión de la interfaz

Comandos mas usados en PROCESSING

segundopro.gif
figura 1: apariencia de la interfaz del Processing.

Primeros Programas con Processing

Primer Ejemplo

Es un programa basado en codigo de processig, consiste en mostrar una figura en el entorno de desarrollo del sistema utilizando herramientas de facil conocimiento y aplicacion.

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. para descarga de fuente

/* Primer programa Processing. */
int i;

void setup() {
  size(250, 250);
}

void draw() {
  background(255, 204, 0);
  PFont font;
  font = loadFont("Ziggurat.vlw");
  textFont(font, 32);
  text("Cenditel", mouseX, mouseY);
  smooth();
}

Un poco mas alla

Un segundo 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

======figura 1====== y.jpg ======figura2======

    //declaración de banderas
//luego debe trabajarse con un vector
int x=0;
int x2=0;
int x3=0;
int x4=0;
int x5=0;
int x6=0;
int x7=0;
int x8=0;
int x9=0;


void setup() {
  size(260,260);
  stroke(0);
  background(25,400,43);
}

void draw() {
  // cuadricula con rectángulos sin bordes
  // cada cuadro de 80x80
  // con espesor 10
  rect(80,0,10,300);
  rect(170,0,10,300);
  rect(0,80,400,10);
  rect(0,170,400,10);
}

void mousePressed()  {
  background(25,400,43);
  //para dibujar en el primer cuadrante
  if ((mouseX < 80) && (mouseX > 0) && (mouseY > 0) && (mouseY < 80))
       x=x+1;
  //para dibujar en el segundo cuadrante
  if ((mouseX < 170) && (mouseX > 90) && (mouseY > 0) && (mouseY < 80))
       x2=x2+1;
  //para dibujar en el tercer cuadrante
  if ((mouseX < 240) && (mouseX >180) && (mouseY > 0) && (mouseY < 80))
       x3=x3+1;

//para dibujar en el 4to cuadrante
   if ((mouseX < 80) && (mouseX >0) && (mouseY >90) && (mouseY < 170))
             x4=x4+1;

    //para dibujar en el 5to cuadrante
   if ((mouseX < 170) && (mouseX >90) && (mouseY > 90) && (mouseY < 170))
       x5=x5+1;


             //para dibujar en el 6to cuadrante
   if ((mouseX < 240) && (mouseX >170) && (mouseY > 90) && (mouseY < 170))
       x6=x6+1;

 //para dibujar en el 7to cuadrante

  if ((mouseX < 80) && (mouseX >0) && (mouseY >170) && (mouseY < 240))
             x7=x7+1;
        //para dibujar en el 8to cuadrante

   if ((mouseX < 170) && (mouseX >90) && (mouseY >170) && (mouseY < 240))
             x8=x8+1;
        //para dibujar en el 9to cuadrante


    if ((mouseX < 240) && (mouseX >170) && (mouseY >170) && (mouseY < 240))
             x9=x9+1;


  if (x == 1){
           line(0,0,80,80);
           line(0,80,80,0);
       }
  if (x == 2)
           ellipse(40, 40, 55, 55);
  if (x == 3)
           x= 0;

  if (x2 == 1){
           line(90,0,170,80);
           line(90,80,170,0);
       }
   if (x2 == 2)
           ellipse(128, 40, 55, 55);
   if (x2 == 3)
           x2=0;


   if (x3 == 1){
           line(180,0,260,80);
           line(180,80,260,0);
         }
   if(x3==2)
           ellipse(216, 40,55,55);
   if(x3==3)
           x3=0;

   if (x4 == 1){
         line(0,90,80,170);
         line(0,170,80,90);
         }
   if(x4==2)
           ellipse(40,130,55,55);
   if(x4==3)
           x4=0;

       if (x5 == 1){
           line(90,90,170,170);
           line(90,170,170,90);
         }
       if(x5==2)
           ellipse(132, 130,55,55);
       if(x5==3)
            x5=0;


       if (x6 == 1){
           line(180,90,270,180);
           line(260,90,180,170);


       }
       if(x6==2)
           ellipse(220, 130,55,55);
       if(x6==3)
            x6=0;

   if (x7 == 1){
         line(0,260,90,170);
         line(0,180,90,270);
         }
   if(x7==2)
           ellipse(40,220,55,55);
   if(x7==3)
           x7=0;

   if (x8 == 1){
         line(80,170,180,270);
         line(170,180,90,260);
         }
   if(x8==2)
           ellipse(128, 220,55,55);
   if(x8==3)
           x8=0;

   if (x9 == 1){
         line(170,170,260,260);
         line(180,260,260,180);
         }
   if(x9==2)
           ellipse(220, 220,55,55);
   if(x9==3)
           x9=0;
 }
   //cierre del Mousepressed

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: enlace a documento

Enlaces Importantes