Paso 7: Conectar todo
Subir el sketch de Arduino final dado abajo para el Mini Pro uso de desbloqueo o por cable FTDI.
La soldadura de conexiones para el Arduino Mini Pro muy cuidadosamente según el diagrama del circuito.
Sujetar el circuito a base de globo con pequeña cantidad de hoja o cinta.
En este punto el circuito será suficientemente ligero como para ser levantado por el globo o simplemente el peso adecuado para mantenerlo en equilibrio. Si el circuito es demasiado ligero, ajuste con una pequeña cantidad de arcilla.
#include < SoftwareServo.h >
SoftwareServo myservo; crear objeto servo para controlar un servo
Myservo2 de SoftwareServo;
Grupo de int = 0;
int val = 0;
int espera = 0;
int flyFor = 0;
flapTime largo = 0;
angleMin int = 0;
int angleMax = 120;
int upSpeed = 20;
int downSpeed = 1;
int buffer = 0;
Variables sonidas
int potPin = 1; Seleccione la clavija de entrada para el sensor de sonido
int ledPin = 13; selecciona el pin para el LED
int soundVal = 0;
void setup()
{
pinMode (ledPin, salida); declara el ledPin como salida
myservo.Attach(2); se fija el servo en el pin 2
myservo2.Attach(4);
Serial.Begin(9600); abrir el puerto serie a 9600 bps:
}
void loop()
{
Servo
Si (flyFor < flapTime) {}
Si (esperar == 5) {}
Si (val < angleMin) {}
Grupo = 1;
digitalWrite(ledPin,HIGH);
}
else if (val > angleMax) {}
Grupo = 0;
digitalWrite(ledPin,LOW);
}
Si (grupo == 0) {}
Val = upSpeed;
} else {}
Val += downSpeed;
}
}
espera ++;
Si (esperar > 200)
esperar = 0;
myservo.Write(Val);
ajusta la posición del servo según el valor de escala
myservo2.Write(120-Val);
SoftwareServo::refresh();
flyFor ++;
} else {}
Sonido
soundVal = analogRead(potPin);
Serial.println("Listening...");
Si (soundVal > 1020) {}
Serial.println ("FREEAK hacia fuera!");
upSpeed = 15;
downSpeed = 15;
angleMax = 45;
angleMin = 10;
flapTime = 6000;
}
else if (soundVal < 450 || soundVal > 750) {}
Si (buffer == 0) {}
Serial.println(soundVal);
upSpeed = al azar (1, 20); 1 a 30
downSpeed = al azar (1, 30); / / 1 a 30
angleMax = random (110, 120);
angleMin = random (30, 45);
flapTime = 10000 + random (5000, 10000);
flyFor = 0;
buffer = 15;
} else {}
almacenador intermediario;
}
}
}
}