Paso 4: Iniciar la codificación!
Empezar codificación!
Abra el Arduino Software y empezar un dibujo nuevo. Lo primero que tenemos que incluir es la biblioteca CapSense. Ir a Sketch > Import Library > CapacitiveSensor, esto debería añadir una línea a la parte superior del boceto que dice #include < CapacitiveSensor.h >
Copie el código siguiente en el boceto:
#include < Capacitive.Sensor.h >
#define CAP_THRESHOLD 20
#define NUM_OF_SAMPLES 1
const int MAX_LEVEL = 100;
int secuencia [MAX_LEVEL];
int your_sequence [MAX_LEVEL];
int nivel = 1;
int velocidad = 1000;
CapacitiveSensor cs_2_4 = CapacitiveSensor(2,4);
CapacitiveSensor cs_2_5 = CapacitiveSensor(2,5);
CapacitiveSensor cs_2_6 = CapacitiveSensor(2,6);
CapacitiveSensor cs_2_7 = CapacitiveSensor(2,7);
void setup()
{
cs_2_4.set_CS_AutocaL_Millis(0xFFFFFFFF); Apague la autocalibrate en el canal 1 - apenas como un ejemplo
pinMode (9, salida);
pinMode (10, salida);
pinMode (11, salida);
pinMode (12, salida); Zumbador
digitalWrite (9, bajo);
digitalWrite (10, bajo);
digitalWrite (11, bajo);
digitalWrite (12, bajo);
}
void loop()
{
Si (nivel == 1)
generate_sequence();
Si (cs_2_7.capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD || nivel! = 1)
{
show_sequence();
get_sequence();
}
}
void show_sequence()
{
digitalWrite (9, bajo);
digitalWrite (10, bajo);
digitalWrite (11, bajo);
para (int i = 0; i < nivel; i ++)
{
digitalWrite (secuencia [i], HIGH);
Delay(Velocity);
digitalWrite (secuencia [i], LOW);
Delay(200);
}
}
void get_sequence()
{
int bandera = 0;
para (int i = 0; i < nivel; i ++)
{
Bandera = 0;
while(flag == 0)
{
Si (cs_2_4.capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD)
{
digitalWrite (9, alto);
your_sequence [i] = 9;
bandera = 1;
Delay(200);
Si (your_sequence [i]! = sequence[i])
{
wrong_sequence();
retorno;
}
digitalWrite (9, bajo);
}
Si (cs_2_5.capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD)
{
digitalWrite (10, HIGH);
your_sequence [i] = 10;
bandera = 1;
Delay(200);
Si (your_sequence [i]! = sequence[i])
{
wrong_sequence();
retorno;
}
digitalWrite (10, bajo);
}
Si (cs_2_6.capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD)
{
digitalWrite (11, alto);
your_sequence [i] = 11;
bandera = 1;
Delay(200);
Si (your_sequence [i]! = sequence[i])
{
wrong_sequence();
retorno;
}
digitalWrite (11, bajo);
}
}
}
right_sequence();
}
void generate_sequence()
{
randomSeed(millis());
para (int i = 0; i < MAX_LEVEL; i ++)
{
secuencia [i] = random(9,12);
}
}
void wrong_sequence() //Beep tres veces
{
para (int i = 0; i < 3; i ++)
{
digitalWrite (12, HIGH);
Delay(250);
digitalWrite (12, bajo);
Delay(250);
digitalWrite (12, HIGH);
Delay(250);
digitalWrite (12, bajo);
Delay(250);
digitalWrite (12, HIGH);
Delay(250);
digitalWrite (12, bajo);
Delay(250);
}
nivel = 1;
velocidad = 1000;
}
void right_sequence() //One pitido corto
{
digitalWrite (12, bajo);
Delay(250);
digitalWrite (12, HIGH);
Delay(250);
digitalWrite (12, bajo);
Delay(500);
Si (nivel < MAX_LEVEL);
nivel ++;
velocidad-= 50;
}
Sube tu bosquejo y conseguir jugar! Para comenzar Pulse el botón de inicio. Las luces entonces comenzará a flash, copiarlos y cada vez que te de una derecha otra luz se agregarán a la secuencia.
Una vez que te has convertido en un experto de Simon Says trate de agregar más botones para el juego o tal vez algún sonido para acompañar cada LED, y luego de pensar en tus propios juegos con botones táctil capacitiva!