Índice:

O OBSTÁCULO EMOCIONAL EVITANDO O ROBÔ: 11 etapas
O OBSTÁCULO EMOCIONAL EVITANDO O ROBÔ: 11 etapas

Vídeo: O OBSTÁCULO EMOCIONAL EVITANDO O ROBÔ: 11 etapas

Vídeo: O OBSTÁCULO EMOCIONAL EVITANDO O ROBÔ: 11 etapas
Vídeo: 5 TIPOS DE ABRAÇO (E SIGNIFICADOS) #Shorts 2024, Novembro
Anonim
O OBSTÁCULO EMOCIONAL EVITANDO O ROBÔ
O OBSTÁCULO EMOCIONAL EVITANDO O ROBÔ

O robô emocional. Este robô exibe emoções com neopixels (LEDs RGB) como tristeza, alegria, raiva e medo, também pode evitar obstáculos e fazer certos movimentos durante sua determinada emoção. O cérebro deste robô é um mega Arduino. tenha em mente que este é meu primeiro robô programado que eu já construí, e isso me fez apaixonar por programação, o código em si é muito iniciante e provavelmente poderia ser simplificado.

Etapa 1: PARTES

PEÇAS
PEÇAS

-3,2 pés de uma tira de neopixel

-HC-SR04 Sensor ultrassônico (ou qualquer outro sensor ultrassônico)

-interruptor de tilt

-3 bateria de íon de lítio 3,7 V (18650)

- conversor de reforço (explicado na etapa de potência)

- resistor de foto (qualquer valor)

- sensor de som analógico

Motores -2 dc 6v

-l293d (driver do motor)

-folha de plástico

-cartão

- roda giratória

Etapa 2: Neopixels

Neopixels
Neopixels
Neopixels
Neopixels

Devido ao meu orçamento apertado, a maneira mais simples e barata de dar vida às emoções dos meus robôs são os neopixels, tudo o que eles têm são 3 entradas e saídas. os três pinos na entrada são identificados como 5v, DIN (entrada de dados) e GND (aterramento); a saída é rotulada da mesma forma que a entrada, mas em vez dos dados em seu DO (dados de saída). A forma de conectar esses led é conectando-os em paralelo entre si, então 5v conecta a 5v no outro led e GND é conectado ao outro led GND, DO do primeiro led é conectado a DIN do segundo led e então este processo continua até que você alcance o comprimento desejado da faixa de led. Uma tira inteira de neopixels requer apenas um pino de saída digital da entrada, isso ocorre porque o DO e o DIN estão conectados em uma longa cadeia, de modo que todos compartilham dados entre si. Isso é necessário porque precisamos ligar e desligar leds específicos em horários específicos. Um instrutivo útil sobre isso é AJUDA DE NEOPIXEL

Etapa 3: o esquema

O Esquemático
O Esquemático

O circuito é muito simples, pois a maior parte do robô é apenas programada, os motores funcionam perto de 7v com um driver de motor l293d para controlar os motores para ir para frente ou para trás. As outras conexões são os sensores do Arduino. E é isso!

Etapa 4: O Código

A primeira coisa que fiz foi baixar as bibliotecas necessárias para tornar a codificação um pouco mais fácil, as bibliotecas que usei são "FastLED.h" e "NewPing.h". O led rápido é para os leds e o novo ping é para os sensores ultrassônicos. A próxima coisa que fiz foi fazer todas as definições para os pinos que usei, após a configuração vazia é onde eu configurei os modos de pino e o neostrip "FastLED.addLeds (leds, NUM_LEDS);" defini o NUM_LEDS como 56, já que usei 56 leds, as configurações dos leds serão explicadas na etapa frontal. Eu então criei um monte de funções para o meu robô se mover para frente e para trás e também ter sua emoção certa, depois disso eu venho para o loop vazio, é aqui que eu chamo todas as minhas funções em uma determinada sequência que eu quero, por exemplo, se eu quisesse que meu robô sorrisse, colocaria smile ();. Se eu quisesse que um certo led ligasse, colocaria leds [45] = CRGB:: Verde;, isso definirá o LED 45 como verde. Quando eu coloco a cor em preto, significa apenas desligado. Agora, tenha em mente que este é um dos meus primeiros programas, então obviamente não é perfeito, mas ainda funcionou.

O CÓDIGO

Etapa 5: o rosto

O rosto
O rosto

Para o rosto, usei 56 leds, que é quase uma tira de neopixel completa de 3,2 pés. Cortei a tira em 7 tiras de 8 leds, usei as 3 primeiras tiras para os olhos e as últimas 4 para a boca. Eu conectei as tiras em uma espécie de conexão em forma de cobra, você vai entender melhor com o diagrama, espero. Quando terminei o rosto, coloquei uma fina folha de plástico (cerca de 2 mm de espessura) sobre as tiras de led.

Etapa 6: função feliz

Happy Function
Happy Function

Esta função é a mais fácil de todas, pois não usa nenhum sensor, em vez disso, assim que você liga o bot, ele instantaneamente sorri para você. Mas não apenas sorri; quando está sorrindo, está em modo de evitar obstáculos também. O modo de evitar obstáculos é representado em meu código como a função roam. O modo de evitar obstáculos ou roam funciona usando dois sensores ultrassônicos no lado do robô, quando o sensor chega a 30 cm de qualquer coisa, ele recua e vai para a direita ou para a esquerda dependendo do sensor que está mais próximo do objeto.

Etapa 7: Função triste

Função Triste
Função Triste
Função Triste
Função Triste

Para que o robô ficasse triste, tive que pensar em um traço de personalidade para esse robô, então decidi deixá-lo triste quando ele estivesse em um ambiente escuro. Para fazer isso, usei um resistor de foto para detectar a luz. Quanto mais escuro o ambiente, maior a resistência e quanto mais claro o ambiente, menor a resistência. O circuito funciona como um divisor de tensão que é um circuito com dois resistores conectados em série a + 5v e GND, no ponto médio da conexão do resistor está uma tensão que pode ser determinada por esta equação: tensão de entrada * (R2 / R1 + R2) quando o Arduino Analog Pin lê esse valor, ele converte a tensão em uma faixa de 0 a 1023.

Etapa 8: Função de raiva

Função de raiva
Função de raiva
Função de raiva
Função de raiva

Para irritar o robô, decidi virar / derrubá-lo. Isso funciona usando um interruptor de inclinação, e um interruptor de inclinação é basicamente um interruptor normal, mas em vez de ter um botão ou rocker, você tem uma bola de mercúrio que se inclinada em um certo ângulo conectará os dois contatos e ligará; portanto, o valor disso é 0 ou 1, 0 para desativado e 1 para ativado. Quando o robô está com raiva, ele também ignora o modo de evasão de obstáculo e empurra qualquer coisa à vista na direção para frente, devido à sua raiva.

Etapa 9: Função de medo

Função de medo
Função de medo
Função de medo
Função de medo

A função final do robô é a função do medo, que usa um sensor de som que é colocado bem em cima do robô. Sempre que o robô ouvir um ruído de carga, ficará assustado e estremecerá ao recuar. O sensor de som funciona usando um microfone condensador que é um microfone, quando ele detecta sons ou vibrações ele cria uma pequena voltagem, geralmente cerca de 100mv, esta voltagem é então amplificada e lida através do pino analógico do Arduino, quanto maior a voltagem quanto mais alto o som, mais alto o valor analógico e vice-versa.

Etapa 10: alimentação

Poder
Poder
Poder
Poder

Agora que você construiu tudo o que precisa para alimentá-lo, originalmente tentei alimentá-lo com 8 pilhas AA, mas era muito volumoso e impraticável. Em seguida, usei 3 baterias de íon de lítio, cada uma com cerca de 3,5 V, conectei uma bateria a um conversor boost que é um amplificador de voltagem, isso aumentou meus 3,5 V para 5 V para alimentar o Arduino, então usei duas das baterias e conectei diretamente para os motores e LEDs, isso não é uma ideia tão boa já que a tensão não era regulada, mas eu não tinha um regulador de tensão por perto, se você tentar construir isso eu recomendo usar um regulador de tensão que pode fazer 5v em cerca de 2-3 amperes, um exemplo disso é o LM78S05. Ou você pode usar o LM7805 para alimentar o Arduino e, em vez disso, obter um conversor redutor ou conversor buck para diminuir a tensão e alimentar os LEDs e motores.

Etapa 11: Divirta-se !

Eu espero que você construa este robô e se divirta, eu também espero que você coloque seu próprio toque neste robô e crie suas próprias emoções para torná-lo VIVO !!!

Recomendado: