Professional Documents
Culture Documents
Document Fără Titlu
Document Fără Titlu
// pin assignments
const int triggerPin = 2; // the number of the trigger pin
const int firePin = 13; // the number of the fire pin
int adjPin = A3; // the analog adjustment pin
// variables
int buttonState = 0; // variable for reading the triggerPin state
int interval; // variable to set the firing time
unsigned long currentTime; // variable to capture current time (ms)
int adj = 0; // variable to capture fire time adjustment
void setup() {
pinMode(firePin, OUTPUT); // initialize the fire pin as an output:
pinMode(triggerPin, INPUT); // initialize the trigger pin as an input:
}
void loop() {
adj = analogRead(adjPin); // sets adj to integer value
interval = map(adj, 0, 1023, 20, 600); // re-maps values to use in interval
buttonState = digitalRead(triggerPin);
if(buttonState == HIGH)
{
delay(1000); // delay
guarantees a single fire
currentTime = millis();
while(currentTime + interval >= millis()){
digitalWrite(firePin, HIGH); // fires solenoid for time = interval
}
}
digitalWrite(firePin, LOW); // resets firePin to off (0)
}