domingo, 25 de agosto de 2013

LABORATORIO 4

DESCRIPCIÓN

En este laboratorio se controlaran el tiempo de apagado y el tiempo de encendido de los leds con un interfaz desarrollado con un programa de desarrollo de controladores en el cual simularemos dos potenciometros, los cuales eran usados en el laboratorio pasado para controlar los tiempos de apagado y encendido de los diodos leds. la comunicación entre este programa y el controlador arduino se usara por medio de comunicación serial la cual nos permitirá enviar datos rápidamente al arduino, luego este interpretara dichos datos y según las instrucción indicadas en el programa del chip arduino este actuara y cumplirá con las instrucciones indicadas.

Como se podra apreciar en la siguiente imagen, se hace muestra de la estructura del programa y el interfaz de mando del sistema processing.


IMAGEN DEL INTERFAZ DE MANDO


IMAGEN DEL SISTEMA DE PROGRAMACIÓN EN ARDUINO y PROCESSING


IMAGEN DE TRABAJO EN CONJUNTO DE AMBOS PROGRAMAS Y EL USO DEL INTERFAZ DE MANDO. 


MATERIALES

  1. 8 diodos led
  2. Kit de desarrollo arduino duominalove
  3. 8 resistencias de 220 ohmios
    DIAGRAMAS



    los diagramas fueron desarrollados con el programa de diseño de circuitos llamado fritzing

    DIAGRAMA DE MONTAJE EN PROTOBOARD


    DIAGRAMA ESQUEMÁTICO



    DIAGRAMA PCB PARA MONTAJE EN TARJETA PERFORADA

    FOTOS DEL PROCESO DE MONTAJE

    foto 1

    foto 2

    foto 3


CÓDIGO PROCESING

import processing.serial.*;
import controlP5.*;
ControlP5 cp5;
Slider slider1;
//Button boton1;
Knob   perilla1;
Serial puerto;

void setup(){
  size(600,400);
  puerto = new Serial(this, Serial.list()[0],9600);
  cp5 = new ControlP5(this);
  slider1 = cp5.addSlider("t",0,1000,200,40,40,300,40);
  slider1.setColor(new CColor (0xFF00FF00,0xFF808080,0xFFFF0000,0xFFFFFFFF,0xFFFFFFFF));
 // boton1 = cp5.addButton("aceptar",50,40,100,80,40);
 // boton1.setColor(new CColor (0xFF00FF00,0xFF808080,0xFFFF0000,0xFFFFFFFF,0xFFFFFFFF));
  perilla1 = cp5.addKnob("q",0,500,150,400,40,100);
  perilla1.setColor(new CColor (0xFF00FF00,0xFF808080,0xFFFF0000,0xFFFFFFFF,0xFFFFFFFF));
  }
  
  void draw()
    {
    background(0x00000000);
    }
    
    void controlEvent (ControlEvent  theEvent){
     
     String nombre=theEvent.getController().getName();
      int valor=int(theEvent.getController().getValue());
      println( nombre + ":" + valor);
     puerto.write(nombre+valor);
     } 

CÓDIGO ARDUINO

#define MAXLED 8

int led [MAXLED]={2,3,4,5,6,7,8,9};
int valor=0;
int i=0; 
int t_on=500;
int t_off=100;
int inc=1;

void setup(){
  Serial.begin(9600);
  for (int i=0; i<MAXLED; i++){
    pinMode(led[i], OUTPUT);  
  }
}

void loop() {
  if (Serial.available()>0){
    valor=Serial.read();
    if(valor=='t')
      t_on=Serial.parseInt();
    
    if(valor=='q')
      t_off=Serial.parseInt();


  }
  on(led[i], t_on);
  off(led[i], t_off);
  i+=inc;
  if (i>MAXLED-1) inc=-1;
  if (i==0) inc=+1;

}

void on(int led, int ms) {
  digitalWrite(led, HIGH);
  delay(ms);
}

void off(int led, int ms) {
  digitalWrite(led, LOW);
  delay(ms); 
}


sábado, 17 de agosto de 2013

LABORATORIO 3

DESCRIPCIÓN

En este laboratorio se controlaran el tiempo de apagado y el tiempo de encendido de los leds con dos potenciomentros, por medio del arduino duemilanove que es el que interpretara la señal analógica de entrada proveniente de los potenciometros. todo esto  es a una función del arduino llamada analogRead, que es la encargada de leer los datos del potenciometro, ademas usamos la función map para simplificar el valor obtenido que es desde 0 hasta 1023, con el map los valores quedaran de 0 a 7, de esta forma sera mucho mas facil controlar en cambio de los leds.


MATERIALES

  1. 8 diodos led
  2. kit de desarrollo arduino duominalove
  3. 8 resistencias de 220 ohnmios
  4. 2 potenciometro de 1k ohnmios
  5. DIAGRAMAS



    los diagramas fueron desarrollados con el programa de diseño de circuitos llamado fritzing

    DIAGRAMA DE MONTAJE EN PROTOBOARD  




  6. DIAGRAMA ESQUEMATICO

    DIAGRAMA PCB PARA MONTAJE EN TARJETA PERFORADA



    FOTOS DEL PROCESO DE MONTAJE


    foto1


     foto 2

    foto 3

     foto 4

     foto 5

    CÓDIGO

    const int MAXLED = 8;
    int led[MAXLED] = {2,3,4,5,6,7,8,9};
    int potenciometro1 = A0;
    int potenciometro2 = A1;

    void setup() {
      for (int i=0; i<MAXLED; i++)
        pinMode(led[i], OUTPUT);
        pinMode(potenciometro1, INPUT);
        pinMode(potenciometro2, INPUT);
    }


    void loop() {
      
       
      for (int i=0; i<MAXLED; i++) {
      int  valorpotenciometro1 = analogRead(potenciometro1);
      int  valorpotenciometro2 = analogRead(potenciometro2);
        prender(led[i], valorpotenciometro1);
        apagar(led[i], valorpotenciometro2);
      }
      
      for (int i=MAXLED-2; i>0; i--) {
      int  valorpotenciometro1 = analogRead(potenciometro1);
      int  valorpotenciometro2 = analogRead(potenciometro2);
        prender(led[i], valorpotenciometro1);
        apagar(led[i], valorpotenciometro2);
      }
      
      
    }


    void prender(int led, int ms) {
      digitalWrite(led, HIGH);
      delay(ms);
    }

    void apagar(int led, int ms) {
      digitalWrite(led, LOW);
      delay(ms); 
    }






LABORATORIO 2

DESCRIPCIÓN

En este laboratorio se controlaron los diodos leds por medio de un potenciomentro, el cual esta conectado al arduino duemilanove el cual se encarga de interpretar la señal análoga que envía el potenciometro, gracias a esto los leds podra correr de izquierda a derecha según los valores enviados por el potenciometro. todo este proceso fue gracias a los módulos análogos que están integrados en el sistema arduino, para activar estas acciones hay que seguir programando en el lenguaje C++


MATERIALES

  1. 8 diodos led
  2. kit de desarrollo arduino duominalove
  3. 8 resistencias de 220 ohnmios
  4. potenciometro de 1k ohnmios
DIAGRAMAS



los diagramas fueron desarrollados con el programa de diseño de circuitos llamado fritzing

DIAGRAMA DE MONTAJE EN PROTOBOARD


DIAGRAMA DE ESQUEMATIZADO


DIAGRAMA PCB PARA MONTAJE EN TARJETA PERFORADA


FOTOS DEL PROCESO DE MONTAJE

Foto 1

Foto 2

CÓDIGO

 #define MAXLED 8
#define pot A0

int led[MAXLED] = {2,3,4,5,6,7,8,9};

void setup()
{
  for (int i = 0; i < MAXLED; i++)
  {
    pinMode(led[i], OUTPUT) ;
  }
}

void loop()
{
  int valor = analogRead(pot);
  int i =  map(valor, 0, 1000, 0, 9);
  prender(i,500);
  apagar(i, 100);
}

void prender(int l, int t){
  digitalWrite(l, HIGH);
  delay(t);
}

void apagar(int l, int t){
  digitalWrite(l, LOW);
  delay(t);
}




sábado, 10 de agosto de 2013

LABORATORIO 1 

DESCRIPCIÓN

En este laboratorio se desarrollara un sistema de control gracias al sistema embebido arduino, con el cual podremos controlar 10 leds y hace que estos se activen uno por uno de izquierda a derecha y viceversa.
para generar el programa, se usara el lenguaje C++  que es un lenguaje de bajo nivel. A continuacion se podra ver una imagen con el programa en el cual escribiremos las instrucciones para manejar el kit arduino.




MATERIALES

  1. 8 diodos led
  2. kit de desarrollo arduino duominalove
  3. 8 resistencias de 220 ohmios
DIAGRAMAS



los diagramas fueron desarrollados con el programa de diseño de circuitos llamado fritzing

DIAGRAMA DE MONTAJE EN PROTOBOARD


DIAGRAMA DE ESQUEMATIZADO

DIAGRAMA PCB PARA MONTAJE EN TARJETA PERFORADA


FOTOS DEL PROCESO DE MONTAJE

Foto 1

 Foto 2


 Foto 3

Foto 4

 Foto 5

Foto 6

CÓDIGO

define MAXLED 8


int led [MAXLED]={2,3,4,5,6,7,8,9};

void setup() {
   for(int i=0; i<MAXLED; i++){
  pinMode ( led[i], OUTPUT);
  }
 }

void loop() {for(int i=0; i<MAXLED; i++)
  {
  prender(led[i],500);
  apagar(led[i],100);

  }
for (int i=MAXLED-2; i>0; i--) {
    prender(led[i],500);
  apagar(led[i], 100);
  }
  }

void prender (int l, int t) {
  digitalWrite(l, HIGH);
  delay (t);
 }

void apagar (int l, int t){
  digitalWrite(l, LOW);
  delay (t);
  }