elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programar en pic c compiler un coche rastreador de lineas negras de 8 sensores
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programar en pic c compiler un coche rastreador de lineas negras de 8 sensores  (Leído 8,412 veces)
sephirot224

Desconectado Desconectado

Mensajes: 1



Ver Perfil
Programar en pic c compiler un coche rastreador de lineas negras de 8 sensores
« en: 13 Marzo 2011, 16:38 pm »

Soy nuevo en esto, realice una placa de un coche rastreador de lineas negras de 8 sensores por el proteus y luego programe el programa c en el programa pic c compiler pero me daba error, me gustaria que corrigierais el error o una alternativa al programa.
Gracias y saludos.

Código
  1. ////////Coche rastreador//////////
  2.  
  3.  
  4. //Características del microcontrolador
  5.  
  6. #include <16F873.h>
  7. #fuses XT,NOWDT,NOPROTECT
  8. #use delay(clock=4000000)
  9. #define NEGRO 0
  10. #define BLANCO 1
  11. #define S1 input(pin_A5)
  12. #define S2 input(pin_A4)
  13. #define S3 input(pin_A3)
  14. #define S4 input(pin_A2)
  15. #define S5 input(pin_A1)
  16. #define S6 input(pin_A0)
  17. #define S7 input(pin_B7)
  18. #define S8 input(pin_B6)
  19.  
  20. void derecha()
  21. {
  22. output_low(pin_B3); //Motor derecho 1
  23. output_high(pin_B4); //Motor derecho 2
  24. output_high(pin_B1); //Motor izquierdo1
  25. output_low(pin_B2); //Motor izquierdo 2
  26. }
  27. void izquierda()
  28. {
  29. output_high(pin_B3); //Motor derecho 1
  30. output_low(pin_B4); //Motor derecho 2
  31. output_low(pin_B1); //Motor izquierdo1
  32. output_high(pin_B2); //Motor izquierdo 2
  33. }
  34. void recto()
  35. {
  36. output_high(pin_B3); //Motor derecho 1
  37. output_low(pin_B4); //Motor derecho 2
  38. output_high(pin_B1); //Motor izquierdo1
  39. output_low(pin_B2); //Motor izquierdo 2
  40. }
  41. void parado()
  42. {
  43. output_low(pin_B3); //Motor derecho 1
  44. output_low(pin_B4); //Motor derecho 2
  45. output_low(pin_B1); //Motor izquierdo1
  46. output_low(pin_B2); //Motor izquierdo 2
  47.  
  48. void main()
  49. {
  50. int estado=0;
  51.  
  52. while (1)
  53. {
  54.  
  55. if(S1==NEGRO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  56. {
  57. estado=1;
  58. }
  59.  
  60. if(S1==BLANCO&&S2==NEGRO&&S3==BLANCO&&S4==BLANCO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  61. {
  62. estado=2;
  63. }
  64.  
  65. if(S1==BLANCO&&S2==BLANCO&&S3==NEGRO&&S4==BLANCO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  66. {
  67. estado=3;
  68. }
  69.  
  70. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==NEGRO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  71. {
  72. estado=4;
  73. }
  74.  
  75. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==NEGRO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  76. {
  77. estado=5;
  78. }
  79.  
  80. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==BLANCO&&S6==NEGRO&&S7==BLANCO&&S8==BLANCO)
  81. {
  82. estado=6;
  83. }
  84.  
  85. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==BLANCO&&S6==BLANCO&&S7==NEGRO&&S8==BLANCO)
  86. {
  87. estado=7;
  88. }
  89.  
  90. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==NEGRO)
  91. {
  92. estado=8;
  93. }
  94.  
  95. if(S1==NEGRO&&S2==NEGRO&&S3==BLANCO&&S4==BLANCO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  96. {
  97. estado=9;
  98. }
  99.  
  100. if(S1==BLANCO&&S2==NEGRO&&S3==NEGRO&&S4==BLANCO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  101. {
  102. estado=10;
  103. }
  104.  
  105. if(S1==BLANCO&&S2==BLANCO&&S3==NEGRO&&S4==NEGRO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  106. {
  107. estado=11;
  108. }
  109.  
  110. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==NEGRO&&S5==NEGRO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  111. {
  112. estado=12;
  113. }
  114.  
  115. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==NEGRO&&S6==NEGRO&&S7==BLANCO&&S8==BLANCO)
  116. {
  117. estado=13;
  118. }
  119.  
  120. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==BLANCO&&S6==NEGRO&&S7==NEGRO&&S8==BLANCO)
  121. {
  122. estado=14;
  123. }
  124.  
  125. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==BLANCO&&S6==BLANCO&&S7==NEGRO&&S8==NEGRO)
  126. {
  127. estado=15;
  128. }
  129.  
  130. if(S1==NEGRO&&S2==NEGRO&&S3==NEGRO&&S4==BLANCO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  131. {
  132. estado=16;
  133. }
  134.  
  135. if(S1==BLANCO&&S2==NEGRO&&S3==NEGRO&&S4==NEGRO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  136. {
  137. estado=17;
  138. }
  139.  
  140. if(S1==BLANCO&&S2==BLANCO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  141. {
  142. estado=18;
  143. }
  144.  
  145. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==BLANCO&&S8==BLANCO)
  146. {
  147. estado=19;
  148. }
  149.  
  150. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==NEGRO&&S6==NEGRO&&S7==NEGRO&&S8==BLANCO)
  151. {
  152. estado=20;
  153. }
  154.  
  155. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==BLANCO&&S6==NEGRO&&S7==NEGRO&&S8==NEGRO)
  156. {
  157. estado=21;
  158. }
  159.  
  160. if(S1==NEGRO&&S2==NEGRO&&S3==NEGRO&&S4==NEGRO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  161. {
  162. estado=22;
  163. }
  164.  
  165. if(S1==BLANCO&&S2==NEGRO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  166. {
  167. estado=23;
  168. }
  169.  
  170. if(S1==BLANCO&&S2==BLANCO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==BLANCO&&S8==BLANCO)
  171. {
  172. estado=24;
  173. }
  174.  
  175. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==NEGRO&&S8==BLANCO)
  176. {
  177. estado=25;
  178. }
  179.  
  180. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==NEGRO&&S6==NEGRO&&S7==NEGRO&&S8==NEGRO)
  181. {
  182. estado=26;
  183. }
  184.  
  185. if(S1==NEGRO&&S2==NEGRO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  186. {
  187. estado=27;
  188. }
  189.  
  190. if(S1==BLANCO&&S2==NEGRO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==BLANCO&&S8==BLANCO)
  191. {
  192. estado=28;
  193. }
  194.  
  195. if(S1==BLANCO&&S2==BLANCO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==NEGRO&&S8==BLANCO)
  196. {
  197. estado=29;
  198. }
  199.  
  200. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==NEGRO&&S8==NEGRO)
  201. {
  202. estado=30;
  203. }
  204.  
  205. if(S1==NEGRO&&S2==NEGRO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==BLANCO&&S8==BLANCO)
  206. {
  207. estado=31;
  208. }
  209.  
  210. if(S1==BLANCO&&S2==NEGRO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==NEGRO&&S8==BLANCO)
  211. {
  212. estado=32;
  213. }
  214.  
  215. if(S1==BLANCO&&S2==BLANCO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==NEGRO&&S8==NEGRO)
  216. {
  217. estado=33;
  218. }
  219.  
  220. if(S1==NEGRO&&S2==NEGRO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==NEGRO&&S8==BLANCO)
  221. {
  222. estado=34;
  223. }
  224.  
  225. if(S1==BLANCO&&S2==NEGRO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==NEGRO&&S8==NEGRO)
  226. {
  227. estado=35;
  228. }
  229.  
  230. if(S1==NEGRO&&S2==NEGRO&&S3==NEGRO&&S4==NEGRO&&S5==NEGRO&&S6==NEGRO&&S7==NEGRO&&S8==NEGRO)
  231. {
  232. estado=36;
  233. }
  234.  
  235. if(S1==BLANCO&&S2==BLANCO&&S3==BLANCO&&S4==BLANCO&&S5==BLANCO&&S6==BLANCO&&S7==BLANCO&&S8==BLANCO)
  236. {
  237. estado=37;
  238. }
  239.  
  240.  
  241.  
  242. if ((estado==0) || (estado==37))
  243. {
  244. parado();
  245. }
  246.  
  247. if ((estado==4) || (estado==5) || estado==12) || (estado==18) || (estado==19) || (estado==23) || (estado==24) || (estado==25) || (estado==28) || (estado==29) || (estado==32) || (estado==36))
  248. {
  249. recto();
  250. }
  251.  
  252. if ((estado==1) || (estado==2) || estado==3) || (estado==9) || (estado==10) || (estado==11) || (estado==16) || (estado==17) || (estado==22) || (estado==27) || (estado==31) || (estado==34))
  253. {
  254. izquierda();
  255. }
  256.  
  257. if ((estado==6) || (estado==7) || estado==8) || (estado==13) || (estado==14) || (estado==15) || (estado==20) || (estado==21) || (estado==26) || (estado==30) || (estado==33) || (estado==35))
  258. {
  259. derecha();
  260. }
  261. }
  262. }
  263.  
  264. FIN


« Última modificación: 20 Marzo 2011, 17:22 pm por Littlehorse » En línea

<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
Re: Programar en pic c compiler un coche rastreador de lineas negras de 8 sensores
« Respuesta #1 en: 20 Marzo 2011, 16:00 pm »

La verdad Casi no entiendo tu codigo pero deberias subir el diagrama del circuito para ver si entendemos bien tu codigo ;) asi vemos como esta conectado el micro O.o nos damos una idea... y aqui no se deberia de postear esto :O


En línea

<<<--Basura-->>>
crash_bs

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Programar en pic c compiler un coche rastreador de lineas negras de 8 sensores
« Respuesta #2 en: 29 Junio 2011, 12:01 pm »

hola, puedo notar que te falta un corchete de cierre }  al final de la funcion void parado(), tambien en la parte final del programa te falta tres parentesis de apertura (   en estado == 12) ...  estado == 3) ... estado == 8)   y tambien me parece que deberías declarar la variable estado como publica. espero q te ayude
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[tutorial] Texturas en la carrocería de un coche (no tiene porque ser un coche)
Diseño Gráfico
H4RR13R 6 6,851 Último mensaje 18 Julio 2007, 00:15 am
por Azielito
aprendamos a programar y a diseñar robots d sumo , seguidores de lineas, y demas
Electrónica
lewisdavid 0 5,026 Último mensaje 12 Marzo 2009, 04:43 am
por lewisdavid
Crear rastreador de codigo?
Hacking
fedeceto1 6 4,507 Último mensaje 7 Mayo 2014, 16:46 pm
por #Aitor
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines