loading

Starting from the idea of wanting to bring to the real life a character of science fiction, has been elaborated to one of the most iconic characters of all time: R2D2. This device can respond to different voice commands that indicate it actions such as turning on, off, greeting and moving in different ways, with this we look for the system to have a very good interaction with the user and also provide it a lot of entertainment.

Partiendo de la idea de querer traer a la vida real un personaje de ciencia ficción, se ha elaborado a uno de los personajes más icónicos de todos los tiempos: R2D2. Este dispositivo puede responder a diferentes comandos de voz que le indican acciones como prenderse, apagarse, saludar y moverse de diferentes maneras, con esto buscamos que el sistema tenga una muy buena interacción con el usuario y así mismo le proporcione mucho entretenimiento.

Step 1: ​Connections, Application and Code

Connections

We must make the connections of the first Arduino, which will control the lights and the servo motor.

We will use a protoboard to make the connections, we will connect the digital pins to the Arduino from number 8 to number 13 to connect the led lights, except pin number 9, because we will connect the data from the servo motor to this one. (Pic 1)

Now the connections of the second Arduino, which will move the reduction motors.

To that end, we use a L298N drive, which has the power for 2 reduction motors. To make it work, it needs a separate source of energy, in consequence, we cannot provide it energy from the Arduino. We used two 3.5 V batteries.

This driver has 6 output ports: enA, in1, in2, in3, in4, enB.

The enA and enB pins are the ones that activate the engines and from there we can control the speed that the engine will reach. NOTE: They must be connected at digital pins with PWM, which are the digital pins 3, 5, 6, 9, 10, and 11 from the Arduino. In this case, we will connect the 5 and 6 pins.

The connections are as follows:

IN1 = 2;

IN2 = 3;

IN3 = 4;

IN4 = 7;

enB = 5;

enA = 6;

For the Bluetooth, we should divide the transmission cable in two because we need it to give the same order to both Arduinos as follows: (Pic 2)

Finally, the used batteries must be connected to both Arduinos because if they have a different ground pole, the commands will not work.

Application

For to send the comand voice to arduino we will use de
Arduino control voice application, created by Julio Profe, but we can use too an aplication that we can make with App Inventor. (Pic 3)

This is the link to download the application: https://play.google.com/store/apps/details?id=app...

In addition to the application, we must also have installed
on our cell phone the voice recognition of google, because this application is who listen the words and send de information from our cell phone to arduino.

At first the application will have empty boxes where we will write the command of the voice that we want to be recognized.

For example, we have registered these commands: (Pic 4, Pic 5)

Code

#include

Servo myservo;

// we define the variables.

int PinIN1 = 2;

int PinIN2 = 3;

int PinIN3 = 4;

int PinIN4 = 7;

int enB = 5;

int enA = 6;

int estado=1;

void setup(){

Serial.begin(9600); // serial communication is started

myservo.attach(9); // the pin that contains the data for the servo is defined

myservo.write(95); /* each engine is set differently, in our case 95 is the exact point in which the servo stays still, at less than 95 it will turn left, and more than 95 will make it turn right *

/ Exit pins are set

pinMode(13,OUTPUT);

pinMode(12,OUTPUT);

pinMode(11,OUTPUT);

pinMode(10,OUTPUT);

pinMode(9,OUTPUT);

pinMode(8,OUTPUT);

pinMode(PinIN3,OUTPUT);

pinMode(PinIN4,OUTPUT);

pinMode(PinIN4,OUTPUT);

}

void loop(){

if(Serial.available()>0){

estado = Serial.read();

}

if (estado =='a'){

digitalWrite(13,1); // Led light located at pin number 13 turns on

}

if (estado =='b'){

digitalWrite(13,0); // Led light located at pin number 13 turns off

}

if (estado =='c'){

digitalWrite(12,1); // Led light located at pin number 12 turns on

}

if (estado =='d'){

digitalWrite(12,0); // Led light located at pin number 12 turns off

}

if (estado =='e'){

digitalWrite(11,1); // Led light located at pin number 11 turns on

}

if (estado =='f'){

digitalWrite(11,0); // Led light located at pin number 11 turns off

}

if (estado =='g'){ /*It makes the servo turns right for half a second and then to the left the same time, when finished, it stays still for four seconds before it repeats the move or makes a different move that had been ordered by a certain command. */

myservo.write(150);

delay(500);

myservo.write(20);

delay(520);

myservo.write(95);

delay(4000);

}

if (estado =='h'){

myservo.write(95);

delay(15);

}

if (estado =='i'){

digitalWrite(10,1);

}

if (estado =='j'){

digitalWrite(10,0);

}

if (estado =='k'){ /* it makes both engines move forward for a second and a half, then it stays still for two seconds */

analogWrite (enB, 160);

digitalWrite (PinIN3, HIGH );

digitalWrite (PinIN4, LOW);

analogWrite (enA, 180);

digitalWrite (PinIN1, HIGH );

digitalWrite (PinIN2, LOW);

delay (1500);

analogWrite (enB, LOW);

digitalWrite (PinIN3, LOW );

digitalWrite (PinIN4, LOW);

analogWrite (enA, LOW);

digitalWrite (PinIN1, LOW );

digitalWrite (PinIN2, LOW);

delay (2000);

}

if (estado =='l'){ // it turns both engines off

analogWrite (enB, LOW);

digitalWrite (PinIN3, LOW );

digitalWrite (PinIN4, LOW);

analogWrite (enA, LOW);

digitalWrite (PinIN1, LOW );

digitalWrite (PinIN2, LOW);

delay(3000);

}

if (estado =='m'){ // it makes the robot turn sideways.

analogWrite (enB, 160);

digitalWrite (PinIN3, HIGH );

digitalWrite (PinIN4, LOW);

analogWrite (enA, 180);

digitalWrite (PinIN1, LOW);

digitalWrite (PinIN2, HIGH);

delay (5000);

}

if (estado =='n'){ }

if (estado =='m'){

analogWrite (enB, 160);

digitalWrite (PinIN3, LOW);

digitalWrite (PinIN4, HIGH);

analogWrite (enA, 180);

digitalWrite (PinIN1, HIGH);

digitalWrite (PinIN2, LOW);

delay (5000);

}

if (estado =='o'){ // it turns on all the led lights

digitalWrite(13,1);

digitalWrite(12,1);

digitalWrite(11,1);

digitalWrite(10,1);

//digitalWrite(9,1);

digitalWrite(8,1);

}

if (estado =='p'){ // it makes the robot go forward and then stop repeatedly and quickly.

analogWrite (enB, 160);

digitalWrite (PinIN3, HIGH );

digitalWrite (PinIN4, LOW);

analogWrite (enA, 180);

digitalWrite (PinIN1, HIGH );

digitalWrite (PinIN2, LOW);

delay (1000);

analogWrite (enB, LOW);

digitalWrite (PinIN3, LOW );

digitalWrite (PinIN4, LOW);

analogWrite (enA, LOW);

digitalWrite (PinIN1, LOW );

digitalWrite (PinIN2, LOW);

delay (1000);

}

if (estado =='q'){ //all off, it turns off the entire robot

digitalWrite(13,0);

digitalWrite(12,0);

digitalWrite(11,0);

digitalWrite(10,0);

//digitalWrite(9,1);

digitalWrite(8,1);

myservo.write(95);

delay(150);

//digitalWrite(9,0);

analogWrite (enB, LOW);

digitalWrite (PinIN3, LOW );

digitalWrite (PinIN4, LOW);

analogWrite (enA, LOW);

digitalWrite (PinIN1, LOW );

digitalWrite (PinIN2, LOW);

delay(5000);

digitalWrite(7,0);

digitalWrite(6,0);

}

if (estado =='r'){ // all on, it turns on the entire robot

digitalWrite(13,1);

digitalWrite(12,1);

digitalWrite(11,1);

digitalWrite(10,1);

//digitalWrite(9,1);

digitalWrite(8,1);

myservo.write(150);

delay(520);

myservo.write(95);

delay(5000);

myservo.write(20);

delay(520);

myservo.write(95);

delay(5000);

analogWrite (enB, 160);

digitalWrite (PinIN3, HIGH );

digitalWrite (PinIN4, LOW);

analogWrite (enA, 180);

digitalWrite (PinIN1, HIGH );

digitalWrite (PinIN2, LOW);

delay (1500);

analogWrite (enB, LOW);

digitalWrite (PinIN3, LOW );

digitalWrite (PinIN4, LOW);

analogWrite (enA, LOW);

digitalWrite (PinIN1, LOW );

digitalWrite (PinIN2, LOW);

delay (1800);

digitalWrite(7,1);

digitalWrite(6,1);

}

if (estado =='g'){

}

if (estado =='s'){ // it makes the lights blink and the head moves intermittently

digitalWrite(13,1);

digitalWrite(12,1);

digitalWrite(11,1);

//digitalWrite(10,1);

myservo.write(150);

delay(15);

digitalWrite(9,1);

digitalWrite(8,1);

digitalWrite(7,1);

digitalWrite(6,1);

delay(500);

digitalWrite(13,0);

digitalWrite(12,0);

digitalWrite(11,0);

//digitalWrite(10,0);

myservo.write(95);

delay(150);

digitalWrite(9,0);

digitalWrite(8,0);

digitalWrite(7,0);

digitalWrite(6,0);

delay(500);

myservo.write(20);

delay(520);

}

if (estado =='t'){ //it makes number 1 sequence of lights

digitalWrite(13,1);

delay(200);

digitalWrite(12,1);

delay(200);

digitalWrite(11,1);

delay(200);

digitalWrite(10,1);

delay(200);

digitalWrite(9,1);

delay(200);

digitalWrite(8,1);

delay(200);

digitalWrite(7,1);

delay(200);

digitalWrite(6,1);

delay(200);

digitalWrite(13,0);

digitalWrite(12,0);

digitalWrite(11,0);

digitalWrite(10,0);

digitalWrite(9,0);

digitalWrite(8,0);

digitalWrite(7,0);

digitalWrite(6,0);

delay(200);

}

if (estado =='u'){ // it makes number 2 sequence of lights

}

if (estado =='v'){ it makes number 3 sequence of lights

digitalWrite(13,1);

delay(200);

digitalWrite(13,0);

digitalWrite(12,1);

delay(200);

digitalWrite(12,0);

digitalWrite(11,1);

delay(200);

digitalWrite(11,0);

digitalWrite(10,1);

delay(200);

digitalWrite(10,0);

digitalWrite(9,1);

delay(200);

digitalWrite(9,0);

digitalWrite(8,1);

delay(200);

digitalWrite(8,0);

digitalWrite(7,1);

delay(200);

digitalWrite(7,0);

digitalWrite(6,1);

delay(200);

digitalWrite(6,0);

digitalWrite(7,1);

delay(200);

digitalWrite(7,0);

digitalWrite(8,1);

delay(200);

digitalWrite(8,0);

digitalWrite(9,1);

delay(200);

digitalWrite(9,0);

digitalWrite(10,1);

delay(200);

digitalWrite(10,0);

digitalWrite(11,1);

delay(200);

digitalWrite(11,0);

digitalWrite(12,1);

delay(200);

digitalWrite(12,0);

}

}

Step 2: Assembling

Materials

The materials required to make this project are:

- I used a trash can like this one without any specific measures. The one I found, had to be cut and adapted to the appropriate size, so it turned to be 22.5 cm. (Pic 1)

- Gray, red, yellow, white, and blue paints.

- Black fine marker for the borders.

- White cardboard to cover the body and the arms.

- Sturdy carton for the arms.

- UHU glue, hot and cold liquid silicone to put the parts together.

- Glue, newspaper, and tape.

Procedure

- I wrapped the bin (which is the body) with white cardboard, which was glued with the UHU glue. As mentioned before, I cut it to fit the wanted measures (22.5 cm). I first made the details using pencil, and then the border with the marker and finally, I painted them. (Pic 2, Pic 3)

- I made the arms using the sturdy carton, you can see the measures in the image below. For the details, I followed the same procedure as with the body. (Pic 4, Pic 5, Pic 6)

- This is a sight of the back of the arm. This is how it must be put together. (Pic 7)

- After making a hole in the foundation of the arm, the two pieces should fit as shown in the picture. (Pic 8)

- When the arms are finished, they look like this. (Pic 9)

- The head is the cover lid. The moving part was hardened from the inside with tape. I glued pieces of newspaper to cover the outside, combining glue and extra water. On top of the paper, I made the outline with pencil, then, I painted it and, finally framed with the marker. (Pic 10, Pic 11)

- This is how the isolated parts look like. (Pic 12)

In the picture below you can see an extra base or foundation, like the ones used to put the arms together. It has the same measures as the other ones. I connected a wheel to this one to give the body support. The bottom of the body is made with the same sturdy carton, I cut it after measuring the diameter of the bin’s base, and I glued it with silicone. A small arm was made, as shown in the image below, which was linked to the middle of the arm’s support with silicone (without poking a hole like the other arms) and then to the base of the body, using silicone as well, at 4 cm from the edge. I covered it using white cardboard too. (Pic 13)

I put together the arms and the body bearing in mind the right inclination for it. At the bottom of the arms, I made little cuts on the sides to make a hole in which I later placed the small engines. It was toughened with stripes of carton, so the support of the arm is always straight. (Pic 14, Pic 15)

I put the small engines in the holes previously mentioned. I adjusted the wires as shown in the pictures below. (Pic 16, Pic 17)

Finally, in the inside of the body, and to hold the servo that provides movement for the head, I used carton to make a bed which I later put at the edge of the upper part of the bin. I glued the support of the servo to it. I stuck together the helix to the middle of the cover lid by melting its plastic pieces and making it stronger with UHU. (Pic 18)

This is an external sight of the system. (Pic 19, Pic 20, Pic 21)

Step 3: Instrucciones En Español

CONEXIONES, APLICACIÓN Y CÓDIGO

Conexiones

Primero haremos las conexiones del primer arduino que será quien controle las luces y el servomotor.

Utilizaremos una protoboard para hacer las conexiones, en el arduino conectaremos los pines digitales del 8 al 13 para conectar los leds, exceptuando el pin 9 ya que en este estarán los datos del servomotor. (Pic 1)

Ahora las conexiones del segundo arduino las cuales moverán los motor reductores.

Para esto utilizaremos un drive L298N el cual tiene capacidad para 2 motor reductores, para que este funcione debe de tener una fuente de energía independiente, por lo cual no podemos conectarle la energía desde el arduino. Nosotros utilizamos 2 baterías de 3.5 V.

Este driver tiene 6 puertos de salida los cuales son enA, in1, in2, in3, in4, enB.

Los pines enA y enB son los que activan los motores y desde los cuales podemos controlar la velocidad a la que marchará el motor. Nota: Estos deben de ir conectados en los pines digitales con PWM que son los pines digitales 3, 5, 6, 9, 10 y 11 de arduino, en este caso conectaremos en los pines 5 y 6.

Las conexiones van de la siguiente manera:

IN1 = 2;

IN2 = 3;

IN3 = 4;

IN4 = 7;

enB = 5;

enA = 6;

El bluetooth debemos de hacer que el cable de transmisión se separe en 2 ya que necesitamos que le de la misma orden a los 2 arduinos de la siguiente manera: (Pic 2)

Por ultimo las baterías que se usen deben ir a ambos Arduinos ya que si tienen un polo a tierra diferente no funcionaran los comandos.

Aplicación

Para enviar los comandos de voz al arduino utilizamos la
aplicación Arduino Control Voice creada por Julio Profe, aunque también podemos hacer nuestra propia aplicación utilizando programas como App Inventor. (Pic 3)

Este es el link de descarga de la aplicación: https://play.google.com/store/apps/details?id=app...

Además de la aplicación también debemos de tener instalado en nuestro celular el reconocimiento de voz de Google, ya que este será quien reconozca los comandos y los envié a Arduino

En un inicio la aplicación estará con los cuadros vacíos en donde nosotros escribiremos los comando de voz que queremos que nos reconozca.

En nuestro caso tenemos registrados los siguientes comandos: (Pic 4, Pic 5)

Código

#include

Servo myservo;

// Definimos las variables.

int PinIN1 = 2;

int PinIN2 = 3;

int PinIN3 = 4;

int PinIN4 = 7;

int enB = 5;

int enA = 6;

int estado=1;

void setup(){

Serial.begin(9600); // se inicia la comunicación serial

myservo.attach(9); // se define el pin en el que estarán los datos del servo

myservo.write(95); /* cada motor se calibra diferente en nuestro caso 95 es el punto exacto en que el servo se queda quieto, menos de 95 giraría a la izquierda y más de 95 giraría a la derecha *

/ Se definen los pines como salidas

pinMode(13,OUTPUT);

pinMode(12,OUTPUT);

pinMode(11,OUTPUT);

pinMode(10,OUTPUT);

pinMode(9,OUTPUT);

pinMode(8,OUTPUT);

pinMode(PinIN3,OUTPUT);

pinMode(PinIN4,OUTPUT);

pinMode(PinIN4,OUTPUT);

}

void loop(){

if(Serial.available()>0){

estado = Serial.read();

}

if (estado =='a'){

digitalWrite(13,1); // Enciende Led que está en el pin 13

}

if (estado =='b'){

digitalWrite(13,0); // Apaga Led que está en el pin 13

}

if (estado =='c'){

digitalWrite(12,1); // Enciende Led que está en el pin 12

}

if (estado =='d'){

digitalWrite(12,0); // Apaga Led que está en el pin 12

}

if (estado =='e'){

digitalWrite(11,1); // Enciende Led que está en el pin 11

}

if (estado =='f'){

digitalWrite(11,0); // Apaga Led que está en el pin 11

}

if (estado =='g'){ /*Hace que el servo gire a la derecha durante medio segundo y luego a la izquierda durante el mismo tiempo, al finalizar se queda quieto durante 4 segundos antes de repetir la acción o realizar otra acción que se le haya ordenado por comando. */

myservo.write(150);

delay(500);

myservo.write(20);

delay(520);

myservo.write(95);

delay(4000);

}

if (estado =='h'){

myservo.write(95);

delay(15);

}

if (estado =='i'){

digitalWrite(10,1);

}

if (estado =='j'){

digitalWrite(10,0);

}

if (estado =='k'){ /* hace que ambos motores giren hacia adelante durante 1 segundo y medio, luego se queda quieto durante 2 segundos*/

analogWrite (enB, 160);

digitalWrite (PinIN3, HIGH );

digitalWrite (PinIN4, LOW);

analogWrite (enA, 180);

digitalWrite (PinIN1, HIGH );

digitalWrite (PinIN2, LOW);

delay (1500);

analogWrite (enB, LOW);

digitalWrite (PinIN3, LOW );

digitalWrite (PinIN4, LOW);

analogWrite (enA, LOW);

digitalWrite (PinIN1, LOW );

digitalWrite (PinIN2, LOW);

delay (2000);

}

if (estado =='l'){ // apaga ambos motores

analogWrite (enB, LOW);

digitalWrite (PinIN3, LOW );

digitalWrite (PinIN4, LOW);

analogWrite (enA, LOW);

digitalWrite (PinIN1, LOW );

digitalWrite (PinIN2, LOW);

delay(3000);

}

if (estado =='m'){ // hace que el robot gire hacia un lado.

analogWrite (enB, 160);

digitalWrite (PinIN3, HIGH );

digitalWrite (PinIN4, LOW);

analogWrite (enA, 180);

digitalWrite (PinIN1, LOW);

digitalWrite (PinIN2, HIGH);

delay (5000);

}

if (estado =='n'){ }

if (estado =='m'){

analogWrite (enB, 160);

digitalWrite (PinIN3, LOW);

digitalWrite (PinIN4, HIGH);

analogWrite (enA, 180);

digitalWrite (PinIN1, HIGH);

digitalWrite (PinIN2, LOW);

delay (5000);

}

if (estado =='o'){ // enciende todos los leds

digitalWrite(13,1);

digitalWrite(12,1);

digitalWrite(11,1);

digitalWrite(10,1);

//digitalWrite(9,1);

digitalWrite(8,1);

}

if (estado =='p'){ // hace que el robot avance y pare repetidamente de manera rápida.

analogWrite (enB, 160);

digitalWrite (PinIN3, HIGH );

digitalWrite (PinIN4, LOW);

analogWrite (enA, 180);

digitalWrite (PinIN1, HIGH );

digitalWrite (PinIN2, LOW);

delay (1000);

analogWrite (enB, LOW);

digitalWrite (PinIN3, LOW );

digitalWrite (PinIN4, LOW);

analogWrite (enA, LOW);

digitalWrite (PinIN1, LOW );

digitalWrite (PinIN2, LOW);

delay (1000);

}

if (estado =='q'){ //all off , apaga todo el robot

digitalWrite(13,0);

digitalWrite(12,0);

digitalWrite(11,0);

digitalWrite(10,0);

//digitalWrite(9,1);

digitalWrite(8,1);

myservo.write(95);

delay(150);

//digitalWrite(9,0);

analogWrite (enB, LOW);

digitalWrite (PinIN3, LOW );

digitalWrite (PinIN4, LOW);

analogWrite (enA, LOW);

digitalWrite (PinIN1, LOW );

digitalWrite (PinIN2, LOW);

delay(5000);

digitalWrite(7,0);

digitalWrite(6,0);

}

if (estado =='r'){ // all on, prende todo lo que hay en el robot

digitalWrite(13,1);

digitalWrite(12,1);

digitalWrite(11,1);

digitalWrite(10,1);

//digitalWrite(9,1);

digitalWrite(8,1);

myservo.write(150);

delay(520);

myservo.write(95);

delay(5000);

myservo.write(20);

delay(520);

myservo.write(95);

delay(5000);

analogWrite (enB, 160);

digitalWrite (PinIN3, HIGH );

digitalWrite (PinIN4, LOW);

analogWrite (enA, 180);

digitalWrite (PinIN1, HIGH );

digitalWrite (PinIN2, LOW);

delay (1500);

analogWrite (enB, LOW);

digitalWrite (PinIN3, LOW );

digitalWrite (PinIN4, LOW);

analogWrite (enA, LOW);

digitalWrite (PinIN1, LOW );

digitalWrite (PinIN2, LOW);

delay (1800);

digitalWrite(7,1);

digitalWrite(6,1);

}

if (estado =='g'){

}

if (estado =='s'){ // hace que las luces parpadeen y la cabeza se mueva intermitentemente

digitalWrite(13,1);

digitalWrite(12,1);

digitalWrite(11,1);

//digitalWrite(10,1);

myservo.write(150);

delay(15);

digitalWrite(9,1);

digitalWrite(8,1);

digitalWrite(7,1);

digitalWrite(6,1);

delay(500);

digitalWrite(13,0);

digitalWrite(12,0);

digitalWrite(11,0);

//digitalWrite(10,0);

myservo.write(95);

delay(150);

digitalWrite(9,0);

digitalWrite(8,0);

digitalWrite(7,0);

digitalWrite(6,0);

delay(500);

myservo.write(20);

delay(520);

}

if (estado =='t'){ //realiza secuencias de las luces 1

digitalWrite(13,1);

delay(200);

digitalWrite(12,1);

delay(200);

digitalWrite(11,1);

delay(200);

digitalWrite(10,1);

delay(200);

digitalWrite(9,1);

delay(200);

digitalWrite(8,1);

delay(200);

digitalWrite(7,1);

delay(200);

digitalWrite(6,1);

delay(200);

digitalWrite(13,0);

digitalWrite(12,0);

digitalWrite(11,0);

digitalWrite(10,0);

digitalWrite(9,0);

digitalWrite(8,0);

digitalWrite(7,0);

digitalWrite(6,0);

delay(200);

}

if (estado =='u'){ // realiza secuencias de las luces 2

}

if (estado =='v'){ // realiza secuencias de las luces 3

digitalWrite(13,1);

delay(200);

digitalWrite(13,0);

digitalWrite(12,1);

delay(200);

digitalWrite(12,0);

digitalWrite(11,1);

delay(200);

digitalWrite(11,0);

digitalWrite(10,1);

delay(200);

digitalWrite(10,0);

digitalWrite(9,1);

delay(200);

digitalWrite(9,0);

digitalWrite(8,1);

delay(200);

digitalWrite(8,0);

digitalWrite(7,1);

delay(200);

digitalWrite(7,0);

digitalWrite(6,1);

delay(200);

digitalWrite(6,0);

digitalWrite(7,1);

delay(200);

digitalWrite(7,0);

digitalWrite(8,1);

delay(200);

digitalWrite(8,0);

digitalWrite(9,1);

delay(200);

digitalWrite(9,0);

digitalWrite(10,1);

delay(200);

digitalWrite(10,0);

digitalWrite(11,1);

delay(200);

digitalWrite(11,0);

digitalWrite(12,1);

delay(200);

digitalWrite(12,0);

}

}

ENSAMBLE


Materiales

Los materiales usados para la realización de este proyecto son:

- Se usó una papelera como esta sin medidas específicas. La que se consiguió debió cortarse para que se adaptara a las proporciones que se buscaban, quedando de 22.5 cm. (ver Pic 1)

- Pinturas de color gris, rojo, amarillo, blanco y azul.

- Marcador negro fino para hacer los bordes.

- Cartulina blanca para cubrir el cuerpo y los brazos.

- Cartón piedra para los brazos.

- Pegante UHU, silicona liquida fría y caliente para unir las partes.

- Colbón, periódico, cinta.

Elaboración

- La papelera (que vendría a ser el cuerpo) se envolvió en cartulina blanca, se pegó usando UHU. Como se mencionó anteriormente, se recortó para adaptar su tamaño a las dimensiones deseadas (22.5 cm). Los trazos de los detalles se hicieron primero a lápiz, para luego hacerles el contorno con el marcador y pintarlos. (Pic 2 y Pic 3)

- Los brazos se hicieron con cartón piedra, las dimensiones se encuentran en las imágenes. Para realizar los detalles se hizo del mismo modo que con el cuerpo. (Pic 4, Pic 5 y Pic 6)

- Esta es una vista de la parte posterior del brazo. Así debería unirse. (Pic 7)

- Al hacer el hueco en la base del brazo las dos piezas deberían encajar de este modo. (Pic 8)

- Finalizados los brazos lucen así. (Pic 9)

- La cabeza es la tapa de la papelera. A esta se le reforzó desde el interior la parte móvil con cinta. Para cubrir la parte externa se usó colbón mezclado con el doble de agua para pegar trozos de papel periódico. Sobre esto se hicieron los detalles a lápiz, luego se pintaron y se les contorneó con el marcador. (Pic 10, Pic 11)

- Por separado este es un vistazo de las partes. (Pic 12)

En la imagen se logra ver un tercer apoyo libre, como el que se usó para encajar los brazos. Tiene exactamente las mismas medidas de los otros. A éste va unida una rueda suelta que ayuda a darle soporte al cuerpo. La base inferior del cuerpo está hecha del mismo cartón: se recortó midiendo el diámetro de la base de la papelera y se unió con silicona. Se hizo un brazo pequeño, como el de la imagen, que se unió al centro del apoyo del brazo con silicona (sin hacer hueco como en los otros brazos) y luego a la base del cuerpo, con silicona también, a 4 cm del borde. Esta debe cubrirse también con cartulina blanca. (Pic 13)

Se unieron los brazos al cuerpo con silicona teniendo en cuenta tambien la inclinación a la que debe quedar el cuerpo. Por la parte inferior del brazo se hicieron recortes a los lados para asi crear un agujero en donde encajaran los motores, y se reforzaron con tiras de cartón para ayudar así tambien a que el apoyo del barzo cayera siempre de manera recta. (Pic 14, Pic 15)

Se encajaron a esta parte los motores, y el cableado de los mismos se acomodó tal como se puede apreciar en las siguientes imágenes. (Pic 16, Pic 17)

Por último, en la parte interna del cuerpo, para sujetar el servo que realiza el movimiento de la cabeza, se hizo una base de cartón que quedara en el borde de la parte superiór de la papelera. A este se pegó el soporte que se le hizo al servo. La helice sel servose pegó al centro de la tapa fundiendo sus plasticos con calor y reforzando la unión con UHU. (Pic 18)

Este sería un vistazo externo del sistema. (Pic 19, Pic 20, Pic 21)

<p>Cool design. My kids are big Star Wars fans and they would love to have their very own R2D2</p>

About This Instructable

259views

10favorites

License:

Bio: Student.
More by LauraCamila:R2D2 Made With Arduino (R2D2 Hecho Con Arduino) 
Add instructable to: