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
30 Comments
9 years ago on Introduction
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);
}
9 years ago on Introduction
I could not access your website. Is there any other website that I can go to for the CCS C source code?
9 years ago on Introduction
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
12 years ago on Introduction
wow please send me the scemitac for this
13 years ago on Introduction
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 :( :(
Reply 12 years ago on Introduction
hey listen make a engry sword out of clear plastic tubes then just wire up batterys to leds or el wire and thats all
12 years ago on Introduction
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
13 years ago on Introduction
i hve the same scope
13 years ago on Introduction
It would've been better if you rounded the top of the assault rifle, but none the less, it's still awesome!
13 years ago on Introduction
CAN HAS HAO TO?!?!!?!?!?!
14 years ago on Introduction
a step by step would be apriciated ... i bet you could rig it to work w the covenant lazer tag weapons
Reply 14 years ago on Introduction
I will try and put something together. I am not familiar with the exact equipment of the covenant laser tag, but these systems are generally very simple. You would need to examine the serial data transmitted via the laser. Some time ago I built an experimental "sniper rifle" with scope. It fired an encoded laser at a "target" consisting of rotating photo diodes. The software tried to account for theoretical wind and gravity, of course these did not effect the laser, but we tried to simulate what would be happening to a projectile. I had it working over distances of half a mile. The project returned data over a radiolink.
Reply 14 years ago on Introduction
Frakkin sweet.
Reply 14 years ago on Introduction
What kind of Photo-Diodes dis you use? Do you have schematics? What kind of laser with what kind of power source? Was the "Working distance" the laser, or projectile? Did it actually shoot the diodes? How? -RoAr
Reply 14 years ago on Introduction
I am sorry that was a commercial project, and I can not expand on it here.
Reply 14 years ago on Introduction
The covenent tag system is easy, i modded a few nerf guns to work with them, i just took a few broken parts and some spare IR leds and soldered them to a momentry switch on the trigger =D
Reply 14 years ago on Introduction
covenant as in the aliens from halo
14 years ago on Introduction
Instructable, please.
14 years ago on Introduction
wow thats realy cool :P
14 years ago on Introduction
You should definitely make a how-to.