Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Robô evitando parede baseado em Raspberry Pi - FabLab NerveCentre


Observação:este instrutivo não está completo - mas pode ser útil

Publicado para permitir que as excelentes pessoas da NerveCentre de Derry levem o código às escolas

Espero voltar a isso, mas meu trabalho atual está me impedindo de fazer isso por enquanto.

Este instrutível é uma alternativa à minha outra parede evitando o robô encontrado aqui:

http://www.instructables.com/id/Arduino-wall-avoid…

A intenção é oferecer uma plataforma e codificação alternativas para atingir o mesmo resultado.

Para este projeto, usamos o Raspberry Pi e o familiar chip ponte h duplo L293D. O sensor ultrassônico é o amplamente utilizado HC-SR04.

A codificação é feita em Python, que considero muito mais fácil de interpretar para aqueles que não codificam muito.

Aproveite o projeto e dê o seu feedback para que sejam feitas as melhorias necessárias.

Etapa 1:O que você precisa


A Raspberry Pi - usei um B +, mas qualquer RPi funcionará com algumas edições nos números dos pinos usados ​​para acionar cada motor.

Um driver de motor - usei o kit L293D PCB daqui:http://www.rkeducation.co.uk/L293D-Project-PCB.php… - Devido a uma mudança de trabalho, é improvável que eu consiga responder perguntas sobre alternativas, então espero que as informações mais tarde sejam suficientes.

2 X motores e rodas CC com engrenagem de ângulo reto - você pode usar qualquer motor CC para isso.

Um sensor ultrassônico HC-SR04 - amplamente utilizado e disponível para projetos RPi e Arduino.

Uma bateria de 9 V e um encaixe de bateria - isso serve para fazer os motores funcionar.

Uma bateria de 5 V - usei uma bateria Anker para executar o RPi.

Fiação - uma seleção de fios fêmea-fêmea e fêmea-macho.

Resistores - apenas 2 são necessários para criar um divisor de tensão. Usei um emparelhamento de 100 Ohm e 220 Ohm. Veja os detalhes abaixo sobre a criação de um divisor de tensão - em última análise, embora um resistor precise ter quase o dobro da resistência do outro.

Uma pequena placa de ensaio - você poderia passar sem isso se usar fita isolante ou algo assim.

Etapa 2:vamos ver como usar o Pi para obter uma leitura do sensor ultrassônico


Aprendi como fazer isso por meio do tutorial do ModMyPi.com, que está disponível aqui:

https://www.modmypi.com/blog/hc-sr04-ultrasonic-ra…

Em anexo está um esquema que mostra como aplicar o divisor de tensão.

Resumidamente, isso é usado para diminuir a tensão no sinal de volta do pino ECHO no sensor. 5V sai do pino e passa por um resistor que cria uma queda de tensão. Nesse ponto, há uma divisão - uma ramificação vai para o GND por meio de um resistor que tira o dobro da tensão - a outra ramificação só passou por um desses resistores e, portanto, reduz a tensão para 3,3V.

O Pi precisa que esse sinal seja reduzido para 3,3 V, caso contrário, o sensor dos EUA funcionará, mas retornará leituras espúrias. Daí a necessidade do divisor de tensão.

Você pode consultar o link em anexo se precisar fazer o breadboard. Anexei (mais tarde) alguns arquivos de fabricação para produzir um pequeno divisor de tensão, se você tiver os recursos para isso.

Para testar o sensor ultrassônico, você pode usar o código em anexo (se não estiver funcionando da minha imagem disponível no Github). Para fazer isso, basta baixar o arquivo e no LXTerminal do RPi navegar até a pasta onde baixou o arquivo. Em seguida, digite “sudo python FILENAME.py”.

Etapa 3:agora vamos ver como fazer alguns motores funcionarem


Agora podemos conectar alguns motores.

Tudo pode ser conectado conforme a imagem. Acho muito útil tentar evitar a repetição de quaisquer cores para que você possa ver facilmente onde cada uma se conecta.

No código anexado (que demonstra o movimento do motor), você notará que usei um padrão de nomenclatura para os 3 pinos que ligam o RPi ao driver do motor. Por exemplo:

Motor1A =36 - indica um pino para conectar IP1 ou IP2.

Motor1B =38 - indica um pino para conectar IP1 ou IP2.

Motor1E =40 - indica um pino para conectar EN1.

O mesmo é verdade para a série “Motor2 *”:

Motor1A =33 - indica um pino para conectar IP3 ou IP4.

Motor1B =35 - indica um pino para conectar IP3 ou IP4.

Motor1E =37 - indica um pino para conectar EN2.

Uma vez que eles estejam conectados, precisamos conectar cada terminal do motor também. Conecte um motor ao MA e o outro ao MB - o fio que vai para cada lado dos motores é bastante arbitrário, pois nenhum dano será feito.

Novamente, você pode baixar o arquivo anexado e executar o código Python de acordo com as instruções anteriores.

Etapa 4:Fazendo tudo funcionar em conjunto


Neste ponto, você provavelmente tem uma confusão de fiação, algo como a imagem anexada!

Além de construir um chassi, você está pronto para fazer tudo funcionar em conjunto.

Em anexo está um script Python (que é executado novamente de acordo com as instruções anteriores) que fará uma medição de distância usando o sensor ultrassônico a cada 0,5 segundos. Se esta medida cair abaixo de 10 cm, uma das rodas inverte. Quando montado todos juntos em um chassi, isso significa que o robô irá se mover e se virar se sentir alguma coisa por perto.



Para mais detalhes:Robô evitando parede baseado em Raspberry Pi - FabLab NerveCentre

Processo de manufatura

  1. Estação meteorológica baseada no Raspberry Pi
  2. Projeto Raspberry PI IoT Conectando o Sensor DHT11
  3. Robô usando Raspberry Pi e Bridge Shield
  4. Robô evitando parede baseado em Raspberry Pi - FabLab NerveCentre
  5. Um robô móvel com prevenção de obstáculos baseada na visão
  6. Construindo o Kit do Robô MonkMakes Raspberry Pi
  7. XMOS startKIT:Construindo um XMOS e Raspberry Pi Robot XMP-1
  8. Robô da caixa de CD do Raspberry Pi
  9. PiCy - O Robô Minúsculo Raspberry Pi!
  10. Robô Raspberry Pi controlado por Bluetooth