By BluejeanJedi
#4876203
First of all, great build! A fun read.
I've done some Cosplay with basic LED work (e.g. Iron Man). But I have never used interconnected lights on a programmed board.
Would you have any recommendations for a starter read on things like the "arduino uno" boards, how they work, or what I need to know for my first electric build (specifically this proton pack).
I appreciate your time and help, thanks! I'm eager to learn, but have no frame of reference and thus not sure how to proceed.
By ehanson44
#4876854
Awesome build! I've just started researching to build my own proton pack. I really appreciate all the info in your posts---you've already answered a lot of my questions!

This is my first cosplay working with wiring and coding for Arduino, so I'm still super green. I saw that you posted a wiring diagram and code for the syncotron lights and the number displays, but I'm trying to figure out how to wire the sounds and the lights for the gun. How did you coordinate the sound and the lights for the gun with the syncotron lights? They seem to be synchronized, but, per your wiring diagram, they're not hooked in with the Neopixels? Any chance you could share wiring diagrams and code? :D Thanks!
User avatar
By MightyAni
#4876893
tommyb345 wrote:Image



Updated handle
Image
Thank you SO much for the sketch and measurements. We have a small lathe and mill here at work and this is absolutely what I needed to make a believable attempt at the thrower.
User avatar
By MightyAni
#4876894
tommyb345 wrote:Completed center of syncotron under the heatsync.

Image
I'm so sorry, but I can't seem to find the .stl file for this disk. Can you link?
User avatar
By MightyAni
#4876898
Yes, I have those files and will be printing them, but I was talking about the outer disk from which the copper wire spirals toward the center, not the inner structure.
By James-Frenshman
#4877712
Thank you very much for sharing all those infos. I will definitely use those infos when I`m starting to build my first. I can`t wait to see what else you gonna do. Keep on that good work
By Ghostbuster0033
#4879694
Dude your work is amazing ! I'm trying to build a reboot proton pack of my own ! How did you do the electric wiring ?? Could you mind give me a list of items and maybe doing a video ??
By Ghostbuster0033
#4879699
tommyb345 wrote:I used these with and ardunio uno
From adafruit.com

NeoPixel 1/4 60 Ring - 5050 RGBW LED w/ Integrated Drivers - Cool White - ~6000K

NeoPixel Jewel - 7 x 5050 RGBW LED w/ Integrated Drivers - Cool White - ~6000K
What did you mean by ardunio uno??
By Ghostbuster0033
#4879725
Do the inner cage circuits actually work for any purpose or is it just for the main looks?
i already bought the neopixel jewel and the neopixel 1/4 60 ring and awaiting on arduino uno R3 to come.
User avatar
By PattyTolen
#4880385
This may be a stupid question, but in the code... whats the trick to turning it all red? Right now I've got it running, but I've got white, blue, red, green, etc... Thanks!
User avatar
By tommyb345
#4880387
Try this code
I ran into the same issue.
See the line below that says:
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_PIXELS, PIN, NEO_GRBW + NEO_KHZ800);
try changing the GRBW to RGBW

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

#define PIN 6
#define NUM_PIXELS 60
// Parameter 1 = number of pixels in strip
// Parameter 2 = Arduino pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_PIXELS, PIN, NEO_GRBW + NEO_KHZ800);

// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across
// pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input
// and minimize distance between Arduino and first pixel. Avoid connecting
// on a live circuit...if you must, connect GND first.

// NOTE
// NUMBER_COMETS x (COMET_LENGTH + COMET_SPACING) must be <= TOTAL_COMET_PIXELS
// The number of pixels in each comet
#define COMET_LENGTH 12
// The number of comets
#define NUMBER_COMETS 3
// The number of pixels between each comet
#define COMET_SPACING 8
// The total number of pixels in the strip dedicated to comets
#define TOTAL_COMET_PIXELS 60

// The direction of the comet 0 or 1
#define COMET_DIRECTION 0
// The max comet brightness
#define MAX_COMET_BRIGHTNESS 255
// The comet speed
#define SPEED 50


byte rgbyRedLevels[NUM_PIXELS];

void InitComet()
{
int iIndex=0;
byte byMasterPos=0;
byte byCometIndex=0;
memset(rgbyRedLevels,0,NUM_PIXELS);


for(byCometIndex = 0; byCometIndex < NUMBER_COMETS; byCometIndex++)
{
#if COMET_DIRECTION
byte byBrightness=0;
#else
byte byBrightness = MAX_COMET_BRIGHTNESS;
#endif
// Dim comet by length
byte byDim = MAX_COMET_BRIGHTNESS / COMET_LENGTH;
for( iIndex = 0 ; iIndex < COMET_LENGTH ; iIndex++)
{
rgbyRedLevels[byMasterPos++] = byBrightness;
#if COMET_DIRECTION
byBrightness += byDim;
#else
byBrightness -= byDim;
#endif
}
byMasterPos += COMET_SPACING;
}
}


void setup() {
// This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
// End of trinket special code

Serial.begin(9600); // open the serial port at 9600 bps:
strip.begin();
strip.show(); // Initialize all pixels to 'off'

InitComet();

}

#if COMET_DIRECTION
void ProcessCometsDir()
{
byte iIndex=0;
byte byLast=0;
byte byDestPixel=0;
byte byOld=0;

byLast= rgbyRedLevels[TOTAL_COMET_PIXELS-1]; // Preserve the contents of the last pixel

for(iIndex =TOTAL_COMET_PIXELS-1 ; iIndex > 0 ; iIndex--)
{
rgbyRedLevels[iIndex] = rgbyRedLevels[iIndex-1];
}
rgbyRedLevels[0]= byLast; // Put what was the last pixel intio the first

for(iIndex =0 ; iIndex <TOTAL_COMET_PIXELS ; iIndex++)
{
strip.setPixelColor(iIndex,rgbyRedLevels[iIndex],0,0 );
}
strip.show();
delay(SPEED);
}
#else
void ProcessCometsDir()
{
byte iIndex=0;
byte byLast=0;
byte byDestPixel=0;
byte byOld=0;

byLast= rgbyRedLevels[0]; // Preserve the contents of the last pixel

for(iIndex =0 ; iIndex < TOTAL_COMET_PIXELS-1 ; iIndex++)
{
rgbyRedLevels[iIndex] = rgbyRedLevels[iIndex+1];
}
rgbyRedLevels[TOTAL_COMET_PIXELS-1]= byLast; // Put what was the last pixel intio the first

for(iIndex =0 ; iIndex <TOTAL_COMET_PIXELS ; iIndex++)
{
strip.setPixelColor(iIndex,rgbyRedLevels[iIndex],0,0 );
}
strip.show();
delay(SPEED);
}
#endif




void loop()
{
ProcessCometsDir();
}
By gregg.nowling
#4883522
tommyb345 wrote:Working on the reboot thrower copper piping.

Image

Image

I'm in awe over sooooo much, but where did you find the copper elbows for the box? I can't seem to find them.

Best,

Gregg

The amount of people participating in the milest[…]

No issue with Spongeface keepalive and TalentCel[…]

After 2 years of this failed Walmart trap conversi[…]

Wanna play Unleashed with me?

I'm ready big man whenever you want let's goooooo.[…]