Paso 6: Código de Arduino
Antes de que puede controlar la pistola, necesita cargar algún código de ejemplo en su Arduino.
Aquí está algún código de ejemplo que puede utilizar para iniciar el proyecto.
Descargue el archivo o copia y pega el texto en un dibujo nuevo.
int relayOne = 2; Relé conectado al pin digital 2 int relayTwo = 4; Relé conectado al pin digital 4 int relayThree = 6; Relé conectado al pin digital 6 int motionSensorPin = 13; Sensor de movimiento conectado al pin digital 13 int motionSensorState = 0;
void setup() {pinMode (relayOne, salida); / / pone el pin digital 2 como salida pinMode (relayTwo, salida); / / pone el pin digital 4 como salida pinMode (relayThree, salida); / / pone el pin digital 6 como salida pinMode (motionSensorPin, entrada); / / pone el pin digital 13 como entrada Serial.begin(9600);}
void loop() {motionSensorState = digitalRead(motionSensorPin); //read de salida del sensor de movimiento
Si (motionSensorState == HIGH) / / si se detecta movimiento, arma de fuego {digitalWrite (relayTwo, HIGH); / / convierte el segundo relais para disparar la pistola delay(1000); digitalWrite (relayOne, HIGH); / / se enciende el primer relais para girar la torreta delay(150); digitalWrite (relayOne, LOW); / / se convierte el primer relais de delay(500); digitalWrite (relayThree, HIGH); / / enciende el tercer relais a volver la torreta delay(300); digitalWrite (relayThree BAJA); se convierte el tercer relais de delay(500); digitalWrite (relayOne, HIGH); se enciende el primer relais para girar la torreta delay(300); digitalWrite (relayOne, bajo); se convierte el primer relais de delay(500); digitalWrite (relayThree, HIGH); se convierte el tercer relais on para activar la torreta trasera delay(300); digitalWrite (relayThree, bajo); se convierte el tercer relais de delay(500); digitalWrite (relayTwo, bajo); se apaga el segundo relais para dejar de disparar el arma digitalWrite (relayOne, HIGH); se enciende el primer relais para girar la torreta hasta delay(700) de un lado; digitalWrite (relayOne, bajo); se convierte el primer relais de delay(500); digitalWrite (relayThree, HIGH); se convierte el tercer relais on para activar la torreta hacia la delay(425) de la posición de centro; digitalWrite (relayThree, bajo); se convierte el tercer relais de delay(1000); }
Else / / si no ha detectado movimiento, de forma predeterminada a la creación de todos los motores off {digitalWrite (relayOne, LOW); digitalWrite (relayTwo, LOW); digitalWrite (relayThree, LOW);}
}