Índice:

Faça pára-choques de robô (com código): 4 etapas
Faça pára-choques de robô (com código): 4 etapas

Vídeo: Faça pára-choques de robô (com código): 4 etapas

Vídeo: Faça pára-choques de robô (com código): 4 etapas
Vídeo: AMECA ROBÔ FICA PASSADA COM SEGREDOS HUMANOS 2024, Julho
Anonim
Faça Robot Bumpers (com Código)
Faça Robot Bumpers (com Código)

Este instrutível orientará os leitores sobre como criar e codificar bumpers em um Boe-bot que será capaz de navegar por um labirinto enquanto detecta obstáculos. A codificação para o projeto foi feita usando o software de programação BASIC Stamp e o robô Boe-Bot, e um conhecimento básico de circuitos e programação é necessário para ter sucesso na criação desses bumpers.

Suprimentos

Para criar esses bumpers, você precisará de:

- Robô Boe-Bot

- Software de programação BASIC Stamp

- Picolés

- Uma esponja

- Folha de alumínio

- Clipes de papel

- 8 fios decentemente longos (pelo menos 6 polegadas)

- 2 luzes LED

- 2 resistores marrom-preto-amarelo

- 2 resistores vermelho-vermelho-marrom

- Fita adesiva e cola quente (ou um adesivo semelhante)

- Baterias para o seu Boe-Bot

Etapa 1: Etapa 1: Criação do circuito

Etapa 1: Criação do circuito
Etapa 1: Criação do circuito
Etapa 1: Criação do circuito
Etapa 1: Criação do circuito

Siga o diagrama do breadboard acima para criar um circuito para orientar e operar o seu breadboard. No final, sua placa de ensaio deve ser semelhante à imagem à esquerda.

Coisas para lembrar:

- Certifique-se de que o LED está na posição correta. Isso significa que a perna plana do LED deve estar no lado negativo e a outra perna no lado positivo.

- O Vss serve como base nesta placa de ensaio, o que significa que tem um valor zero e o Vdd tem um valor 1.

- Um circuito em execução tem um valor de 0. Um circuito que está desligado tem um valor de 1.

Etapa 2: Etapa 2: Programação para o Boe-bot

O código a seguir programa o robô para girar 90 graus para a esquerda e para a direita com base em qual dos pára-choques é pressionado (mais detalhes sobre a criação do pára-choque na próxima etapa). Este código garante que o robô vire à esquerda quando os fios do amortecedor direito são pressionados e vira à direita quando os fios do amortecedor esquerdo são pressionados.

Algumas traduções básicas de idiomas:

- GOSUB = sub-rotina (deve ser seguido por uma demanda no código)

- If.. Else = especifica um grupo de código que deve ser executado, se as condições forem verdadeiras, e executa as instruções se as condições forem falsas

O código:

'{$ STAMP BS2}

'{$ PBASIC 2.5}' ****************************************** ********************************** 'Reiniciar código de reinicialização' Use o botão de reinicialização para parar e iniciar o robô '** *************************************************** ************************* temp VAR Byte 'armazenamento temporário RunStatus DATA $ 00' variável armazenada em ROM READ RunStatus, temp 'Lê a variável de ROM temp = ~ temp 'inverte o valor 0 para 1 ou 1 para 0 WRITE RunStatus, temp' Grava a variável de volta para ROM IF (temp> 0) ENTÃO END 'Verifique se o valor é 1' se for assim END o programa PAUSE 3000 'Faça uma pausa para permitir para você mover 'sua mão quando você pressiona reset' *************************************** ************************************* '************* *************************************************** *********** 'Pinos E constantes' Usado para simplificar a programação '***************************** ********************************************** PIN DO RMOTOR 15 PIN DO LMOTOR 14 RFast CON 650 LFast CON 850 RSlow CON 700 LSlow CON 780 MStop CON 750 RFastRev CON 8 50 LFastRev CON 650 RSlowRev CON 800 LSlowRev CON 700 TurnLeft90 CON 90 TurnRight90 CON 90 '********************************* ******************************************* '********* *************************************************** ************** 'Variáveis' Usado para simplificar a programação '***************************** ********************************************** MLoopC VAR Word 'For.. Próxima variável até 65000ish sideCount VAR Byte turnAngle VAR Word '************************************** **************************************** '----------- -------------------------------------------------- ------------- 'Código principal '--------------------------------- ----------------------------------------- DO IF IN10 = 0 THEN 'Se o fio no pino 10 está ligado e vire à esquerda GOSUB LeftTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 THEN 'Se o fio no pino 11 estiver ligado, vire à direita GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast' Avance um pulso LOOP '- --------------------------------- ------------------------------------- '** FIM DO CÓDIGO PRINCIPAL ****** ************************************************* '- -------------------------------------------------- --------------------- '***************************** ********************************************** '** Sub-rotinas / Sub-procedimento / Métodos ******************************** '*********** *************************************************** *********** '************************************** *********************************** '*************** *************************************************** ******* RightTurn90: 'Subprocdure to Turn 90deg Right' ********************************** ************************************** ALTO 1 BAIXO 0 PARA MLoopC = 1 A 22 PULSOUT LMOTOR, Lfast 'avançar um pulso PULSOUT RMOTOR, RfastRev' usando pinos e constantes PAUSE 20 '20mS permite que o robô se mova NEXT' antes do PRÓXIMO pulso RETURN '********************* *************************************************** * LeftTurn90: 'Subprocedimento para virar 90deg para a direita' ** *************************************************** ******************** ALTO 0 BAIXO 1 PARA MLoopC = 1 A 22 PULSOUT LMOTOR, LfastRev 'avançar um pulso PULSOUT RMOTOR, Rfast' usando pinos e constantes PAUSE 20 ' 20mS permite que o robô se mova PRÓXIMO 'antes do PRÓXIMO pulso RETORNAR' *************************************** ********************************** ForwardFast: 'Subprocedimento para mover o robô para frente um quadrado rápido' **** *************************************************** ****************** PARA MLoopC = 1 A 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 NEXT RETURN '************** *************************************************** ****** ReverseTurnLeft: 'Subprocedimento para reverter e virar o robô para a esquerda quando o pára-choque direito é pressionado' *************************** ******************************************** PARA MLoopC = 1 A 55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 NEXT RETURN '***************************************** ********************************** ReverseTurnRight: 'Subproce Certifique-se de inverter e virar o robô para a direita quando o pára-choque esquerdo for pressionado '************************************* ************************************* PARA MLoopC = 1 A 55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 PRÓXIMO RETORNO '*********************************************** ************************** 'FIM DE SUBROUTINAS' ********************* *************************************************** *

Etapa 3: Etapa 3: Uso de folha de alumínio e palitos de picolé para amortecedores de arame

Etapa 3: usando folha de alumínio e palitos de picolé para amortecedores de arame
Etapa 3: usando folha de alumínio e palitos de picolé para amortecedores de arame
Etapa 3: usando folha de alumínio e palitos de picolé para amortecedores de arame
Etapa 3: usando folha de alumínio e palitos de picolé para amortecedores de arame
Etapa 3: usando folha de alumínio e palitos de picolé para amortecedores de arame
Etapa 3: usando folha de alumínio e palitos de picolé para amortecedores de arame
Etapa 3: usando folha de alumínio e palitos de picolé para amortecedores de arame
Etapa 3: usando folha de alumínio e palitos de picolé para amortecedores de arame

Antes de começar esta etapa, certifique-se de que os 4 fios da placa de ensaio (consulte a etapa 1) sejam divididos em pares, com cada par controlando um amortecedor direito ou esquerdo. Os LEDs funcionam nessa situação para verificar se o código foi eficaz nos amortecedores direito e esquerdo. Nos palitos de picolé, um fio de cada par compartilha uma extremidade do palito de picolé (isso significa que os fios do mesmo par NÃO PODEM estar no mesmo amortecedor).

Corte 4 pequenos retângulos de papel alumínio e use um para enrolar o fio ao redor de cada extremidade de dois palitos de picolé. Isso aumenta a área de superfície de condutividade do palito de picolé, além de fornecer uma área de superfície maior para o palito tocar.

Para manter o papel alumínio e os fios presos aos palitos de picolé, use 1-2 clipes de papel para manter os materiais juntos. Os clipes de papel também fornecem mais acessibilidade para os palitos de picolé tocarem sem muita interferência externa. Deslize o clipe de papel sobre o palito de picolé como faria com uma pilha normal de papéis. Repita isso para todos os quatro pedaços de papel alumínio e cada extremidade dos dois palitos de picolé.

Etapa 4: Etapa 4: montagem do restante dos amortecedores

Etapa 4: montagem do restante dos amortecedores
Etapa 4: montagem do restante dos amortecedores
Etapa 4: montagem do restante dos amortecedores
Etapa 4: montagem do restante dos amortecedores
Etapa 4: montagem do restante dos amortecedores
Etapa 4: montagem do restante dos amortecedores
Etapa 4: montagem do restante dos amortecedores
Etapa 4: montagem do restante dos amortecedores

Uma vez que a folha de alumínio e os clipes são capazes de manter os fios presos a cada palito de picolé, corte dois pequenos cubos de esponja e cole cada cubo entre os palitos (nas extremidades de cada palito para que o adesivo de cola quente não interfira com o condutividade do metal. As esponjas garantem que os para-choques se tocam cada vez que o robô atinge uma parede.

Opcional: corte um palito extra de picolé ao meio e cole-o em um ângulo na ponta do pára-choque externo do palito. Isso reforça o impacto do pára-choque batendo em uma parede e girando.

Lembre-se de dobrar os fios para que os amortecedores se curvem bem na frente do bot-bot.

Recomendado: