• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Automating a vintage R2D2 toy of 10cm 3D Printer File Image 1
Automating a vintage R2D2 toy of 10cm 3D Printer File Image 2
Automating a vintage R2D2 toy of 10cm 3D Printer File Image 3
Automating a vintage R2D2 toy of 10cm 3D Printer File Image 4
Automating a vintage R2D2 toy of 10cm 3D Printer File Image 5
Automating a vintage R2D2 toy of 10cm 3D Printer File Image 6
Automating a vintage R2D2 toy of 10cm 3D Printer File Thumbnail 1
Automating a vintage R2D2 toy of 10cm 3D Printer File Thumbnail 2
Automating a vintage R2D2 toy of 10cm 3D Printer File Thumbnail 3
Automating a vintage R2D2 toy of 10cm 3D Printer File Thumbnail 4
Automating a vintage R2D2 toy of 10cm 3D Printer File Thumbnail 5
Automating a vintage R2D2 toy of 10cm 3D Printer File Thumbnail 6

Automating a vintage R2D2 toy of 10cm

OscarCal avatarOscarCal

April 21, 2021

thingiverse-icon
DescriptionCommentsTags

Description

R2D2 automatizado

Programa para dar vida a un R2D2 con sonido, luces, movimiento y melodías

Link de YouTube con instrucciones de montaje, programación y funcionamiento : https://youtu.be/6vW1G448bJM

Que es...

Mediante un procesador ATmega168 o ATmega328p podemos hacer que nuestro R2D2 hable, emita luces, gire y ande. También puede reproducir melodías pre-grabadas, y todo ello desde un mando a distancia. Una vez programado, se le pueden cambiar los códigos de los mándos y las melodias por puerto serie.

Podemos utilizar solo el sonido y hacer una caja de música, CON o SIN luz, u otra figura que deseemos. Y prodríamos optar por ponerle solo el servo o completarlo con los dos motores.

Instrucciones...

Referiros al video para ver como se fabrica, pero aquí tenéis algunas nociones para programarlo por el puerto serie.

Las instrucciones 'song' y 'end' nos permiten grabar una melodía.

En un ATmega328 puedes enviar los códigos de 10 en 10 (o incluso más), pero en ATmega168 de 5 en 5 por su falta de memoria dinámica.

Este es un ejemplo, donde con 'song1' le decimos al sistema que introducimos la melodía 1 y con 'end' le comunicamos que hemos terminado.

song1 T49 5R156 4D12 T0 5L1081 4D101 end

Las instrucciones 'altON' y 'altOFF', activan y desactivan respectivamente por el serial, los códigos RF secundarios introducidos. Ejemplo para activar:

altON

Y para desactivar:

altOFF

La instrucción RF nos permite introducir el código del mando para hacer funcionar el R2D2 a distancia. Este ejemplo asocia el código RF XXXXXX al registro 0 (movimiento de cabeza y sonido de R2D2)

rf0 XXXXXX

Estos son los registros disponibles:

rf0 - Sonido R2D2

rf1 - Rueda Izquierda

rf2 - Rueda derecha

rf3 - Ambas ruedas

rf4 - Melodía 1

rf5 - Melodía 2

rf6 - Melodía 3

Y para la versión de procesador ATmega 328p:

rf7 – Melodía 4

rf8 – Activación/Desactivación de códigos secundarios

rf9 - Sonido R2D2 2 (código secundario)

rf10 - Rueda Izquierda 2 (código secundario)

rf11 - Rueda derecha 2 (código secundario)

rf12 - Ambas ruedas 2 (código secundario)

rf13 - Melodía 1 (código secundario)

rf14 - Melodía 2 (código secundario)

rf15 - Melodía 3 (código secundario)

rf16 - Melodía 4 (código secundario)

Como crear una melodía:

songX = Inicio de meloria, donde X es la melodía de 1 a 4

TX = Tiempo de silencio después las notas siguientes, donde X es un número de 0 a 5500 ( mS ) –redondeado-

XYZ = nota donde X = octava de 0 a 9, Y = letra que representa la nota según descripción abajo y Z es la duración de la nota de 1 a 4004 (mS) –redondeado-

end = Finalización de melodía

Ejemplo:

song1 T49 5R156 4D12 T0 5L1081 4D101 end

Codificación de notas

D = Do

d = Do#

R = Re

r = Re#

M = Mi

F = Fa

f = Fa#

S = Sol

s = Sol#

L = La

l = La#

I = Si

Redondeo de los tempos

Los 'tempos' de silencio serán redondeados, entre 5 y 20 mS, y los 'tempos' de las notas a estos 20 valores en mS:

49      

62 Semi-fusa

79      

99      

125 Fusa

158     

198     

250 Semi-corchea

315     

397

500 Corchea

630     

794     

1001 Negra

1261    

1589    

2002 Blanca

2522    

3178    

4004 Redonda

Que ocupa una melodía?

1 byte cada nota

2 byte por cada cambio de silencio

1 byte cada cambio de octava

1 byte al final de melodía

Espacio en bytes para las melodías

Lo prodrás ver en el código, y puedes cambiar la posición de inicio de los punteros de memoria, para dar más capacidad de bytes a una melodía u otra. Pero antes que grabar el programa en el ATmega, porque no es modificable por puerto serie.

Ejemplo del ATmega328p:

// 952 byte para melodias

const byte punteroEE_M1 = 72; // dirección melodía 1 (238 bytes)

const int punteroEE_M2 = 310; // dirección melodía 2 (238 bytes)

const int punteroEE_M3 = 548; // dirección melodía 3 (238 bytes)

const int punteroEE_M4 = 786; // dirección melodía 4 (238 bytes)

Disfruta...

Oscar

 

License:

Creative Commons - Attribution

Related Models

Fully 3D-printable wind-up car gift card preview image

Fully 3D-printable wind-up car gift card

Bribro12 profile image

Bribro12

29,450

Split-Flap Display preview image

Split-Flap Display

David Kingsman profile image

David Kingsman

5,659

Mini Spot Robot Arduino project preview image

Mini Spot Robot Arduino project

Griffin profile image

Griffin

398

DIY Dremel CNC preview image

DIY Dremel CNC

NikodemBartnik profile image

NikodemBartnik

29,163

3D Printed RC SkidSteer V3.0 preview image

3D Printed RC SkidSteer V3.0

ProfessorBoots profile image

ProfessorBoots

3,059

DROID-E3D - COMPATIBLE ARDUINO EDITION preview image

DROID-E3D - COMPATIBLE ARDUINO EDITION

MauricioDUARTE profile image

MauricioDUARTE

148

Iron Man Helmet, Articulated, Wearable preview image

Iron Man Helmet, Articulated, Wearable

Boxandloop profile image

Boxandloop

17,011

Otto DIY build your own robot preview image

Otto DIY build your own robot

HP Robots Otto profile image

HP Robots Otto

769