'**************************************************** '* Programa ROBO_RASTREADOR_II.BAS '* Desenvolvido por Márcio José Soares '* para revista Mecatrônica Fácil '* Controla Robô Rastreador II '**************************************************** '**************************************************** '* '* ******* ATENÇÂO!!! ******* '* '* Compilador utilizado - Tbasic versão 1.0.0.0 '* Necessário Basic Step 1 firmware 2.3 ou superior '* '* Este programa apresentará uma série de erros se '* "compilado" com TBasic 0.9.23.0 ou 0.9.25.0 '* '* Use a versão recomendada ou faça as adaptações '* necessárias para a antiga versão '* '* Para saber qual a versão instalada em seu computador '* veja no menu Ajuda - Sobre... '**************************************************** '**************************************************** '* define variáveis symbol motor1 = 3 'motor 1 ligado ao pino P3 symbol motor2 = 4 'motor 2 ligado ao pino P4 symbol LED1 = 5 'LED ligado ao pino P5 symbol LED2 = 6 'LED ligado ao pino P6 symbol i=b0 '**************************************************** '* define ambiente dirs=%11111000 'P0, P1 e P2 são entradas 'o restante, saída pins=%00000000 'zera todas as saídas low LED1 'apaga LEDs low LED2 for i=0 to 6 'pisca LEDs gosub pisca next i low LED1 'apaga LEDs low LED2 '**************************************************** '* loop principal loop: 'inicia loop principal input 0 'colhe pino de entrada if pin0=1 then 'testa se está no preto pulsout motor2, 5 'liga apenas motor contrário pause 10 gosub acende_2 'acende LED else 'senão pulsout motor1, 255 'liga motor mesmo lado pause 10 endif input 1 'colhe pino de entrada if pin1=1 then 'testa se está no preto pulsout motor1, 255 'liga apenas motor contrário pause 10 gosub acende_1 'acende LED else 'senão pulsout motor2, 5 'liga motor mesmo lado pause 10 endif 'se precisar de um tempinho para robôs muito 'rápidos, apague a aspas simples na linha com 'o comando pause 50 para inserir um tempo. Seu robô 'ficará mais lento 'pause 50 goto loop '**************************************************** '* subrotinas comuns ao módulo acende_1: 'acende LED1 e apaga LED2 high LED1 low LED2 return acende_2: 'acende LED2 e apaga LED1 high LED2 low LED1 return pisca: 'pisca LEDs toggle LED1 toggle LED2 pause 500 return