jueves, 28 de abril de 2016

Código Ejemplo Cinemática Inversa Brazo Robot control con Arduino

Cordial Saludo,

Código de Ejemplo para conexión Matlab con Arduino, para sistema de cinemática inversa para brazo robot de 4GDL.

DESCARGAR CODIGO

INFO DE RECOPILACIÓN PARA ENTENDIMIENTO DE LÓGICA DE SOLUCIÓN DE LABERINTO PARA uC1

Cordial Saludo

Apreciados Alumnos,

La información mínima se encuentra en los siguientes Links.

http://patrickmccabemakes.com/hardware/Maze_Solving_Robot_V3/



Debe saber que no solo los únicos referentes, puede encontrar otros que ayuden en el entendimiento del algoritmo para implementarlo en su proyecto.

viernes, 1 de abril de 2016

Programa Ejemplo para control de 4 Servos por Comunicación Serial

#include <Servo.h>

String trama = "";
String aux = "";
int procesar = 0;
int vs1 = 1500;
int vs2 = 1500;
int vs3 = 1500;
int vs4 = 1500;

int pins1 = 9;
int pins2 = 10;
int pins3 = 11;
int pins4 = 12;

Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;

void setup() {
  servo1.attach(pins1);
  servo2.attach(pins2);
  servo3.attach(pins3);
  servo4.attach(pins4);

  Serial.begin(9600);
  Serial.println("Control del Brazo Robot");
}

void loop() {
  if (Serial.available() > 0) {       //recolecta los datos del puerto serial
    char dato=Serial.read();
    if(((dato >= '0')&&(dato <= '9')) || (dato == '<') || (dato == '>')){
        trama = String(trama + dato);
    }
    if (dato == '>'){                 //reconoce si es el fin de trama
      procesar = 1;
      Serial.print("Trama Total: ");  // se envia la trama complet para visualizarla
      Serial.println(trama);
    }
  }
  if (procesar == 1){
    aux = trama.substring(1,5);
    Serial.print("SubTrama 1: ");     //se envia el valor del primer servo
    vs1 = aux.toInt();
    Serial.println(vs1);
    aux = trama.substring(5,9);
    Serial.print("SubTrama 2: ");     //se envia el valor del segundo servo
    vs2 = aux.toInt();
    Serial.println(vs2);
    aux = trama.substring(9,13);
    Serial.print("SubTrama 3: ");     //se envia el valor del tercer servo
    vs3 = aux.toInt();
    Serial.println(vs3);
    aux = trama.substring(13,17);
    Serial.print("SubTrama 4: ");     //se envia el valor del cuarto servo
    vs4 = aux.toInt();
    Serial.println(vs4);
    procesar = 0;
    trama = "";
  }
  servo1.writeMicroseconds(vs1);
  delay(15);
  servo2.writeMicroseconds(vs2);
  delay(15);
  servo3.writeMicroseconds(vs3);
  delay(15);
  servo4.writeMicroseconds(vs4);
  delay(15);
}

lunes, 29 de febrero de 2016

Laboratorio de DIGITALES

Diseñar e implementar un circuito por método de reducción por Mapas de Karnaugh al que se le introducen los 4 bits de un código hexadecimal y cuya salida es la excitación para activar un display de 7 segmentos, de acuerdo con la figura adjunta. 

NOTA: Tomar D como el bit más significativo.




Para el desarrollo del montaje tener en cuenta los siguientes datos de los integrados.

Los dispositivos electrónicos poseen en su referencia una serie de valores que representan características propias de estos, donde los mas comunes son HC.

Ejemplo:
74XX04   
Donde XX representa la característica o modificación realizada por el fabricante.


codigos puertas logicas.jpg
logic gates.png

lunes, 26 de octubre de 2015

lunes, 19 de octubre de 2015

uC II, PROGRAMA ANDROID Y PROGRAMACIÓN BASE BLUETOOTH EN ARDUINO PARA CONTROL DE HEXAPODO

Cordial Saludo,

Probar el código y comprender la lógica de programación.
Apk para envió de datos por bluetooth desde movil android a la tarjeta Arduino

Tener en cuenta que puede utilizar otras aplicaciones que crea convenientes.

DESCARGAR


Modulo para conexión a Bluetooth, entre otros que dan el mismo rendimiento

Modulo Opción 1

Modulo Opción 2

///////////////////////////////////////////////////////////
//Codigo de comunicación Bluetooth y android en Arduino para control de Hexpodo
//////////////////////////////////////////////////////////
char dato;
char datoserial;

void setup(){
  Serial.begin(9600);    //Iniciar Comunicacion con tarjeta Bluetooth
  //////////////////////
  //codigo de inicializacion de servos
  //////////////////////
}

void loop(){
  if (Serial.available()){        //Revisa si hay dato en el puerto serial
    datoserial = Serial.read();   //Guarda este dato en la variable datoserial
    if (datoserial == 'W' || datoserial == 'S' || datoserial == 'A' || datoserial == 'D' || datoserial == 'P'){
      dato = datoserial;
    }
  }
  switch (dato){        //Se analiza el dato
    case 'W':            //Si el dato que llega es W va adelante y asi para los otros casos
      adelante();
      break;
    case 'S':
      atras();
      break;
    case 'A':
      izquierda();
      break;
    case 'D':
      derecha();
      break;
    case 'P':
      parar();
      break;
  }
}
///////////Codigo de avanzar
void adelante(){

}
//////////Codigo de retroceder
void atras(){

}
//////////Codigo de izquierda
void izquierda(){

}
//////////Codigo de derecha
void derecha(){

}
//////////Codigo de parar
void parar(){

}

martes, 13 de octubre de 2015

Código, Entrenamiento de entradas, Salidas, PWM con QT y la Tarjeta Raspberry PI 2

Cordial Saludo,

Apreciados  Estudiantes,

Adjunto el código referente al desarrollo de las aplicabilidades bajo la tarjeta RASPBERRY PI 2 y el software QT.

DESCARGAR AQUI