Índice:
- Suprimentos
- Etapa 1: Etapa 1: Criação do circuito
- Etapa 2: Etapa 2: Programação para o Boe-bot
- Etapa 3: Etapa 3: Uso de folha de alumínio e palitos de picolé para amortecedores de arame
- Etapa 4: Etapa 4: montagem do restante dos amortecedores
Vídeo: Faça pára-choques de robô (com código): 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
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
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
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
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:
Usando um robô de desenho para Arduino com tutoriais de hora de código: 3 etapas
Usando um robô de desenho para Arduino com tutoriais do Hour of Code: Eu criei um robô de desenho Arduino para um workshop para ajudar meninas adolescentes a se interessarem por tópicos STEM (consulte https://www.instructables.com/id/Arduino-Drawing-Robot/ ) O robô foi projetado para usar comandos de programação no estilo tartaruga, como avançar (distanc
Faça painéis frontais com aparência profissional para seu próximo projeto faça você mesmo: 7 etapas (com fotos)
Faça painéis frontais com aparência profissional para seu próximo projeto DIY: Fazer painéis frontais com aparência profissional para projetos DIY não precisa ser difícil ou caro. Com algum software GRATUITO, material de escritório e um pouco de tempo você pode fazer painéis frontais com aparência profissional em casa para enfeitar seu próximo projeto
Robô de equilíbrio / Robô de 3 rodas / Robô STEM: 8 etapas
Robô de balanceamento / Robô de 3 rodas / Robô STEM: Construímos um robô de balanceamento combinado e de 3 rodas para uso educacional em escolas e programas educacionais após as aulas. O robô é baseado em um Arduino Uno, um escudo personalizado (todos os detalhes de construção fornecidos), um pacote de bateria Li Ion (todos constr
Porta USB NODEMcu não funciona? Faça upload do código usando o módulo USB para TTL (FTDI) em apenas 2 etapas: 3 etapas
Porta USB NODEMcu não funciona? Faça upload do código usando o módulo USB para TTL (FTDI) em apenas 2 etapas: Cansado de conectar muitos fios do módulo USB para TTL ao NODEMcu, siga estas instruções para fazer upload do código em apenas 2 etapas. Se a porta USB do NODEMcu não está funcionando, então não entre em pânico. É apenas o chip do driver USB ou o conector USB
Construa um robô muito pequeno: faça o menor robô com rodas do mundo com uma garra: 9 etapas (com fotos)
Construa um robô muito pequeno: faça o menor robô com rodas do mundo com uma garra: Construa um robô de 1/20 de polegada cúbica com uma garra que pode pegar e mover pequenos objetos. É controlado por um microcontrolador Picaxe. Neste momento, acredito que este seja o menor robô com rodas do mundo com uma garra. Isso sem dúvida ch