Be Aware of ATLAS – STAR WARS - Death Star II

by LukW1 in Circuits > LEDs

1972 Views, 26 Favorites, 0 Comments

Be Aware of ATLAS – STAR WARS - Death Star II

IMG_4336-1.jpg
IMG_4362-1.jpg
IMG_4279-1.jpg
IMG_4288-1.jpg
IMG_4324-1.jpg
IMG_4342-1.jpg
IMG_4316-1.jpg
IMG_4351-1.jpg
IMG_4382-1.jpg

Build from Bandai Death Star II plastic model. Major features includes :

✅Light and Sound effect

✅MP3 Player

✅InfraRED remote control

✅Temperature sensor

✅3 minute timer

Blog : https://kwluk717.blogspot.com/2020/12/be-aware-of-atlas-star-wars-death-star.html
Video Playlist : https://www.youtube.com/watch?v=EhIPugw6AwI&list=PLD1NXJYyujL1DD_t7BlC7_aFQDOm5GLOe

Supplies

  • 0402 White LED
  • WS2812B x 9
  • Arduino Pro Mini x 1
  • DFPlayer
  • 10K Thermistor x 1
  • IR Receiver x 1

Stormtrooper

1608569206628.jpg

  • Concept from the Atlas Farnese sculpture at the Naples National Archaeological Museum
  • Modified by Fuchiko toy
  • Cut both legs and arms then reassemble again according to figure design
  • Mainly gloss white color with gloss clear coating

Platform

1608629807578.jpg

  • The shape of platform is also reference to the sculpture
  • Setup by 3cm diameter plastic plate
  • Covered with #400 sandpaper to pretend the raw surface, then coat with #500 gray primer and small amount of flat white color

Death Star Superlaser

1608685206386.jpg

  • Built by 8 x WS2812B
  • (7 or 8?) after reference to many related articles, The Superlaser of Death Star I is surrounded by 8 x lasers while Death Star II is surrounded by 7 and the 8th is located at Center

Death Star Internal

1608685457087.jpg

  • Give some fancy gimmick and just want to give some soft effect, the LED effect is designed to follow with temperature change
  • Cut the core area and use recreated by ball pen transparent parts
  • The thermistor is setup on the topmost area of the Death Star II
  • The core is designed with ability to color change from Red to Blue, which programmed with reference to HK temperature range of 15ºC-30ºC

Outer Shell

1608696214742.jpg

  • Target the outer shell to be attach/detachable and seamless surface as possible, therefore they are cut by panel line and reassemble again

LED

1608694598624.jpg

  • LED distributed internally and major package are SMD 0603 and SMD 0402
  • 0.3mm diameter holes is require for a better view but that take quite much effect to build, several narrow gaps width of ~0.3mm were made. That still look acceptable

Micro Controller

1608694926010.jpg

  • Arduino Pro Mini is used which located in the large space at the front
  • Sound effect is using dfplayer, with addition of thermistor for temperature sensor and infrared component for remote control
  • For the power socket, it is made by copper tube together with plastic tube

Thermistor Circuit

The thermistor circuit is simple connected with a 10K resistor to work, the arduino program would take the following function to retrieve current temperature for further process.

///--------------------------------------------------------

#define ThermistorPin 14 // Thermistor A0

int Vo; float R1 = 10000; float logR2, R2, T, Tc; float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;

float getTemp(){
Vo = analogRead(ThermistorPin);
R2 = R1 * (1023.0 / (float)Vo - 1.0);
logR2 = log(R2);
T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
Tc = T - 273.15;
return Tc; }

///---------------------------------------------------------

IR Circuit

Here a KSM-603LM is used and arduion program is using the IRremote.h library.

///--------------------------------------------------------

#define IR_ReceiverPin 2 //IR Receiver (int0) D2 *
#define KEY_Play XXXX // Play Key of decoded value
#define KEY_Mute XXXX // Mute Key of decoded value

IRrecv IRCommand(IR_ReceiverPin);
decode_results irCommand; uint32_t irCode = 0; //IR Code Received

void setup(){
IRCommand.enableIRIn(); // Start the receiver}

void IRAction(){
//IR Command
if (IRCommand.decode(&irCommand)) {
irCode = irCommand.value;
IRCommand.resume(); // Receive the next value }
switch (irCode) { case KEY_ENTER:{
//.....do something
break;}
irCode=0;

}