Halo Battle and Assault Style Toys With Realistic Firing.

PlayOffbeat by

7,839

52

30

Posted

Introduction: Halo Battle and Assault Style Toys With Realistic Firing.

Based on the Halo 3 Battle and Assault weapons, outline 1:1 scaled to what Halopedia determine as the correct dimensions.

Car locking solenoids for sound/vibration, white and yellow phased LEDs for muzzle flash, 36 and 32 rounds ammo counter and realistic rounds per minute.

Further pictures and CCS C source at my web site www.iecd.co.uk/toys

Share

Recommendations

  • Minecraft Challenge 2018

    Minecraft Challenge 2018
  • Sew Warm Contest 2018

    Sew Warm Contest 2018
  • Gluten Free Challenge

    Gluten Free Challenge
user

We have a be nice policy.
Please be positive and constructive.

Tips

Questions

30 Comments

user

Sorry this is an old project, I had a look through my old stuff and I think this should be a working example.

#include<16f883.h>
#use delay (clock=4000000,RESTART_WDT)
#byte PORTC=7
#fuses NOWDT,INTRC_IO, MCLR

long k = 0;

void SSeg(int Count);

#define MUZ1 PIN_A5
#define MUZ2 PIN_A4
#define TORCH PIN_A3
#define LED1 PIN_A2
#define LED2 PIN_A1
#define SOLENOID PIN_B0

#define SSEG1_K PIN_A7
#define SSEG2_K PIN_A6

#define TRIG PIN_B5
#define MAG_IN PIN_B4
#define BOLT_BACK PIN_B3
#define SAFE_ON PIN_B2
#define TORCH_ON PIN_B1


void main(void)

{

int Rounds_Rem = 0, TRIG_LATCH = 0;
long X = 0;
short TRIG_FLAG = 0;

//printf("Halo Assault Rifle V1.1 J.Austin 2008\n\r\n\r\n\r");

//setup_adc(ADC_CLOCK_INTERNAL);
//setup_adc_ports(sAN0|VSS_VREF);

output_low(TORCH);
output_low(MUZ1);
output_low(MUZ2);
output_low(SOLENOID);
output_low(LED1);
portc = 0;



output_low(BOLT_BACK);
output_low(MAG_IN);
output_low(TORCH_ON);
output_low(SAFE_ON);
output_low(TORCH);
output_low(LED1);
output_low(LED2);

Rounds_Rem = 36;
do
{

if(Rounds_Rem == 0 )
{
if(X < 300)
{
SSeg(Rounds_Rem);
delay_ms(50);
X++;
}
else
{

Rounds_Rem = 36;
X = 0;
}
}


if(input(TRIG) && TRIG_FLAG == 0 )
{
TRIG_LATCH = 3;
TRIG_FLAG = 1;
}

if(!input(TRIG) )
{
TRIG_LATCH = 0;
TRIG_FLAG = 0;
}


if( Rounds_Rem > 0 && TRIG_LATCH > 0)
{
Rounds_Rem--;
TRIG_LATCH--;

output_high(MUZ1);
delay_ms(20);
output_high(MUZ2);
delay_ms(20);
output_low(MUZ1);
delay_ms(10);
output_low(MUZ2);

output_high(SOLENOID);
delay_ms(30);
output_low(SOLENOID);

}


if( input(TRIG) ) k = 0; //Batt go into "low usage mode".

k++; //5ms+ prog time for SSeg to return 12000=1min
if( (k > 12000) )
{
delay_ms(500);
portc = 0;
}
else
{

delay_ms(1); //delay plus execution time, of 7 seg off duration
SSeg(Rounds_Rem); //call 7 seg display
output_high(LED2); //turn led off
}



}
while(true);

}



void SSeg(int Count)
{

Int Tens, Units, NumToConv, x=0;
Short F=1;


Tens=Count/10; //Divide count by 10 to get Tens
Units=Count%10; //And find the remainder for the Units



set_tris_c(0);



do
{

++x;
if(F) //F is just a scratch flag here
{

NumToConv = Tens;
Output_low(SSEG1_K); //Turn off "10s" & on "1s"
Output_high(SSEG2_K);
F=0;

}
else
{

NumToConv = Units; //Turn off "1s" & on "10s"
Output_low(SSEG2_K);
Output_high(SSEG1_K);
F=1;

}

switch (NumToConv)
{
case 0:
PORTC=63; //Decimal 63 produces 0 on the 7 seg display
break;

case 1:
PORTC=6;
break;

case 2:
PORTC=91;
break;

case 3:
PORTC=79;
break;

case 4:
PORTC=102;
break;

case 5:
PORTC=109;
break;

case 6:
PORTC=125;
break;

case 7:
PORTC=39;
break;

case 8:
PORTC=127;
break;

case 9:
PORTC=111;
break;

default:
PORTC=128; //Turn "nav" led on
restart_wdt();
}


delay_us(2500); //This delay sets the On time for each Display
portc = 0;
}
while(x<2);

portc = 0;
output_low(SSEG1_K); //Turn off both "10s" & "1s"
output_low(SSEG2_K);


}

I could not access your website. Is there any other website that I can go to for the CCS C source code?

I'm looking to purchase a lazertag system to start a lazertag business,
would you be able to produce or lead me to the guns and equipment I need
that would be safe and certifiable, that would be a cheaper option than
the $600/gun price range that I've seen advertised by the lazertag
manufacturers? email if so at ulrichinvesting@gmail.com

wow please send me the scemitac for this

dude you are so lucky you know how to make all that electric crap

i really want an Electric Energy Sword so bad but im not smart enough XD

and :( :(

hey listen make a engry sword out of clear plastic tubes then just wire up batterys to leds or el wire and thats all

While this is very nice, im a newbie to some of the stuff on the new site, can you edit the text on the page and give a small step by step on what we should be reading and looking at? i cant find material lists or anything

i hve the same scope

It would've been better if you rounded the top of the assault rifle, but none the less, it's still awesome!