RobotyPic son proyectos básicos de electrónica con microcontroladores PIC, de aplicación en el mundo de la robótica didáctica, con archivos fuente creados mediante el compilador CCS PIC C COMPILER en lenguajeC.
Se trata de un sencillo prototipo de robot que se desplaza sorteando obstáculos.
Para ello comienza analizando el espacio libre que posee delante. Si este espacio es suficiente decide avanzar. Si por el contrario detecta obstáculo, el servo del sensor gira a derecha e izquierda para analizar las opciones y decidir cual es el camino más adecuado.
Una vez toma la decisión gira hacia su opción, se asegura que la elegida es la correcta y comienza a avanzar hasta el siguiente obstáculo.
Para medir las distancias y saber si dispone de espacio libre se emplea el sensor de distancias por ultrasonidos SRF05 pero funcionando en modo 1, es decir, con las señales de inicio de la medida y retorno de eco por pines indepenientes, tal como lo haría el SRF04. Cuando quiere detectar la distancia al objeto, el pic manda un pulso no inferior a 10uSeg. al sensor y este responde con un tren de impulsos ultrasónicos que "rebotarán" en el obstáculo, y por otro lado pasa la señal de retorno de eco a estado alto hasta recibir el tren ultrasonico reflejado. Cuanto menor sea la distancia menor en tiempo será este pulso.
Para interpretar esta señal de retorno el pic emplea en este proyecto el registro CCP que mide el valor del pulso recibido a partir del valor del contador interno activo durante el tiempo de duración de la señal. El dato final del registro gestionado mediante esta fórmula; d = CCP*1.0 /58 , dará la distancia en cm.
La orientación del servo se establece con el valor que se carga en la variable pwm. Con cada llamada a la subrutina de generación de la señal por mediación de la interrupción por rebose del timer 0, se incrementa la variable pulso_pwm que comparandose con el valor en pwm, decide en qué momento debe cortar el pulso.
Este es el programa del PIC para el compilador de CCS.
#bit Bit_PWM = PORTB.7 //Bit 7 puerto B Salida modulación 1
/********************** Prototipos de las funciones ***************************/ void main (void); //función principal
void Generacion_pwm (void); //genera señales moduladas para control de servos
void pulso_test (void); //da pulso y calcula distancia al obstáculo
void ccp2_int (void); //mide pulso de eco ultrasonidos
void navegacion (void); //avance sorteando obstáculos
/********************** Variables para generación PWM *************************/ int8 PWM=0; //Guardará los valores de la señal PWM
int8 Pulso_pwm=0; //Ancho del pulso de control del servo
/******************** Variables para lectura obstáculo ************************/ int1 nuevopulso=0; //Entra otro pulso de lectura
int16 TFB=0,TFS=0,TF=0; //Tiempo flancos
float AP=0.0; //Valor del pulso del obstáculo en microsegundos
int16 distancia=0; //Valor distancia al obstáculo
int16 distancia_derecha=0;
int16 distancia_izquierda=0;
int1 cambio=0; //Control flanco subida o bajada del impulso leido /******************************************************************************/
/******************* FUNCIÓN GENERACIÓN MODULACIONES PWM **********************/ #int_Timer0
void Generacion_pwm() {
Pulso_pwm++; //Incremento cada rebose del timer0
if (Pulso_pwm==0) {
Bit_PWM=1;
}
if (Pulso_pwm==PWM){
Bit_PWM=0;
}
delay_us(5);
set_timer0(255);
}
/******************************************************************************/
/*********************** FUNCIÓN PULSO DE TEST ********************************/
void pulso_test() { enable_interrupts(INT_CCP2); //Habilitación interrup. medida de pulso eco
BIT_TEST_ON; //Pulso test durante 10us por Bit 0 puerto C
delay_us(10);
BIT_TEST_OFF;
while(nuevopulso==0) //Espera a finalizar el pulso eco
{}
if(nuevopulso==1) { //Finalizado el pulso eco se calcula su valor.
TF=(TFB-TFS); //Valor entre pulso de subida y bajada.
AP=TF*1.0; //Valor pulso leido en us(obstáculo) de 100u a 25ms
AP = AP/58; //Distancia del obstáculo en cm
distancia =(int16)AP; //paso de flotante a entero largo
nuevopulso=0; //Listo para recibir nuevo pulso
}
disable_interrupts(INT_CCP2);
} /******************************************************************************/
/************************ FUNCIÓN LECTURA OBSTÁCULO ***************************/
#int_ccp2 //LLamada por interrupción flanco en RC2 void ccp2_int() {
if(cambio==0) //Si es flanco de subida...
{
TFS=CCP_2; //Carga en valor flanco subida valor registro ccpr1
setup_ccp2(CCP_CAPTURE_FE); //Configuración captura en flanco de bajada
cambio=1; //Próximo flanco debe ser de bajada
}
else { //Si es flanco de bajada...
TFB=CCP_2; //Carga valor flanco bajada valor registro ccpr1
setup_ccp2(CCP_CAPTURE_RE); //Configuración captura en flanco de subida
cambio=0; //Próximo flanco debe ser de subida
if(nuevopulso==0) //Fin de pulso...
nuevopulso=1; //Pulso finalizado.
}
}
/******************************************************************************/
/*************************** FUNCIÓN PRINCIPAL ********************************/
void main() { trisb=0x00; //Puerto B todo salidas
trisc=0b00000010; //Puerto C definición de entradas y salidas
delay_ms(500); //Estabilización en el arranque del sistema
while (1) {
delay_ms(500); //Tiempo entre impulsos test
navegacion(); //Salto a la función navegacion
} }
Hay que tener en cuenta que para realizar la rotación a 90º del robot, no se emplean encoder de giro sino que se plantea un tiempo de funcionamiento de las ruedas en contradirección. Por ello, dependiendo de la señal clock del PIC, diámetro de las ruedas, cantidad de código del programa, etc.; puede ser necesario cambiar estos tiempos para obtener el giro deseado del robot. A continuación detallo cuales son esos tiempos a modificar para conseguir un giro mayor o menor del robot y un tiempo mayor o menor de la cabeza del sensor girada:
pwm=8;
delay_ms(700); //Cuanto mayor es este valor mayor tiempo permanecerá la cabeza del robot girada a la derecha
pulso_test();
distancia_derecha=distancia;
pwm=25;
delay_ms(700); //Cuanto mayor es este valor mayor tiempo permanecerá la cabeza del robot girada a la izquierda
pulso_test();
distancia_izquierda=distancia;
pwm=16;
if (distancia_derecha>distancia_izquierda) {
GIRO_DERECHA;
delay_ms(500); //Cuanto mayor es este valor mayor será el ángulo de giro del robot a la derecha
}
else {
GIRO_IZQUIERDA;
delay_ms(500); //Cuanto mayor es este valor mayor será el ángulo de giro del robot a la izquierda
}
}
}
En el siguiente enlace se pueden descargar los archivos del código fuente para CCS, el archivo compilado para cargar en el PIC y el esquema para Proteus.
Hola David. Prueba esto. Cuando los compiles después de haber hecho “new” “Project manual” y hayas elegido el archivo fuente, te aparecerá una ventana “Project options”. Le das a la pestaña que hay a la izquierda “Include files”. Verás el camino para acceder a las carpetas “devices” y “drivers”. Añade el camino correspondiente a esas carpetas según el directorio donde tengas instalado tu compilador.
BUENAS TARDES AMIGO TENGO UN INCONVENIENTE AL MOMENTO DE SIMULAR EL CIRCUITO SUBIDO POR PRIMERO EL SFR04 ESTA MONTADO SOBRE UN PIC EL CUAL NECESITA PROGRAMACIÓN Y ME IMAGINO Q ESTA SE ENCUENTRA EN ESTA PARTE DEL BLOG SRF04 y SRF05 para proteus PERO AL MOMENTO DE METER EL PROGRAMA AL PIC DEL SENSOR Y SIMULARLO ME FUNCIONA MUY BN EL PROBLEMA ES Q AL MOMENTO DE QUITAR EL OSCILOSCOPIO YA NO FUNCIONA Y NO ENTIENDO POR Q TE AGRADECERIA Q ME PUDIERA AYUDAR CON ESTA PARTE.
ESTUVE TAMBIEN MIRANDO EL PROYECTO QUE COMBINA EL SENSOR DE TEMPERATURA CON EL DE ULTRASONIDO Y TAMPOCO ENTIENDO LA PARTE EN LA CUAL ME DICE LO DE LOS BUMPER LEI LA GUIA QUE DEJO Y DICE Q EL SENSOR ULTRASONICO TIENE UN INCONVENIENTE Y PARA SOLUCIONARLO TENEMOS Q EMPLEAR DOS SENSORES MODELO Sharp-GP2Y0D810Z0F MI PREGUNTA ES ESOS SHARP SON LOS BUMPER DE LA PARTE IZQUIERDA Y DERECHA O ES NECESARIO CAMBIAR EL SENSOR SFR-05 EL CUAL TAMBIEN APARECE EN LA SIMULACION NO ENTIENDO LO DE LOS BUMPER TAMBIEN TE AGRADECERIA ESO MUCHAS GRACIAS POR TU BLOG ES DE GRAN AYUDA
En la simulación del SRF04 con un PIC hay un generador de onda que hay que eliminar cuando se acopla el PIC real. Quizá tengas algún problema con eso, pero por eliminar el osciloscopio no debe dejar de funcionar, no interviene para nada más que para monitorizar la señal.
Con respecto a los bumper son solo una ayuda a la orientación en el caso de que el obstáculo se acerque por alguno de los laterales, no son imprescindibles ni sustituyen al sensor SRF04 o SRF05. Se pueden poner o no.
CHABIER SERA Q ME PODRA HACER EL FAVOR DE REGALAR LA REFERENCIA DE LOS BUMPER Y TE AGRAECERIA SI SABE SI TIENE ALGUN OTRO NOMBRE ES Q ESTUVE MIRANDO Y LOS BUMPER TIENEN Q COLISIONAR CON EL OBSTACULO GRACIAS
Hola Chabier, Olle hermano una pregunta, tendrás el PCB del robot?
también quisiera preguntarte que es eso de "servo sensor"?? se utiliza un servo en la parte del sensor?? osea el sensor SRF04 va montado sobre un servomotor??
y como es que gira la "cabeza" del carrito claro k es el sensor, pero como haces k gire??
Hola. El PCB no lo tengo. Es un prototipo. Por otro lado. Cuando digo servo sensor hago referencia al servo que hace girar al sensor SRF04. El servo toma una posición en función del valor con el que se carga la variable "pwm". Y la función encargada de procesar este valor y controlar el servo es "Generacion_pwm()"
hola que tal disculpa esta pogramcion varia mucho si se utliza con un srf04 y otra cosa tu utilizas el pic 16f876 tambien como el sensor y tambien parte para manejar los servos?? gracias por tus respuetas
Hola a todos! Me gustaria saber que tipo de servo-motor utilizas para realizar el movimiento de los sensores .... saber si se puede hacer reciclaje... seria interesante ;)
oye disculpa tengo un problema con el simulador al momento de correrlo me marca error en el srf creo k es el programa que tiene el pic por que cuando le quito el pic si lo corre pero no hace nada te agradeceria si me pasas el programa del srf o me ayudarias como hacerlo de antemano gracias
El esquema de este artículo no es simulable en proteus. Puedes hacer un srf04 con PIC como se explica en el artículo del sensor http://robotypic.blogspot.com.es/2010/09/circuito-simulador-srf04-para-proteus.html
oye otro problema para cambiarlo al pic 16f877a solo cambio en el programa para que pic es y no funciona tengo que cambiar algo mas? espero me puedas ayudar seria de gran ayuda gracias..
hola he estado probando el robot esquiba obstaculos pero consigo hacerlo funcionar ni fisica ni virtual,el proteus no abre el ejempro,y cochecito que he frabricado tampoco,soy bastante nuevo programacion,y no lo consigo hacer andar
hola robotypic gracias por contestarme,yo el sensor que tengo es el SRF04,¿es lo mismo? algo me falla pues no consigo hacer andar el auto que monte , y la protoboard tampoco gracias
Que tal amigo cuando compilo en el pic c compiler meda una advertencia y no entiendo muy bien lo de los bumpers son necesarios? espero me puedas ayudar
Hola Zane. Las advertencias o avisos que salen al compilar son eso, avisos. Mientras no aparezcan errores el programa se compila correctamente. Los bumpers son ayudas a la navegación del robot. No son necesarios.
alguien me puede ayudar el ejemplo de carrito que dieron no camina desde el inicio...¿eso es normal?...y como podria hacer para que el servo junto al sensor sf04 testeen desde el inicio de manera constante de izquierda a derecha...se les agradece por la ayuda a algun buen samaritano que entienda este punto..gracias espero
Sdmy. Debes hacer el ejemplo tal cual está explicado.Lo que está mostrado funciona correctamente, no hace falta correcciones. Una vez te funcione haz los cambios que consideres.
esque al inicio no funciona al ensenderlo tarda en funcionar mas o menos 10 segundos y yo quisiera que funcione al ensenderlo revise el puente H y eso y no anda al ensenderlo..el motor tiene que ser DC o de otra marca..alguna respuesta porfis gracias
disculpen la molestia quiero aprender....porfs..😃..😉..yo vi en el ejemplo del video que el carrito funciona desde el primer momento que se lo pone en funcionamiento y en mi caso no pasa eso..lo ensiendo y pasan 10 segundos y el servo reacciona recien y posteriormente despues de que gira de izq. a derch. los motores recien andan ¿que no seria que los motores tendrian que funcionar al momento de hacer on al carrito?...estoy confundido. o que devo cambiar en el codigo paque el carrito empiese a andar desde que lo enciendo una ayuda porfa se les agradece por su comprencion..o me mandan las explicaciones al correo que deje en una anterior ocacion y una cosa mas como seria la explicacion de los pines CCP2 y el T1CKI delcarrito...gracias
Sdmy. Lo primero que hace es verificar si tiene un obstáculo delante. Si lo tiene lo que hace es girar la cabeza para ver hacia que lado avanzar. Si no avanza de inicio hacia adelante es porque tiene un obstáculo.
Los pines CCP2 y T1CkI son el trigger y el eco para el sensor SRF04. Lee la hoja de datos de este sensor para saber como funcionan. También lo tienes explicado en el texto de este artículo.
holi, excelente video amigo. una pregunta, puedo usar dos motores comunes dc en vez de los servos que usas como lei en algunos comentario. agrdeceria mucho tu respuesta
muchas gracias por responder. una pregunta mas, si cambio el srf05 por el srf04. cambio algo del programa o continua igual? por lo que se esta usando el srf05 en modo srf04.. muchas gracias
Amigo hago el pcb con proteus ya que no soy tan experto en electronica, como lo puedo hecer para no tener esas malas conecciones, otra cosa mas al compilar me sale warning 203"bot.c"line161(1,1)condition always TRUE gracias por tu ayuda.
Hola. Ese mensaje al compilar es solo una advertencia, no pasa nada, se compila correctamente. De todas formas si lo quieres evitar sustituye la instrucción while(1) por while(true).
hola, muchas gracias por tomarte el tiempo de responder los mensajes. Estoy armando el robot, pero de motores para el desplazamiento tengo dos motor reductores, no se si sirvan esos?, el motor para el sensor es un servo motor genérico, el sensor que tengo es un HC-SR04, el pic es el mismo que utilizas (16F876A) y a la hora de armarlo no funciona, no se si sea por los motores o el sensor por favor necesito ayuda gracias.
Miguel. Puedes poner cualquier motor. Pero debes tener en cuenta que tienes que modificar los tiempos que tienes señalados en el artículo en rojo para que el robot gire el ángulo deseado.
Hola, tenemos problemas con el circuito pues nuestro motores no giran y el sensor solo se mueve pocos centímetros cada que lo volvemos a conectar, ayudaaaa :(
Diculpa robot y pic conecte todo lo que en proteus sale pero solo el servo se mueve pero no las ruedas ni el sensor nada de eso... me gustaria saber si el proyecto que uds publicaron en verdad funciona, porque haciendo todo eso en mi caso no funciono. Gracias por su comprension
El video demostrativo que puedes ver es la muestra de lo explicado en el artículo. Fuciona correctamente y está probado. Ten muy en cuenta los comentarios en rojo que puedes ver en la explicación y que quizá tengas que modificar según tu caso.
HOLA ROBOTYPIC QUE TAL . UNA PREGUNTA EN PROTEUS NO ENCUENTRO EL SAF05 QUE ESTA EN ROJO SRF O5 COMO LO BUSCO ? OH ES EL SRF 05 POR QUE SOLO ME SALE ESE EL SRF 04
53 comentarios:
Hola... estaba probando estos archivos y no compila por esto:
Error [141] C:\Users\LUIZ\Documents\Robot 2\simple\simple.c; 11.20 can't open include file "16F876a.h": No such file or directory
Alguna ayuda? Gracias
Hola David.
Prueba esto. Cuando los compiles después de haber hecho “new” “Project manual” y hayas elegido el archivo fuente, te aparecerá una ventana “Project options”. Le das a la pestaña que hay a la izquierda “Include files”. Verás el camino para acceder a las carpetas “devices” y “drivers”. Añade el camino correspondiente a esas carpetas según el directorio donde tengas instalado tu compilador.
Sale lo mismo :(
Ya había agregado el archivo.h del PIC y siempre me sale eso :(
Estoy usando MPLAB. En cuál lo hiciste?
Gracias!!
Estos archivos están creados con PCWHD COMPILER de CCS.
BUENAS TARDES AMIGO TENGO UN INCONVENIENTE AL MOMENTO DE SIMULAR EL CIRCUITO SUBIDO POR PRIMERO EL SFR04 ESTA MONTADO SOBRE UN PIC EL CUAL NECESITA PROGRAMACIÓN Y ME IMAGINO Q ESTA SE ENCUENTRA EN ESTA PARTE DEL BLOG SRF04 y SRF05 para proteus PERO AL MOMENTO DE METER EL PROGRAMA AL PIC DEL SENSOR Y SIMULARLO ME FUNCIONA MUY BN EL PROBLEMA ES Q AL MOMENTO DE QUITAR EL OSCILOSCOPIO YA NO FUNCIONA Y NO ENTIENDO POR Q TE AGRADECERIA Q ME PUDIERA AYUDAR CON ESTA PARTE.
ESTUVE TAMBIEN MIRANDO EL PROYECTO QUE COMBINA EL SENSOR DE TEMPERATURA CON EL DE ULTRASONIDO Y TAMPOCO ENTIENDO LA PARTE EN LA CUAL ME DICE LO DE LOS BUMPER LEI LA GUIA QUE DEJO Y DICE Q EL SENSOR ULTRASONICO TIENE UN INCONVENIENTE Y PARA SOLUCIONARLO TENEMOS Q EMPLEAR DOS SENSORES MODELO Sharp-GP2Y0D810Z0F MI PREGUNTA ES ESOS SHARP SON LOS BUMPER DE LA PARTE IZQUIERDA Y DERECHA O ES NECESARIO CAMBIAR EL SENSOR SFR-05 EL CUAL TAMBIEN APARECE EN LA SIMULACION NO ENTIENDO LO DE LOS BUMPER TAMBIEN TE AGRADECERIA ESO MUCHAS GRACIAS POR TU BLOG ES DE GRAN AYUDA
Hola Daniel.
En la simulación del SRF04 con un PIC hay un generador de onda que hay que eliminar cuando se acopla el PIC real. Quizá tengas algún problema con eso, pero por eliminar el osciloscopio no debe dejar de funcionar, no interviene para nada más que para monitorizar la señal.
Con respecto a los bumper son solo una ayuda a la orientación en el caso de que el obstáculo se acerque por alguno de los laterales, no son imprescindibles ni sustituyen al sensor SRF04 o SRF05. Se pueden poner o no.
CHABIER SERA Q ME PODRA HACER EL FAVOR DE REGALAR LA REFERENCIA DE LOS BUMPER Y TE AGRAECERIA SI SABE SI TIENE ALGUN OTRO NOMBRE ES Q ESTUVE MIRANDO Y LOS BUMPER TIENEN Q COLISIONAR CON EL OBSTACULO GRACIAS
Son sensores de distancia por infrarojos. La referencia de los aquí empleados es Sharp GP2Y0D805Z0F pero hay otras referencias también válidas.
Hola Chabier, Olle hermano una pregunta, tendrás el PCB del robot?
también quisiera preguntarte que es eso de "servo sensor"?? se utiliza un servo en la parte del sensor?? osea el sensor SRF04 va montado sobre un servomotor??
y como es que gira la "cabeza" del carrito claro k es el sensor, pero como haces k gire??
Gracias de antemano.
Hola.
El PCB no lo tengo. Es un prototipo.
Por otro lado. Cuando digo servo sensor hago referencia al servo que hace girar al sensor SRF04.
El servo toma una posición en función del valor con el que se carga la variable "pwm". Y la función encargada de procesar este valor y controlar el servo es "Generacion_pwm()"
hola que tal disculpa esta pogramcion varia mucho si se utliza con un srf04
y otra cosa tu utilizas el pic 16f876 tambien como el sensor y tambien parte para manejar los servos??
gracias por tus respuetas
Hola a todos!
Me gustaria saber que tipo de servo-motor utilizas para realizar el movimiento de los sensores .... saber si se puede hacer reciclaje... seria interesante ;)
Hola Chorche Chuan.
El servo concreto que se ha empleado aquí es un Micro Servo 9G TOWER PRO. Pero sirve cualquiera analógico y de cualquier tamaño.
oye disculpa tengo un problema con el simulador al momento de correrlo me marca error en el srf creo k es el programa que tiene el pic por que cuando le quito el pic si lo corre pero no hace nada te agradeceria si me pasas el programa del srf o me ayudarias como hacerlo de antemano gracias
El esquema de este artículo no es simulable en proteus. Puedes hacer un srf04 con PIC como se explica en el artículo del sensor http://robotypic.blogspot.com.es/2010/09/circuito-simulador-srf04-para-proteus.html
oye otro problema para cambiarlo al pic 16f877a solo cambio en el programa para que pic es y no funciona tengo que cambiar algo mas? espero me puedas ayudar seria de gran ayuda gracias..
Debería funcionarte solo con eso. Asegurate que no te da ningún error la compilación.
hola he estado probando el robot esquiba obstaculos pero consigo hacerlo funcionar ni fisica ni virtual,el proteus no abre el ejempro,y cochecito que he frabricado tampoco,soy bastante nuevo programacion,y no lo consigo hacer andar
Miguel. El sensor SRF05 no es simulable en proteus luego no lo vas a poder simular.
hola robotypic gracias por contestarme,yo el sensor que tengo es el SRF04,¿es lo mismo? algo me falla pues no consigo hacer andar el auto que monte , y la protoboard tampoco gracias
hola de nuevo se le podria añadir al robot una pantalla lcd,ya monte el medidor de distancias y funciona genial gracias
Mi pregunta es ¿Que modelo de motores DC utilizas para el L293D?
Muchas gracias de antemano.
Mohammed. Son dos sevos del tipo HS311 modificados para giro continuo.
Que tal amigo cuando compilo en el pic c compiler meda una advertencia y no entiendo muy bien lo de los bumpers son necesarios? espero me puedas ayudar
Hola Zane.
Las advertencias o avisos que salen al compilar son eso, avisos. Mientras no aparezcan errores el programa se compila correctamente.
Los bumpers son ayudas a la navegación del robot. No son necesarios.
Bueno muchas gracias espero que me funcione esta comprobado amigo?
muchas gracias por la ayuda
alguien me puede ayudar el ejemplo de carrito que dieron no camina desde el inicio...¿eso es normal?...y como podria hacer para que el servo junto al sensor sf04 testeen desde el inicio de manera constante de izquierda a derecha...se les agradece por la ayuda a algun buen samaritano que entienda este punto..gracias espero
porfabor madarme el o la correccion del codigo a ssocra@hotmail.com gracias nuevamente
otra pregunta son necesarios los diodos del grafico....no se puede conectar directamente los motores a l L293D?
Sdmy. Debes hacer el ejemplo tal cual está explicado.Lo que está mostrado funciona correctamente, no hace falta correcciones. Una vez te funcione haz los cambios que consideres.
esque al inicio no funciona al ensenderlo tarda en funcionar mas o menos 10 segundos y yo quisiera que funcione al ensenderlo revise el puente H y eso y no anda al ensenderlo..el motor tiene que ser DC o de otra marca..alguna respuesta porfis gracias
disculpen la molestia quiero aprender....porfs..😃..😉..yo vi en el ejemplo del video que el carrito funciona desde el primer momento que se lo pone en funcionamiento y en mi caso no pasa eso..lo ensiendo y pasan 10 segundos y el servo reacciona recien y posteriormente despues de que gira de izq. a derch. los motores recien andan ¿que no seria que los motores tendrian que funcionar al momento de hacer on al carrito?...estoy confundido.
o que devo cambiar en el codigo paque el carrito empiese a andar desde que lo enciendo una ayuda porfa se les agradece por su comprencion..o me mandan las explicaciones al correo que deje en una anterior ocacion y una cosa mas como seria la explicacion de los pines CCP2 y el T1CKI delcarrito...gracias
Sdmy.
Lo primero que hace es verificar si tiene un obstáculo delante. Si lo tiene lo que hace es girar la cabeza para ver hacia que lado avanzar. Si no avanza de inicio hacia adelante es porque tiene un obstáculo.
Los pines CCP2 y T1CkI son el trigger y el eco para el sensor SRF04. Lee la hoja de datos de este sensor para saber como funcionan. También lo tienes explicado en el texto de este artículo.
Hola puedes preguntar el PCB por favor el sensor se puede remplazar por el HC-SRF04 gracias.
Amigo mi caso es igual de sdmy pero con una diferencia que se quema el L293D que puedo hacer para que no se queme el IC gracias.
Si se te quema el L293 es porque lo conectas mal. El proyecto está probado.
holi, excelente video amigo. una pregunta, puedo usar dos motores comunes dc en vez de los servos que usas como lei en algunos comentario. agrdeceria mucho tu respuesta
Hola.
Sí. De hecho son dos servos modificados para trabajar como motores de giro continuo.
muchas gracias por responder. una pregunta mas, si cambio el srf05 por el srf04. cambio algo del programa o continua igual? por lo que se esta usando el srf05 en modo srf04.. muchas gracias
No cambia el programa. Solo el uso del srf05 en modo sfr04
Amigo hago el pcb con proteus ya que no soy tan experto en electronica, como lo puedo hecer para no tener esas malas conecciones, otra cosa mas al compilar me sale warning 203"bot.c"line161(1,1)condition always TRUE gracias por tu ayuda.
Hola.
Ese mensaje al compilar es solo una advertencia, no pasa nada, se compila correctamente. De todas formas si lo quieres evitar sustituye la instrucción while(1) por while(true).
Muchas gracias por tu ayuda y muy buenas tus publicaciones.
hola, muchas gracias por tomarte el tiempo de responder los mensajes.
Estoy armando el robot, pero de motores para el desplazamiento tengo dos motor reductores, no se si sirvan esos?, el motor para el sensor es un servo motor genérico, el sensor que tengo es un HC-SR04, el pic es el mismo que utilizas (16F876A) y a la hora de armarlo no funciona, no se si sea por los motores o el sensor por favor necesito ayuda gracias.
Hola.
Sigue todas las indicaciones del artículo. Sino te funciona es porque algo no has hecho igual.
hola, Robotypic puedo poner de motores motor reductores?? o deben ser los servo motores HS311??? gracias por tu respuesta.
Miguel.
Puedes poner cualquier motor. Pero debes tener en cuenta que tienes que modificar los tiempos que tienes señalados en el artículo en rojo para que el robot gire el ángulo deseado.
Hola, tenemos problemas con el circuito pues nuestro motores no giran y el sensor solo se mueve pocos centímetros cada que lo volvemos a conectar, ayudaaaa :(
Diculpa robot y pic conecte todo lo que en proteus sale pero solo el servo se mueve pero no las ruedas ni el sensor nada de eso...
me gustaria saber si el proyecto que uds publicaron en verdad funciona, porque haciendo todo eso en mi caso no funciono.
Gracias por su comprension
Hola Alexander.
El video demostrativo que puedes ver es la muestra de lo explicado en el artículo. Fuciona correctamente y está probado. Ten muy en cuenta los comentarios en rojo que puedes ver en la explicación y que quizá tengas que modificar según tu caso.
HOLA ROBOTYPIC QUE TAL . UNA PREGUNTA EN PROTEUS NO ENCUENTRO EL SAF05 QUE ESTA EN ROJO SRF O5 COMO LO BUSCO ? OH ES EL SRF 05 POR QUE SOLO ME SALE ESE EL SRF 04
es necesario colocar los diodos?
Publicar un comentario