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.
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

Popular posts from this blog

Flip address is out of range arduino uno r3

Arduino Uno not uploading

Indesign and MathType fonts