Golpear el bloque (5 / 7 paso)

Paso 5: El Arduino código

/ / Código de Arduino para golpear el bloque
2009: Martin ReeD, Ned quemaduras, Jon Ward, John Kestner
constantes:
const int ledPin = 12; el circuito de solenoide está conectado al pin digital 12
const int knockSensor = 0; el piezoeléctrico es conectado al pin analógico 0
const int umbral = 20; valor de umbral para decidir cuándo el sonido detectado es un golpe o no;
cambiar esto para ajustar la sensibilidad en su propio bloque

int sensorReading = 0; variable para almacenar el valor leído desde el perno del sensor
int ledState = bajo; variable utilizado para st4re el estado del pasado, para cambiar la luz

Hora actual
int current_millis_value = 0;
int previous_millis_value = 0;
int m = 0;
int segundos = 0;
int minutos = 45; configurar manualmente los minutos comienza desde cuando enciende
int horas = 6; programar manualmente las horas comienza desde cuando enciende

Inicializar las Variables de seguimiento de Knock
lastKnock largo = 0;
curKnock largo = 0;
int lastIntensity = 0;
int shouldKnock = 0;
largo knockSpaces [100];

void setup() {}
pinMode (ledPin, salida); declara el ledPin como salida
pinMode (knockSensor, entrada);
Serial.Begin(9600); utilizar el puerto serie
Serial.println ("Bienvenido a la cuadra del reloj Knock!");
}

void loop() {}
Gestionar el tiempo
current_millis_value = millis();
m += current_millis_value - previous_millis_value;
segundos += m / 1000;
m = m % 1000;
minutos segundos += / 60;
segundos = segundos % 60;
horas += minutos / 60;
minutos = minutos % 60;
horas = horas % 24;
previous_millis_value = current_millis_value;

leer el sensor y almacenarlo en la variable sensorReading:
sensorReading = analogRead(knockSensor);

curKnock = millis();

Si la lectura del sensor es mayor que el umbral, lo cuenta como un golpe
Si (sensorReading > = umbral) {}

Si ((curKnock-lastKnock) < 1000) {}
knockSpaces [shouldKnock] = (curKnock - lastKnock);
shouldKnock ++;
}

lastKnock = curKnock;
lastIntensity = sensorReading;

Delay(150); Evite accionar accidentalmente más de una vez

Si no es así, verifique si ha transcurrido ms de 1000 y comenzar a golpear:
} else if ((curKnock-lastKnock) > 1000 & & shouldKnock > = 1) {}

Si (shouldKnock < 5) {}

Golpes de RESET
shouldKnock = 0;
lastKnock = 0;
lastIntensity = 0;

Tocar horas
para (int y = 0; y < horas; y ++) {}
Serial.println ("golpee! (Horas) ");
knockOut(round((max(sensorReading,lastIntensity) / 50) * 18));
retrasar (200 + random(90));
}

Delay(900);

Knock minutos (incrementos de 15 minutos)
para (int y = 0; y < floor(minutes / 15); y ++) {}
Serial.println ("golpee! (Minutos) ");
knockOut(round((max(sensorReading,lastIntensity) / 50) * 18));
retrasar (900 + random(200));
}

} else {}

Golpe hacia atrás
para (int y = 0; y < shouldKnock; y ++) {}
Serial.println ("golpee! (Diversión)! ");
knockOut(0);
retardo ((knockSpaces [y] - 20));
}

Golpes de RESET
shouldKnock = 0;
lastKnock = 0;
lastIntensity = 0;

knockOut(0);

Delay(150); Evite accionar accidentalmente más de una vez
}

Delay(100); Evite accionar accidentalmente más de una vez
}
}

Realizar un golpe
anular el golpe de gracia (int tVolume) {}
ledState = alto;
digitalWrite (ledPin, ledState);
retrasar (20 + random(tVolume)); Aleatorizar intensidad
ledState = bajo;
digitalWrite (ledPin, ledState);
}

Artículos Relacionados

Bloque de la moneda de la vida real

Bloque de la moneda de la vida real

¿te gusta Mario Bros?¿Siempre quiso saber cómo conseguir una moneda por golpear un bloque?O tal vez desea un lugar para guardar sus monedas.Bueno este es el proyecto perfecto para usted!Paso 1: materiales Los principales elementos que necesitas son l
Super Mario Bros pregunta bloque

Super Mario Bros pregunta bloque

'Nota no estoy seguro cómo sería este bloque en realidad. Solo estoy suponiendo que hay ladrillos a los lados, ya que generalmente hay bloques de ladrillo a ambos lados de loAsí que hemos todos (esperemos) jugado el juego original de Super Mario Bros
Escalonados de plantador de la plataforma

Escalonados de plantador de la plataforma

¿No hay espacio en su jardín? Crecer con esta jardinera escalonada.Instructables tiene una enorme colección de proyectos relacionados con la plataforma, y es fácil ver por qué. Como un producto de desecho, las plataformas están a menudo hechas de mad
Sables de luz de LARP peleas menores 20 USD

Sables de luz de LARP peleas menores 20 USD

Como hacer espadas de LARP luchando por unos 20 USD.En este Instructable, I a (intentar) muestra cómo construir un sable de luz muy barato, con el cual usted puede duelo tus amigos o hacer muestra de la gran noche. Sin embargo, esto no será una recet
Tonfa de bricolaje de la pipa del PVC

Tonfa de bricolaje de la pipa del PVC

Ha llegado el verano. Es hora de actividad al aire libre y el deporte. Conmigo es arte marcial. Estoy practicando Karate-do y taekwondo. Mi arma favorita es la tonfa. Puede bloquear y ataque muy eficazmente. Siempre sueño con un par de tonfa y ahora
Cómo lumbeck un libro! (método de enlace de libro)

Cómo lumbeck un libro! (método de enlace de libro)

Bueno, que no puede haber oído de Emil Lumbeck que inventó este método de frío pegado a un libro en 1942, pero que seguramente ya tenido un libro en sus manos que era lumbecked.Este es un método muy rápido para hacer un libro y utilizo a menudo si pa
LEGO caja de electrónica

LEGO caja de electrónica

sabes lo que dicen de los niños y sus juguetes. Mientras que mis juguetes han conseguido un poco más avanzado, yo no puedo sino quieres jugar con mis LEGOs cada ahora y entonces. He querido crear un gabinete de electrónica LEGO para rato y mi último
Macetero de fácil woodpallet

Macetero de fácil woodpallet

perdón por mi inglés y mi falta de experiencia en trabajos en madera. Este es mi primer instructable para que por favor no seas muy duro conmigo. No estoy completamente satisfecho con el resultado pero la idea que quiero compartir se puede diseñar de
Hacer una TV gabinete ajuste su electrónica

Hacer una TV gabinete ajuste su electrónica

este es el único gabinete que podría encontrar mi esposa para que coincida con los otros muebles de nuestra sala de estar. Ella quiere que todos los componentes electrónicos detrás de las puertas en la parte delantera, pero el receptor de DISH es dem
Stow-Away pizarra y portaherramientas magnético

Stow-Away pizarra y portaherramientas magnético

Añadir un deslizamiento, inclinación de la pizarra o una mancha portaherramientas magnético al banco sin acaparando espacio precioso.Paso 1: Cómo funciona, vidhttp://vid18.photobucket.com/albums/B103/klee27x/DSC_1388_zpsfd11701e.mp4Paso 2: Espacio =
__P4__ - neumática proyectil productor

__P4__ - neumática proyectil productor

vieja idea con tal vez algunas torceduras que puedan interesar a otros. Fuimos para una válvula automática (válvula del aspersor 24V barato), un manómetro, una caja de disparo y una plataforma de disparo con ángulo ajustable. La primera imagen es la
Cómo hacer tus propios niveles de mario super

Cómo hacer tus propios niveles de mario super

hacer tus propios niveles es divertido y fácil, también puedes jugar los niveles y guardar con word pad o un programa de la palabraPaso 1: sitios web hay muchas webs con este juego flash, pero se puede simplemente google si no sabes alguno (google: c
Juego las que no es Jenga

Juego las que no es Jenga

Esto es una gran mejora sobre el Jenga, tiene más piezas y tiene tacos!. Este juego es muy rápido y fácil de hacer.  Super es de tamaño y se puede apilar más de 5' de alto. Los mazos añadir a la diversión para los niños y hace más fácil mover las tab
Mouse Trap broma Banco

Mouse Trap broma Banco

Th es un banco pequeño que encontré que vuela aparte cuando pones monedas en él.Paso 1: Base No importa qué tan grande la base sólo mientras el interior es del tamaño adecuado. Centro de la trampa en el medio.Paso 2: lados Los lados del Banco. Los la