Bom dia a todos! Este artigo será dedicado aos amantes da eletrônica, robótica, bem como às pessoas com uma visão não-padrão das coisas ao redor!
Então agora vou tentar descrever o processo de criação, montagem o mais claramente possível o robô com e recheio, ou seja, no Arduino! Vamos lá!
Do que precisamos:
Laço de três fios (3 peças). É aconselhável levar mais autêntico.
Fios comuns
Potenciômetros
Resistores (220 ohm)
Botão
Compartimento da bateria
Breadboard
Bem, é claro, eu mesmo arduinka
E também uma placa de expansão - algo como MultiservoShieldpara controlar um grande número de servos
E mais construtor, que será a base do nosso robô, por isso é aconselhável escolher "forte"
Das ferramentas que você precisará:
Um conjunto de chaves de fenda, chaves, etc.
Além de ferro de solda, solda e fluxo
Bem, vamos começar!
Etapa 1. Fabricação da estrutura principal
Para começar, colete as "duas letras H". É assim:
Então, alguma construção na qual nossos o robô vai ficar. Não é de todo necessário, como na imagem - a seu critério. Ficou assim:
Instalamos o nosso "N" no suporte
Abaixo apertamos os parafusos
No outro "H", consertamos o primeiro servo, responsável por virar a cabeça do nosso futuro robô
Acontece algo como o seguinte:
Quase o quadro está pronto! Resta prender essas duas estruturas com placas de metal e dar altura ao robô!
Etapa 2: Criando uma moldura para os futuros ouvidos de robôs
Para fazer isso, precisamos montar duas estruturas semelhantes e fixar os servos nelas, conforme mostrado na figura:
Em seguida, usando parafusos e porcas, conecte-se à estrutura principal. O resultado será o seguinte:
Vista superior:
Bem, um certo protótipo do robô está quase pronto! Vá em frente ..
Etapa 3. Fazendo os olhos e toda a cabeça do nosso robô!
Para isso, usei o telefone antigo do interfone. Pessoalmente, ela me lembra um rosto! Veja mais ..
Fazemos dois furos e prendemos o agitador do servo ao tubo
Colamos imediatamente os LEDs nas laterais e soldamos os fios a eles
Eu usei finas:
Etapa # 4: Orelhas
Vamos usar bonés comuns de caixas pequenas
Prenda também as cadeiras de balanço para servir
Agora, fixamos com ousadia as partes do corpo do robô nos servidores
Assim:
Vista superior:
Voltar:
Em princípio, você pode aproveitar o robô agora, mas complicaremos a tarefa. Viraremos os olhos e os ouvidos do robô usando potenciômetros e nosso arduinka
Etapa # 5 Eletrônica
Combinando o arduino com a proteção multisserviço, inserimos um laço de três fios de cada servo nos pinos 9, 10, 11 (orelha esquerda, orelha direita, cent, se você colocar o robô de frente para nós)
Em seguida, na tábua de pão instalamos um potenciômetro, um botão, resistores ... Ficará assim, é feio, é claro, mas o principal funciona)
Mais detalhes!
Como instalar o botão:
Onde o fio branco está ligado, vermelho é a entrada digital do microcontrolador nº 6 e o resistor é aterrado (fio amarelo)
Como instalar um potenciômetro:
Fio vermelho - energia, amarelo - terra, branco - entrada analógica do microcontrolador no. 0 (conectamos outro potenciômetro da mesma maneira, apenas entrada analógica do controlador no. 1)
Também instalamos resistores para LEDs na placa:
a corrente será fornecida a partir de 3 e 5 pinos do arduino e passará pelos fios amarelo e preto e os resistores vão para o chão (controlador GND)
Bem, basicamente tudo, acabamos com a eletrônica! Resta apenas fazer o download da próxima esboço e brinque com o robô !!
#include
#include
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
m2 não assinado longo = 0;
m1 longo sem sinal = 0;
int r1 = 70;
int R2 = 110;
int r3 = 70;
int h1 = 0;
int h = 0;
configuração nula ()
{
myservo1.attach (9); // orelha esquerda
myservo2.attach (10); // orelha direita
myservo3.attach (11); // olhos
pinMode (6, INPUT); // botão
pinMode (3, SAÍDA); // luzes nos olhos PWM
pinMode (5, SAÍDA);
}
loop vazio ()
{
while (A == 0) // loop de controle manual do robô
{
b = leitura digital (6);
se (! b) k1 = 1;
if (b == 1 && k1 == 1)
{
atraso (10);
b = leitura digital (6);
if (b == 1 && k1 == 1)
{
A é 1;
k1 = 0;
}
}
p1 = int (leitura analógica (A0) / 6);
p2 = int (leitura analógica (A1) / 6);
myservo1.write (p1);
myservo2.write (p1);
myservo3.write (p2);
analogWrite (3, i);
analogWrite (5, i);
if (millis ()> = m1 + 70 && h1 == 0)
{
i = i + 4;
m1 = milis ();
se (i> 250) h1 = 1;
}
if (millis ()> = m1 + 70 && h1 == 1)
{
i = i-4;
m1 = milis ();
se (i == 0) h1 = 0;
}
}
while (A == 1) // ciclo de trabalho autônomo do robô
{
digitalWrite (13.0);
b = leitura digital (6);
se (! b) k1 = 1;
if (b == 1 && k1 == 1)
{
atraso (10);
b = leitura digital (6);
if (b == 1 && k1 == 1)
{
A é 0;
k1 = 0;
}
}
analogWrite (3, i);
analogWrite (5, i);
if (millis ()> = m1 + 70 && h1 == 0)
{
i = i + 4;
m1 = milis ();
se (i> 250) h1 = 1;
}
if (millis ()> = m1 + 70 && h1 == 1)
{
i = i-4;
m1 = milis ();
se (i == 0) h1 = 0;
}
if (millis ()> = m2 + 15 && h == 0)
{
myservo1.write (r1);
myservo2.write (r2);
myservo3.write (r3);
r1 = r1 + 1;
R2 = R2-1;
r3 = r3 + 1;
if (r1 == 110) h = 1;
m2 = milis ();
}
if (millis ()> = m2 + 15 && h == 1)
{
myservo1.write (r1); // 110
myservo2.write (r2); // 70
myservo3.write (r3); // 110
r1 = r1-1;
r2 = r2 + 1;
r3 = r3-1;
se (r1 == 70) h = 0;
m2 = milis ();
}
}
}
O código é bastante grande, mas acredite, vale a pena!
Resumidamente, o que esse programa faz:
Temos um botão que é responsável por 2 estados do sistema: controlamos o robô manualmente ou executamos os movimentos já registrados previamente. Quando um botão é pressionado, os estados mudam para nós e, no código, 2 ciclos mudam entre si, nos quais os comandos correspondentes são registrados. Os olhos do nosso robô iluminam-se gradualmente, tornam-se cada vez mais brilhantes e depois desaparecem. é por isso que apelidamos os LEDs dos pinos que suportam PWM - modulação por largura de pulso.
Fotos do robô:
Pequeno gravação de vídeo, como e o que acaba virando:
Concluindo, quero dizer que, é claro, esse robô pode ser lembrado por um longo tempo, mas esse é o gosto de todas as pessoas. Faça isso! Inventar! Evoluir! Boa sorte a todos!