Airsoft FCU; Solidstate Relay, Hall effect sensor
so wanted take different approach vs mofsets have seen sale.
the idea sector gear (the 1 pulls piston) have 2 magnets on it. 1 pre engagement , on after piston released.
i waiting on parts still figured atleast flesh out code. guys come in. have tried label best can , explain logic. has passed compile check. doesn't mean work. can guys on , correct me wrong or give me green light. did in 6 hours expect broken i'd love if worked.
the idea sector gear (the 1 pulls piston) have 2 magnets on it. 1 pre engagement , on after piston released.
i waiting on parts still figured atleast flesh out code. guys come in. have tried label best can , explain logic. has passed compile check. doesn't mean work. can guys on , correct me wrong or give me green light. did in 6 hours expect broken i'd love if worked.
code: [select]
const int vpin = 5; // input sent in parallel both triggers
const int half_trigger = 1; // reads when trigger in semi, timer cycles , counts pulses hall sensor cycle piston
const int full_trigger = 2; // reads when trigger in full auto, counts hall pulses cycle piston
const int hall_sensor = 3; // gear position sensor count , reset when triggers disengage
const int relay = 4; // activated trigger shut off when trigger released , hall sensor in home position i.e odd number count
int count = 0; // gear located
int burst = 0;
const int battery_life = 0; // reads voltage of battery [batterys label voltage - 5v = x]<== how many volts need burn in resistor [x/.2] <== value in ohms resistor need
void setup() {
pinmode (vpin, high); // trigger presses complete circuit
pinmode (relay, output); //the relay waiting turned on or off
}
void loop() {
int count = (digitalread (hall_sensor) + count); // gear position counted
int voltage = analogread (battery_life); //reads battery voltage , stores "voltage" value
if ( voltage < 341) // checks see if voltage less 33%
{
digitalwrite (vpin, low); // if voltage less 33% trigger turned off
}
if (digitalread (half_trigger == 1) && digitalread (full_trigger == 1)) // checks see if both triggers pressed
{
digitalwrite (relay, high); // relay is switched on
int count = (digitalread (hall_sensor) + count); // gear position counted
if (count % 3 == 0) // checks see if has no remainder
{
digitalwrite (relay, low); // switches relay off
delay (65); // used imitate rate of fire of real steel
}
}
if (digitalread (half_trigger == 1) && digitalread (full_trigger == 0) && burst == 0) // checks see if 1 trigger pressed
{
delay (100); // used trigger releas dosent cause burst mode trigger
if (digitalread (half_trigger == 1) && digitalread (full_trigger == 0) && burst == 0) // double checks see if still pressed
{
digitalwrite (relay, high); // relay is switched on
int count = (digitalread (hall_sensor) + count); // gear position counted
if ( count % 3 == 0 ) // checks see if has no remainder
{
digitalwrite (relay, low); // relay switched off
delay (65); // used imitate rate of fire of real steel
}
if (count >= 9) // burst fire mode check 9 3 full cycles use multiples of 3 each aditional shot want
{
digitalwrite (relay, low); // relay switched off
int burst = 1; // tells chip has fired , more bbs until trigger released
}
}
}
if (digitalread (half_trigger == 0) && digitalread (full_trigger == 0)) // checks see if no triggers pressed
{
digitalwrite (relay, low); // relay is switched off
int count = 0; // gear position reset
int burst = 0; // burst reset
}
}
code: [select]
const int half_trigger = 1; // reads when trigger in semi, timer cycles , counts pulses hall sensor cycle piston
that not code does.
code: [select]
pinmode (vpin, high); // trigger presses complete circuit
the mode of pin input, output, or input_pullup.
code: [select]
int voltage = analogread (battery_life); //reads battery voltage , stores "voltage" value
you call variable smithandwesson. won't make gun. reading analog pin not voltage.
code: [select]
if (digitalread (half_trigger == 1) && digitalread (full_trigger == 1)) // checks see if both triggers pressed
not close. why want read true pins or false pins mystery comment needs explain.
code: [select]
int count = (digitalread (hall_sensor) + count); // gear position counted
you have @ least 3 variables named count. 1 being added one?
code: [select]
int burst = 1; // tells chip has fired , more bbs until trigger released
}
that code doesn't tell chip anything. stores value 1 in memory address associated variable named burst. burst goes out of scope after assignment, so
code: [select]
int burst = 1; // useless waste of time
}
would more accurate comment.
code: [select]
int count = 0; // gear position reset
int burst = 0; // burst reset
wrong , wrong.
Arduino Forum > Using Arduino > Project Guidance > Airsoft FCU; Solidstate Relay, Hall effect sensor
arduino
Comments
Post a Comment