Cordial Saludo,
Adjunto link para ayuda en el entendimiento de Matlab.
http://www.sc.ehu.es/sbweb/energias-renovables/MATLAB/simbolico/algebra/algebra.html
http://www.sc.ehu.es/sbweb/energias-renovables/MATLAB/numerico/ecuaciones/matrices_1.html
http://www.aragon.unam.mx/investigacion/CIMA/Eventos/Memoria7/Ponencia%20Luis%20Lorenzo.pdf
viernes, 26 de agosto de 2016
sábado, 20 de agosto de 2016
CODIGO EJEMPLO PARA VALIDACION DE BIFURCACION EN ROBOT LABERINTO
Cordial Saludo,
Apreciados estudiantes, expongo código para lo mencionado en la Asignatura Microcontroladores II.
Tener en cuenta los comentarios allí expuestos:
/*
Seguidor de Linea con sesores QTR-8RC o digitales
0= NEGRO
1= BLANCO
IMPORTANTE LEER LINEAS 52 Y 61
*/
#include <QTRSensors.h>
#define NUM_SENSORS 6 // Numero de Sensores a Usar
#define TIMEOUT 2000
#define EMITTER_PIN 38 // Pin de LEDON
#define HIST 300 // Valor de fluctuacion de sensores
QTRSensorsRC qtrrc((unsigned char[]) {2,3,4,5,6,7}, //Pines donde van conectados los sensores
NUM_SENSORS, TIMEOUT, EMITTER_PIN);
unsigned int sensorValues[NUM_SENSORS];
unsigned int sensores = 0;
unsigned int estado1=0;
unsigned int estado2=0;
void setup(){
Serial.begin(9600);
delay(2000);
}
void loop(){
leersensores();
//Determinar dependiendo de las posibilidades
switch (sensores) {
case B110011: //adelante
adelante();
break;
case B100111: //izquierda
case B001111:
case B110111:
case B101111:
case B011111:
izquierda();
break;
case B111001: //derecha
case B111100:
case B111011:
case B111101:
case B111110:
derecha();
break;
case B000111: //llego a bifurcacion que usted programa Aca delimita el codigo para el antes
case B000011:
bifurcacion();
imprime();
break;
}
}
void imprime(){
Serial.println("La medicion para la viburcacion (aqui describen en tipo) es:");
Serial.print("Antes: ");
Serial.println(estado1,BIN);
Serial.print("Despues: ");
Serial.println(estado2,BIN);
}
void bifurcacion(){
estado1 = sensores;
adelante();
delay(100);
leersensores();
estado2 = sensores;
parar();
}
void parar(){
analogWrite(5,0);
analogWrite(3,0);
analogWrite(9,0);
analogWrite(6,0);
}
void adelante(){
analogWrite(5,0);
analogWrite(3,200);
analogWrite(9,0);
analogWrite(6,200);
}
void izquierda(){
analogWrite(9,0);
analogWrite(6,200);
analogWrite(5,0);
analogWrite(3,50);
}
void derecha(){
analogWrite(9,0);
analogWrite(6,50);
analogWrite(5,0);
analogWrite(3,200);
}
void leersensores(){ //Determinar dependiendo de cuantos sensores utiliza
qtrrc.read(sensorValues);
sensores = 0;
for (int i=0;i<=7;i++){
if (sensorValues[i]<HIST)
bitClear(sensores,i);
else
bitSet(sensores,i);
}
//Serial.println(sensores,BIN);
}
Apreciados estudiantes, expongo código para lo mencionado en la Asignatura Microcontroladores II.
Tener en cuenta los comentarios allí expuestos:
/*
Seguidor de Linea con sesores QTR-8RC o digitales
0= NEGRO
1= BLANCO
IMPORTANTE LEER LINEAS 52 Y 61
*/
#include <QTRSensors.h>
#define NUM_SENSORS 6 // Numero de Sensores a Usar
#define TIMEOUT 2000
#define EMITTER_PIN 38 // Pin de LEDON
#define HIST 300 // Valor de fluctuacion de sensores
QTRSensorsRC qtrrc((unsigned char[]) {2,3,4,5,6,7}, //Pines donde van conectados los sensores
NUM_SENSORS, TIMEOUT, EMITTER_PIN);
unsigned int sensorValues[NUM_SENSORS];
unsigned int sensores = 0;
unsigned int estado1=0;
unsigned int estado2=0;
void setup(){
Serial.begin(9600);
delay(2000);
}
void loop(){
leersensores();
//Determinar dependiendo de las posibilidades
switch (sensores) {
case B110011: //adelante
adelante();
break;
case B100111: //izquierda
case B001111:
case B110111:
case B101111:
case B011111:
izquierda();
break;
case B111001: //derecha
case B111100:
case B111011:
case B111101:
case B111110:
derecha();
break;
case B000111: //llego a bifurcacion que usted programa Aca delimita el codigo para el antes
case B000011:
bifurcacion();
imprime();
break;
}
}
void imprime(){
Serial.println("La medicion para la viburcacion (aqui describen en tipo) es:");
Serial.print("Antes: ");
Serial.println(estado1,BIN);
Serial.print("Despues: ");
Serial.println(estado2,BIN);
}
void bifurcacion(){
estado1 = sensores;
adelante();
delay(100);
leersensores();
estado2 = sensores;
parar();
}
void parar(){
analogWrite(5,0);
analogWrite(3,0);
analogWrite(9,0);
analogWrite(6,0);
}
void adelante(){
analogWrite(5,0);
analogWrite(3,200);
analogWrite(9,0);
analogWrite(6,200);
}
void izquierda(){
analogWrite(9,0);
analogWrite(6,200);
analogWrite(5,0);
analogWrite(3,50);
}
void derecha(){
analogWrite(9,0);
analogWrite(6,50);
analogWrite(5,0);
analogWrite(3,200);
}
void leersensores(){ //Determinar dependiendo de cuantos sensores utiliza
qtrrc.read(sensorValues);
sensores = 0;
for (int i=0;i<=7;i++){
if (sensorValues[i]<HIST)
bitClear(sensores,i);
else
bitSet(sensores,i);
}
//Serial.println(sensores,BIN);
}
miércoles, 18 de mayo de 2016
EJEMPLO CONVERSOR BINARIO A BCD SIN UTILIZAR 74XX185
Cordial Saludo,
Apreciados Estudiantes,
Teniendo en cuenta la poca localización del elemento 74xx185, coloco a disposición una solución practica frente a este trabajo.
Tener en cuenta que este vídeo o generación de conversión no es de mi propiedad intelectual, comparto según reglamentos de youtube y dejo link a su origen para conocer el autor.
Apreciados Estudiantes,
Teniendo en cuenta la poca localización del elemento 74xx185, coloco a disposición una solución practica frente a este trabajo.
Tener en cuenta que este vídeo o generación de conversión no es de mi propiedad intelectual, comparto según reglamentos de youtube y dejo link a su origen para conocer el autor.
Link: https://www.youtube.com/watch?v=-5D89pz2hoU
Ante cualquier inquietud referir al correo: cbarrios1@udi.edu.co
lunes, 9 de mayo de 2016
Programa Prueba Seguidor de Linea Para Estado Básico de Robot Laberinto
Cordial Saludo,
Expongo el código Base para el control del seguidor de linea para Robot Laberinto con tarjeta Arduino que poseen sensores QTR.
Seguir Las instrucciones para la instalación de la librería.
DESCARGAR
Expongo el código Base para el control del seguidor de linea para Robot Laberinto con tarjeta Arduino que poseen sensores QTR.
Seguir Las instrucciones para la instalación de la librería.
lunes, 2 de mayo de 2016
CÓDIGO DE EJEMPLO PARA SOLUCIÓN ALGORITMO DE LABERINTO POR MANO IZQUIERDA MÉTODO POR INTRODUCCIÓN DE DATOS SERIAL
Cordial Saludo,
Adjunto código de ejemplo para la asignatura Microcontroladores 1.
Código:
Adjunto código de ejemplo para la asignatura Microcontroladores 1.
Código:
/* Solucion ALgoritmo Robot Laberinto tipo seguidor de linea con tipologia de mano izquierda * * Estas son las tres secuencias a determinar: LBR = B LBS = R RBL = B SBL = R SBS = B LBL = S * */ char c; int pos=0; char letras[200]; int imp = 0; void setup() { Serial.begin(9600); } void loop() { recogerdatos(); procesardatosaltiempo(); imprimirdatos(); } void recogerdatos(){ if (Serial.available()>0){ c = Serial.read(); if ((c == 'R')||(c == 'L')||(c == 'S')||(c == 'B')){ letras[pos] = c; Serial.print(c); pos++; }else if (c == 'F'){ imp = 1; }else{ Serial.print(c); Serial.println(" No es un Dato Permitido"); } } } void imprimirdatos(){ if (imp == 1){ Serial.println(); Serial.println(letras); imp = 0; for (int i=0;i<pos;i++){ letras[i] = ' '; } pos = 0; } } void procesardatosaltiempo(){ if (pos>=3){ if (letras[pos-2]=='B'){ if (((letras[pos-3]=='L')&&(letras[pos-1]=='R'))|| ((letras[pos-3]=='R')&&(letras[pos-1]=='L'))|| ((letras[pos-3]=='S')&&(letras[pos-1]=='S'))){ letras[pos-3] = 'B'; letras[pos-2] = ' '; letras[pos-1] = ' '; pos = pos - 2; } if (((letras[pos-3]=='L')&&(letras[pos-1]=='S'))|| ((letras[pos-3]=='S')&&(letras[pos-1]=='L'))){ letras[pos-3] = 'R'; letras[pos-2] = ' '; letras[pos-1] = ' '; pos = pos - 2; } if ((letras[pos-3]=='L')&&(letras[pos-1]=='L')){ letras[pos-3] = 'S'; letras[pos-2] = ' '; letras[pos-1] = ' '; pos = pos - 2; } } } }
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
Código de Ejemplo para conexión Matlab con Arduino, para sistema de cinemática inversa para brazo robot de 4GDL.
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.
Apreciados Alumnos,
La información mínima se encuentra en los siguientes Links.
http://patrickmccabemakes.com/
Debe saber que no solo los únicos referentes, puede encontrar otros que ayuden en el entendimiento del algoritmo para implementarlo en su proyecto.
Suscribirse a:
Entradas (Atom)

