Índice:

MrK Blockvader: 6 etapas (com imagens)
MrK Blockvader: 6 etapas (com imagens)

Vídeo: MrK Blockvader: 6 etapas (com imagens)

Vídeo: MrK Blockvader: 6 etapas (com imagens)
Vídeo: YEAR IN REVIEW | The WWF in 1996 (Full Year Documentary) 2024, Novembro
Anonim
Image
Image
impressao 3D
impressao 3D

Ao longo dos anos, vi muitos projetos interessantes de robôs rover impressos em 3D e adoro como a tecnologia de impressão 3D ajudou a comunidade robótica a aumentar a diversidade em design e opções de materiais. Quero adicionar uma pequena contribuição à comunidade robótica publicando MrK_Blockvader em Instructable for the Maker Community.

MrK_Blockvader é um pequeno robô divertido com uma campainha minúscula, mas não se deixe enganar pela aparência de blocos. Ele poderia ser equipado com o sensor de cor, sensor de distância, um módulo de rádio para se comunicar com outro Blocky com capacidade semelhante, com uma base ou com um controlador.

MrK_Blockvader fará parte de uma rede de robôs onde um pode ser atribuído como o comandante a um grupo de robôs para arquivar o mesmo objetivo.

Suprimentos

1 * Arduino Nano

1 * driver do motor DC

2 * motor DC com caixa de engrenagens

Bateria Venom LiPo de 1 * 650 mAh

2 * 1/24 rodas de caminhão RC

2 * LEDs brancos

1 * Sensor de distância

1 * sensor de cor

1 * placa de breakout nRF24

1 * placa de rádio nRF24

1 * Buzzer

1 * Switch

1 * 26 AUG fio preto

1 * 26 AUG fio azul

1 * 22 AUG fio preto

1 * 22 AUG fio vermelho

Etapa 1: Impressão 3D

Eu uso a impressora CEL Robox 3D impressa com material de carbono para maior leveza e durabilidade. Vou anexar os arquivos STL abaixo. Faça um comentário se tiver alguma dúvida sobre o processo e a configuração da impressão 3D.

Etapa 2: preparar o Arduino Nano

Prepare o Arduino Nano
Prepare o Arduino Nano
Prepare o Arduino Nano
Prepare o Arduino Nano
Prepare o Arduino Nano
Prepare o Arduino Nano
Prepare o Arduino Nano
Prepare o Arduino Nano

Aprendi que realizar o trabalho de preparação para todos os componentes elétricos é a chave para um projeto limpo.

Este projeto inclui a fiação da placa de breakout nRF24, eu fiz isso em um projeto separado chamado NRF24 Wireless LED Box, onde você pode encontrar as informações sobre como conectar a placa de breakout nRF24 a um Arduino.

Nota: Eu uso um fio 22AWG mais grosso para alimentar o Nano e fios 26 AWG azuis e pretos finos para todos os outros fins de sinal. Eu adoro esses fios de tamanho 26 AWG, eles são flexíveis, mas ainda assim fortes, fornecem o melhor dos dois mundos.

Trabalho de preparação do Arduino Nano:

  1. Solde o cabeçalho do pino de sinal no Arduino Nano.
  2. Molhar esses pinos com a solda tornará a soldagem muito mais fácil mais tarde.
  3. Solde um grupo de fio azul no 5V para fornecer energia a todos os sensores e LEDs.
  4. Solde um grupo de fio preto ao GND para fornecer aterramento a todos os sensores e LEDs.

Trabalho de preparação do quadro de discussão NRF 24:

  1. Solde 5 fios na placa breakout nRF24 para os sinais.
  2. Solde 2 fios na placa breakout nRF24 para obter energia.
  3. Verifique o link para ter certeza de como conectar a placa de breakout a um Arduino.
  4. Solde o sinal 5 fios do nRF24 para o Arduino Nana.

Trabalho de preparação da campainha:

  1. Solde um fio preto em uma das pernas da campainha para aterramento.
  2. soldar um fio azul à outra perna da campainha para controle do sinal.

Trabalho de preparação do fotorresistor: (diagrama disponível)

  1. Solde um fio azul em uma das pernas do fotorresistor para 5V.
  2. Solde um resistor de 10K na outra perna do fotorresistor.
  3. Solde um fio azul entre o resistor de 10K e o fotorresistor para o sinal.
  4. Solde um fio preto no resistor de 10K para aterramento.

Trabalho de preparação de LEDs:

  1. Solde um fio azul do LED positivo direito ao LED esquerdo positivo.
  2. Solde um fio preto do LED negativo direito para o LED negativo esquerdo.
  3. Solde um fio azul para o LED direito positivo para controle de sinal.
  4. Solde um fio preto no LED negativo direito para aterramento.

Etapa 3: Prepare o motor DC, o driver do motor DC e os sensores

Prepare o motor DC, o driver do motor DC e os sensores
Prepare o motor DC, o driver do motor DC e os sensores
Prepare o motor DC, o driver do motor DC e os sensores
Prepare o motor DC, o driver do motor DC e os sensores

O MrK_Blockvador tem algumas opções de sensor e os sensores adicionais não afetam o funcionamento geral, no entanto, o sensor de cores não poderá ser instalado depois que o motor DC for colado no lugar.

Trabalho de preparação do motor DC:

  1. Solde um fio preto e um fio vermelho para o motor DC.
  2. Enrole a extremidade do motor com fita adesiva.
  3. Preencha a área com cola quente para selar os conectores do motor.

Trabalho de preparação do driver do motor DC:

  1. Solde os 6 fios de sinal no driver do motor.
  2. Solde o fio de sinal no pino correto no Arduino Nano.
  3. Instale os fios de 12 V para alimentar o driver do motor a partir da bateria. Certifique-se de que os fios sejam longos o suficiente para passar por baixo e por trás do robô.
  4. Instale os fios de 5 V para alimentar o Arduino Nano a partir do driver do motor.

Trabalho de preparação do sensor de cor (opcional):

  1. Solde os 2 fios para o sinal.
  2. Solde os 2 fios para obter energia.
  3. Solde o 1 fio para controlar o LED super brilhante.

Trabalho de preparação do sensor de distância: (opcional)

  1. Solde um fio azul para o sinal.
  2. Solde outro fio azul na porta positiva para 3V positivo.
  3. Solde um fio preto na porta negativa para aterramento.

Etapa 4: montar

Image
Image
Montar
Montar

Depois de todo o trabalho de preparação, agora é o momento em que as coisas se encaixam.

Nota: Eu uso cola quente para o motor DC e driver do motor DC porque a cola quente pode fornecer uma pequena absorção de choque e se você precisar removê-la, um pouco de álcool isopropílico irá remover a cola quente imediatamente.

Processo de montagem:

  1. Cole o sensor de cores no chassi e passe o fio do sensor de cores pelo canal. (opcional)
  2. Cole os motores DC ao chassi, certifique-se de que o motor DC fique nivelado com o chassi.
  3. Super cola a cabeça do Blocvader em seu chassi para garantir que todos os fios passem.
  4. Sensor de distância de cola quente. (opcional)
  5. LEDs com cola quente para olhos Blockvador.
  6. Insira os fios do motor DC no driver do motor DC até o fim e aparafuse firmemente.
  7. Passe os fios de alimentação de 12 V do driver DC para baixo e para fora da parte traseira do chassi para a chave liga / desliga.
  8. Certifique-se de que todos os fios de todos os sensores estejam desobstruídos antes de colar o driver do motor DC.
  9. Carregue o código de teste e solucione o problema, se houver.

Etapa 5: Código

Image
Image
Qual o proximo?
Qual o proximo?

Código Básico:

O robô usa seu fotorresistor e detecta o nível de luz da sala e reage se houver uma mudança no nível de luz ao longo do tempo

O coração do código:

void loop () {lightLevel = analogRead (Photo_Pin); Serial.print ("Nível de luz:"); Serial.println (nível de luz); Serial.print ("Luz atual:"); Serial.println (Current_Light); if (lightLevel> = 200) {Chill_mode (); analogWrite (eyes_LED, 50); Serial.println ("modo Chill");} if (lightLevel <180) {Active_mode (); analogWrite (eyes_LED, 150); Serial. println ("modo ativo");}}

O robô pode ser controlado usando um controlador e alternando para o modo autônomo parcial usando o controlador.

O coração do código:

void loop () {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analogRead (Dis_Pin); // Verifique se há dados a serem recebidos if (radio.available ()) {radio.read (& data, sizeof (Data_Package)); if (data. C_mode == 0) {Trim_Value = 10; Direct_drive ();} if (data. C_mode == 1) {Trim_Value = 0; Modo_autônomo ();} if (modo_de_dados == 2) {Valor_trim = 0; Chill_mode ();} if (debug> = 1) {if (data. R_SJoy_State == 0) {Serial.print ("R_SJoy_State = HIGH;");} if (data. R_SJoy_State == 1) {Serial.print ("R_SJoy_State = LOW;");} if (data. S_Switch_State == 0) {Serial.print ("S_Switch_State = HIGH;");} if (data. S_Switch_State == 1) {Serial.print ("S_Switch_State = LOW; ");} if (data. M_Switch_State == 0) {Serial.println (" M_Switch_State = HIGH ");} if (data. M_Switch_State == 1) {Serial.println (" M_Switch_State = LOW ");} Serial.print ("\ n"); Serial.print ("Modo Rover:"); Serial.println (data. C_mode); Serial.print ("L_XJoy_Value ="); Serial.print (data. L_XJoy_Value); Serial.print ("; L_YJoy_Value ="); Serial.print (data. L_YJoy_Value); Serial.print ("; R_YJoy_Value ="); Serial.print (data. R_YJoy_Value); Serial.print ("; Throtle_Value ="); Serial.println (data. Throtle_Value); atraso (depurar * 10); } lastReceiveTime = millis (); // Neste momento recebemos os dados} // Verifique se continuamos recebendo dados ou se temos uma conexão entre os dois módulos currentTime = millis (); if (currentTime - lastReceiveTime> 1000) // Se a hora atual for mais de 1 segundo desde que recebemos os últimos dados, {// significa que perdemos a conexão resetData (); // Se a conexão for perdida, redefina os dados. Isso evita comportamentos indesejados, por exemplo, se um drone aumentar o acelerador e perdermos a conexão, ele pode continuar voando, a menos que zeremos os valores}}

Etapa 6: o que vem a seguir?

Este projeto é o início de um projeto maior, onde uma rede desses pequeninos trabalha em conjunto para arquivar um objetivo comum.

No entanto, esses robôs precisariam relatar seu status a uma estação de comunicação, então esta estação combinaria todos os relatórios de todos os bots para então tomar uma decisão sobre qual seria a próxima ação necessária.

Por isso, a próxima fase do projeto seria um controlador para atuar como estação de comunicação. Isso ajudará a desenvolver ainda mais o projeto.

O próprio controlador é um robô, no entanto, é mais passivo do que o Blockader. Portanto, o controlador abandona seu próprio artigo instrutível, portanto, sintonize-se para um projeto futuro; D

Recomendado: