Skapa din egen Simon Says game med DIY Electro degen och Arduino! (4 / 4 steg)
Steg 4: Starta kodning!
Börja kodning!
Öppna din Arduino programvara och börja en ny skiss. Det första vi måste inkludera är CapSense biblioteket. Gå till skiss > Importera bibliotek > CapacitiveSensor, detta bör lägga till en rad överst i din skiss som säger #include < CapacitiveSensor.h >
Kopiera följande kod i skissen:
#include < Capacitive.Sensor.h >
#define CAP_THRESHOLD 20
#define NUM_OF_SAMPLES 1
CONST int MAX_LEVEL = 100;
int sekvens [MAX_LEVEL];
int your_sequence [MAX_LEVEL];
int nivå = 1;
int hastighet = 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); stänga av autocalibrate på kanal 1 - bara som ett exempel
pinMode (9, OUTPUT);
pinMode (10, OUTPUT);
pinMode (11, OUTPUT);
pinMode (12, OUTPUT); Summern
digitalWrite (9, låg).
digitalWrite (10, låg).
digitalWrite (11, låg).
digitalWrite 12, låg.
}
void loop()
{
om (nivå == 1)
generate_sequence();
om (cs_2_7.capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD || nivå! = 1)
{
show_sequence();
get_sequence();
}
}
void show_sequence()
{
digitalWrite (9, låg).
digitalWrite (10, låg).
digitalWrite (11, låg).
för (int jag = 0; jag < nivå; i ++)
{
digitalWrite (sekvens [i], hög).
Delay(Velocity);
digitalWrite (sekvens [i], låg).
Delay(200);
}
}
void get_sequence()
{
int flagga = 0;
för (int jag = 0; jag < nivå; i ++)
{
flagga = 0;
While(Flag == 0)
{
om (cs_2_4.capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD)
{
digitalWrite (9, hög).
your_sequence [i] = 9.
Flagga = 1;
Delay(200);
om (your_sequence [i]! = sequence[i])
{
wrong_sequence();
hemkomst.
}
digitalWrite (9, låg).
}
om (cs_2_5.capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD)
{
digitalWrite 10, hög.
your_sequence [i] = 10;
Flagga = 1;
Delay(200);
om (your_sequence [i]! = sequence[i])
{
wrong_sequence();
hemkomst.
}
digitalWrite (10, låg).
}
om (cs_2_6.capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD)
{
digitalWrite (11, hög).
your_sequence [i] = 11;
Flagga = 1;
Delay(200);
om (your_sequence [i]! = sequence[i])
{
wrong_sequence();
hemkomst.
}
digitalWrite (11, låg).
}
}
}
right_sequence();
}
void generate_sequence()
{
randomSeed(millis());
för (int jag = 0; jag < MAX_LEVEL; i ++)
{
sekvens [i] = random(9,12);
}
}
void wrong_sequence() //Beep tre gånger
{
för (int jag = 0; jag < 3; i ++)
{
digitalWrite 12, hög.
Delay(250);
digitalWrite 12, låg.
Delay(250);
digitalWrite 12, hög.
Delay(250);
digitalWrite 12, låg.
Delay(250);
digitalWrite 12, hög.
Delay(250);
digitalWrite 12, låg.
Delay(250);
}
Level = 1;
hastighet = 1000;
}
void right_sequence() //One kort pip
{
digitalWrite 12, låg.
Delay(250);
digitalWrite 12, hög.
Delay(250);
digitalWrite 12, låg.
Delay(500);
om (nivå < MAX_LEVEL);
nivå ++;
Velocity-= 50;
}
Ladda upp din skiss och få spela! Att börja trycka din start-knappen. Dina lampor börjar sedan blinka, kopiera dem och varje gång du får en rätt en annan ljus kommer att läggas till sekvensen.
När du har blivit en Simon Says expert försöka lägga till fler knappar på ditt spel eller kanske vissa ljud att åtfölja varje LED och sedan börja tänka upp ditt eget spel med kapacitiv touch knappar!