Paso 4: Añadir el código a tu Arduino usando el programa IDE de Arduino
Utilice el código pegado por debajo, o mejor aún, usar el sketch de Arduino conectado para enviar el codigo a tu Arduino.
No se olvide de ver esta incrustado el video de YouTube, como explico cómo funciona el código en la fabricación de lo que se ve físicamente en ambos el video final y en el bosquejo de la protoboard de Fritzing.
Probador de la batería de Polygonasaurus Rex
Creado por Daniel Rudzik / / este código es de dominio público. No dude en utilizar como usted por favor! =)
#include //This es la biblioteca de servo estándar #include / / necesario incluir la biblioteca de SD //const int chipSelect = 4; #define chipSelect 4 //using digital pin 4 en el arduino nano 328, puede usar otros pines #include / / también necesitan incluir esta librería... #include
Tmrpcm de TMRpcm; crear un objeto para su uso en este servo1 Servo de bosquejo (nuevo código); crear objeto servo para controlar un servo Servo servo2; crear objeto servo para controlar un servo / / doce objetos servo pueden crearse en mayoría tableros int pos = 90; variable para almacenar la posición servo int sensorPin = A0; Seleccione la entrada de pin para el potenciómetro int ledPin = 13; selecciona el pin para el LED int sensorValue = 0; variable para almacenar el valor del sensor int BatteryPin = A5; Seleccione la entrada de pin para el potenciómetro int BatteryValue = 0; variable para almacenar el valor que viene desde el sensor sin firmar largo tiempo = 0; Utiliza para ayudar a almacenar el valor del número
void setup() {digitalWrite (3, bajo); //Displays la luz roja de la RGB Led digitalWrite (2, HIGH); / / mantiene la luz verde RGB de servo1.attach(8); / / conecta el servo en el pin 8 a la servo2.attach(7) de objeto servo; / / conecta el servo en el pin 7 para el servo objeto pinMode (BatteryPin, salida); pinMode (2, salida); //green es pin digital 2 pinMode (3, salida); //red pin digital 3 Serial.begin(9600); //Allows los valores que se muestran en el monitor serie pinMode (9 SALIDA); tmrpcm.speakerPin = 9; 5,6,11 o 46 en Mega, 9 en Uno, Nano, etc. Serial.print ("tarjeta INICIALIZACION SD..."); Asegúrese que el pasador seleccione predeterminado chip es / / salida, incluso si no lo usas: pinMode (10, salida); ver si la tarjeta está presente y puede ser inicializado: if (! SD.begin(chipSelect)) {Serial.println ("tarjeta de fallido, o no presente"); / / no hacer nada más: devolver;} Serial.println ("tarjeta de inicializado."); }
void loop() {BatteryValue = analogRead(BatteryPin); / / lee el valor de la batería AA Serial.println(sensorValue); //Displays los valores de los sensores fotocélula en el Serial Monitor cambian 'sensorValue' a 'BatteryValue' al probar la batería en lugar de luz lectura de fotocélula si (BatteryValue > 100) {/ / valor es mayor que 100 cuando el AA está conectado y tiene poder a la izquierda en él. Debe funcionar con su batería de AA pero si no, cambie el valor de 100 para lo que surja en el monitor serial cuando la batería hace contacto. tmrpcm.Play("a.wav"); Juega el rugido del T-Rex cuando el valor es mayor que 100 y la tarjeta SD está bien. digitalWrite (2, bajo); Se apaga la luz roja de la RGB led digitalWrite (3, alto); Se enciende la luz verde de la RGB led} else {digitalWrite (3, bajo); / / se enciende la luz verde de la RGB led digitalWrite (2, alto);} //Turns en la luz roja de la RGB led sensorValue = analogRead(sensorPin); Detecta el valor de la fotocélula para determinar si se bloquea el luz if (sensorValue > 700) {/ / valor cuando la fotocélula es mayor que 700, está siendo bloqueado por (pos = 90; pos > = 19; pos--) {//Goes de 90 a 19 grados. servo1.write(pos); servo2.write(180-pos); //Simultaneously espejos el otro servo motor para t-rex cráneo abajo} delay(1000); para (pos = 19; pos < = 90; pos ++) / / va de 19 grados a 90 grados {servo1.write(pos); / / Dile servo a la posición en la variable 'pos' servo2.write(180-pos); Dile el servo a la posición en la variable 'pos' delay(15); espera 15ms para el servo a la posición}}}